The formula from Aitken 1977/Langmuir 1984 (based on Naismith's rule for walking times) has been used to estimate the cost parameters of specific slope intervals:
T= [(a)*(Delta S)] + [(b)*(Delta H uphill)] + [(c)*(Delta H moderate downhill)] + [(d)*(Delta H steep downhill)]
where:
T is time of movement in seconds,
Delta S is the distance covered in meters,
Delta H is the altitude difference in meter.
The a, b, c, d parameters take in account movement speed in the different conditions and are linked to:
The lambda parameter of the linear equation combining movement and
friction costs:
total cost = movement time cost + (lambda) * friction costs
must be set in the option section of r.walk.
For a more accurate result, the "knight's move" option can be used (although it is more time consuming). In the diagram below, the center location (O) represents a grid cell from which cumulative distances are calculated. Those neighbours marked with an x are always considered for cumulative cost updates. With the "knight's move" option, the neighbours marked with a K are also considered.
K K K x x x K x O x K x x x K K K
The minimum cumulative costs are computed using Dijkstra's algorithm, that find an optimum solution (for more details see r.cost, that uses the same algorithm).
Once r.walk computes the cumulative cost map as a linear combination of friction cost (from friction map) and the altitude and distance covered (from the digital elevation model), r.drain can be used to find the minimum cost path.
Antony Awaida,
Intelligent Engineering
Systems Laboratory,
M.I.T.
James Westervelt,
U.S.Army Construction Engineering Research Laboratory
Updated for Grass 5
Pierre de Mouveaux (pmx@audiovu.com)
Initial version of r.walk:
Steno Fontanari, 2002
Current version of r.walk:
Franceschetti Simone, Sorrentino Diego, Mussi Fabiano and Pasolli Mattia
Correction by: Fontanari Steno, Napolitano Maurizio and Flor Roberto
In collaboration with: Franchi Matteo, Vaglia Beatrice, Bartucca Luisa, Fava Valentina and Tolotti Mathias, 2004
Updated for Grass 6.1
Roberto Flor and Markus Neteler
Last changed: $Date$