Friction and least-cost paths

Friction and least-cost paths

Euclidean distance in a GIS is the measure of a straight-line distance from pt A to B and is pretty simple.


But a grid-path distance is a different matter altogether. Movement occurs from cell to cell. Following a raindrop down a slope and into a river, you’re not calculating distance as the crow flies, but in increments of one grid cell at a time, either N-S, E-W or diagonally.

Here we can see that the use of the topography as an indication of flow direction allows us to not only follow the path down slope, but we can calculate the grid-path distance as well (see the “trace downstream” tool on the Analysis Toolbar).


Grid-path distance on a non-topographic surface

Suppose that movement can occur across a surface, but it occurs in response to other elements besides distance alone. Movement will be greatest where resistance or “friction” is least. This is a good description for movement of groundwater, but might also be used for disease, where resistance is inversely related to health or population density, or for animal migration where friction is a combination of factors including food, predators, climate, and topography. Movement is in inverse proportion to the “cost” of moving in any direction, and we can think of the most likely pattern of movement as being the “least-cost path.” Resistance is used to define a “cost surface” where movement is perpendicular to contours of cost, like water moving downhill perpendicular to contours.

The “friction” datasets in our week 7 demo folder on box shows some of these features. 

    1. Define the cost of moving across the surface on a per cell basis. This is known as a “friction” layer or theme. The “cost” in question really is arbitrary; for instance, I defined moving on paved road as a cost of 1,  moving on dirt road as a cost of 5 (5 times slower) and moving over areas with no road as a cost of 10 (10 times slower than paved road, twice as slow as dirt road). Likewise, you ccan define costs by slope (steeper terrain harder to climb), and then multiply the slope-cost & road-cost layers together, to get a holistic (but arbitrary) raster that represents friction across a surface, as a function of both road quality and steepness.

      In a different example above, the “barrier” is 10 times more costly to movement (10 times the friction) than the background.
    2. Establish the cost surface by calculating the accumulated cost of moving from the midpoint of one cell to the midpoint of the adjacent or diagonal cell
      and in that way produce a “cost surface” using the Reclassify by table tool
    3. Let’s. imagine we want to know the most efficient path, and path length, to get from homes in a mountainous area to groundwater wells (maybe we want this info to build new piping infrastructure). Note: this example comes from Hans van der Kwast.

      Screenshot
    4. Now a least cost path can be made from any point (or multiple points) on the surface to the drain point on the cost surface.use the “Least Cost Path” plugin (see here)

      Screenshot
    5.  The resulting network looks like this (going from houses in an area to wells, over terrain and usig roads as acost surface):

      Least cost path color coded by cost distance. Despite being closer as the crow flies, some houses in the mountains have much higher costs than houses further away, becasue they have to travel over (1) steeper terrain; (2) less well developed roads. 

Where would you go on a hike in our topography?

If you used slope as “friction” (or squared, or cubed it), where would your “least-cost path” be from one point on a map to the next through this topography? What if you are finding a path for an animal that avoided south-facing slopes?


Lastly, how can we use this “friction” idea in a different way.

Go back to the discussion of buffers.  Can we make a rubber ruler in a different way?
Imagine: How far could an exotic species migrate from roads (originally carried under bumpers)?. Suppose it is a function of landuse.  It migrates five times as far or fast in the woods as in a pasture, and twice as far in a pasture as in developed land. We can reclass the land use grid to get this friction map for migration
20=urban & other
5=ag
1=woods

Next, executing the tool to generate the cost surface to the roads (or “from” them) using the friction above gives us

Notice how the increasing cost (which is a “distance” away) from the road now varies depending on whether the friction is high, or low moving out from the road.

This is another example of a dynamically-scaled buffer (aka, a “rubber ruler”) using friction concepts.