I am trying to solve a variant of the least cost path analysis problem (http://pro.arcgis.com/en/pro-app/tool-reference/spatial-analyst/creating-the-least-cost-path.htm) where instead of finding the shortest path between two points based on some cost surface, I want to find the area from which a resource can be extracted based on some cost surface. e.g. imagine a few cities in a region with demand for wood from nearby forests. each city will cut down trees starting with those closest to them.

Is there a way to model this in a GIS context?

  • I've assumed from the documentation that you linked to that you are using ArcGIS Pro to try to do this. – PolyGeo Jul 30 '18 at 6:12
  • 1
    @PolyGeo yes but i am open to anything in python / qgis / arcgis really – user1186 Jul 30 '18 at 6:24
  • 1
    There's nothing stopping you from asking about one of them in each of separate questions, or if no ArcGIS Pro answers emerge then you can always edit this question to focus it on one of the others instead. – PolyGeo Jul 30 '18 at 6:58
  • @user1186 i am not entirely sure what you're asking for - could you either elaborate or give some kind of visual example? As far as i understand, you are trying to give values to forests, based on their ressource potential, or am i misunderstanding? – Jonas Aug 2 '18 at 11:19
  • This is standard allocation problem, the simplest being euclidean. Perhaps replace it by distance by roads. – FelixIP Aug 3 '18 at 3:46

It sounds like you are talking about a spatial optimization problem that will involve several cost surfaces together. In your example, the surfaces might be:

  1. Distance from population centers (or another accessibility proxy)
  2. Resource abundance
  3. Parks or protected areas

You will want to solve for areas that maximize the values of your criteria of interest, in this case resource abundance and proximity to cities. You will likely want to place different weights on these values: for example, people from the cities may be willing to travel further if they had better wood in a more distant area. Therefore, solving will not only depend on the cost surfaces, but their relative weights, and additional parameters such as total area of harvest.

To my knowledge, ArcGIS Pro does not have the functionality to do this, though you might be able to script it. Instead, however, you should use one of the methods already available to solve such a problem. I recommend you look into Marxan, which is a free software that uses simulated annealing to find spatially optimized reserve design. While it is highly used in conservation planning (it was originally designed to create marine reserves), it can be used to find a globally optimal solution for any set of spatially explicit criteria. It also allows you to constrain the solution using cost parameters, edge parameters, and others. It also integrates well with R.

Marxan has an enormous amount of published literature behind it. If you are in an academic setting, you can likely find training through your institution. There is also ample free documentation.


I used standard Cost Allocation tool with elevation being a cost surface to get this:

enter image description here

If they travel by foot, use method described here.

  • are the forests points in your example? – user1186 Aug 3 '18 at 4:18
  • It doesn't matter, they can be polygons. Same applies to villages. ArcGis rasterise them. – FelixIP Aug 3 '18 at 4:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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