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 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.


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.


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.