I'm a new to GIS and I'm trying to develop an optimal path across an area by using GRASS 7 features.

It is very similar to the task given here.

The problem is that I don't have any data with elevation points and cost surface for this area.

How can I create a raster with the cells showing low-high travel costs and how can I set an elevation points?

  • first describe the 'area' you're trying to develop an optimum path across... is it sidewalks? roads? bike lanes? lowest elevation? lowest slope? Aug 5, 2015 at 21:46
  • It's a lake. So I don't have anything like road network or etc. All I need is to set a high-cost area alongside the coastline (I guess).
    – AdamJ
    Aug 6, 2015 at 0:39
  • Just to clarify the subject. I need to develop an optimal path (accordind to minimum length) through the lake between two points. The one main condition is that path can't lay too close to the coastline.
    – AdamJ
    Aug 6, 2015 at 13:28
  • So you would start out with a polygon for the lake? A cost surface for the lake and the coastline would involve creating two rasters - 1 for the lake and the values would all be low (1), and the outline of the lake converted to raster, given a high cost (10), then merged with the lake raster. Now you have a single raster or cost surface that you can use for point to point cost path calculations. Routes would avoid the coastline (high cost), but otherwise would pretty much go in a straight line between the two points. Does that sound like where you want to go with this? Aug 6, 2015 at 15:22
  • Exactly! Thank you very much! Was thinking about something like that but wasn't sure. Just one more question. So, I need to create new polygon for outline of the lake (for example) > go to attribute table manager > add column with '10' value > then convert to raster using this column as source for values > merge with other layers. Did I get it right?
    – AdamJ
    Aug 6, 2015 at 16:20

1 Answer 1


How I solved my problem:

  1. Firstly, vectors of required 'cost areas' were created (was trying to do it in GRASS but it's too painful - ended up in QGIS).
  2. Then I set appropriate cost values for each of such 'cost area' vectors (by this point I was already working in GRASS; we set cost values by adding new column in the attribute table of each vector then fill it with appropriate values [low(1)-high(10)]).
  3. Convert each vector layer to raster using created column with given cost values as a source for raster values.
  4. Merge received raster layers.
    • just to be sure that everything is OK with raster values I made a reclassification (r.reclass module).

After all, it is pretty easy to create a simple cost surface.

This now works perfectly in my project with help from mapBaker.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.