dwww Home | Manual pages | Find package

r.walk(1grass)              GRASS GIS User's Manual             r.walk(1grass)

NAME
       r.walk   - Creates a raster map showing the anisotropic cumulative cost
       of moving between different geographic locations on an input raster map
       whose cell category values represent cost.

KEYWORDS
       raster, cost surface, cumulative costs, cost allocation

SYNOPSIS
       r.walk
       r.walk --help
       r.walk [-knrib] elevation=name friction=name output=name  [solver=name]
       [nearest=name]            [outdir=name]             [start_points=name]
       [stop_points=name]          [start_raster=name]          [start_coordi-
       nates=east,north[,east,north,...]]                        [stop_coordi-
       nates=east,north[,east,north,...]]                     [max_cost=value]
       [null_cost=value]    [memory=memory   in   MB]     [walk_coeff=a,b,c,d]
       [lambda=float]      [slope_factor=float]      [--overwrite]    [--help]
       [--verbose]  [--quiet]  [--ui]

   Flags:
       -k
           Use the ’Knight’s move’; slower, but more accurate

       -n
           Keep null values in output raster map

       -r
           Start with values in raster map

       -i
           Print info about disk space and memory requirements and exit

       -b
           Create bitmask encoded directions

       --overwrite
           Allow output files to overwrite existing files

       --help
           Print usage summary

       --verbose
           Verbose module output

       --quiet
           Quiet module output

       --ui
           Force launching GUI dialog

   Parameters:
       elevation=name [required]
           Name of input elevation raster map

       friction=name [required]
           Name of input raster map containing friction costs

       output=name [required]
           Name for output raster map to contain walking costs

       solver=name
           Name of input raster map solving equal costs
           Helper variable to pick a direction if two  directions  have  equal
           cumulative costs (smaller is better)

       nearest=name
           Name for output raster map with nearest start point

       outdir=name
           Name for output raster map to contain movement directions

       start_points=name
           Name of starting vector points map
           Or data source for direct OGR access

       stop_points=name
           Name of stopping vector points map
           Or data source for direct OGR access

       start_raster=name
           Name of starting raster points map

       start_coordinates=east,north[,east,north,...]
           Coordinates of starting point(s) (E,N)

       stop_coordinates=east,north[,east,north,...]
           Coordinates of stopping point(s) (E,N)

       max_cost=value
           Maximum cumulative cost
           Default: 0

       null_cost=value
           Cost assigned to null cells. By default, null cells are excluded

       memory=memory in MB
           Maximum memory to be used (in MB)
           Cache size for raster rows
           Default: 300

       walk_coeff=a,b,c,d
           Coefficients for walking energy formula parameters a,b,c,d
           Default: 0.72,6.0,1.9998,-1.9998

       lambda=float
           Lambda coefficients for combining walking energy and friction cost
           Default: 1.0

       slope_factor=float
           Slope factor determines travel energy cost per height step
           Default: -0.2125

DESCRIPTION
       r.walk computes anisotropic cumulative cost of moving between different
       geographic locations on an input elevation raster map whose cell  cate-
       gory values represent elevation combined with an input raster map layer
       whose cell values represent friction cost.

       r.walk outputs 1) a raster  map  showing  the  lowest  cumulative  cost
       (time)  of  moving  between  each  cell and the user-specified starting
       points and 2) a second raster map showing the movement direction to the
       next cell on the path back to the start point (see Movement Direction).
       It uses an input elevation raster map whose cell category values repre-
       sent elevation, combined with a second input raster map whose cell val-
       ues represent friction costs.

       This function is similar to r.cost, but in addition to a friction  map,
       it  considers  an  anisotropic travel time due to the different walking
       speed associated with downhill and uphill movements.

NOTES
       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 horizontal distance covered in meters,

           •   delta H is the altitude difference in meters.

       The a, b, c, d walk_coeff parameters take in account movement speed  in
       the different conditions and are linked to:

           •   a:  time in seconds it takes to walk for 1 meter a flat surface
               (1/walking speed)

           •   b: additional walking time in seconds, per meter  of  elevation
               gain on uphill slopes

           •   c:  additional  walking time in seconds, per meter of elevation
               loss on moderate downhill slopes (use positive  value  for  de-
               creasing cost)

           •   d:  additional  walking time in seconds, per meter of elevation
               loss on steep downhill slopes (use negative value for  increas-
               ing cost)
       It  has been proved that moving downhill is favourable up to a specific
       slope value threshold, after that it becomes unfavourable. The  default
       slope  value  threshold  (slope_factor)  is  -0.2125,  corresponding to
       tan(-12), calibrated on human behaviour (>5 and <12  degrees:  moderate
       downhill; >12 degrees: steep downhill). The default values for a, b, c,
       d walk_coeff parameters are those  proposed  by  Langmuir  (0.72,  6.0,
       1.9998, -1.9998), based on man walking effort in standard conditions.

       The friction cost parameter represents a time penalty in seconds of ad-
       ditional walking time to cross 1 meter distance.

       The lambda parameter is a dimensionless scaling factor of the  friction
       cost:
       total cost = movement time cost + lambda * friction costs * delta_S

       For a more accurate result, the "knight’s move" option can be used (al-
       though it is more time consuming). In the diagram below, the center lo-
       cation  (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 neigh-
       bours 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).

Movement Direction
       The movement direction surface is created to  record  the  sequence  of
       movements that created the cost accumulation surface. This movement di-
       rection surface can be used by r.path to recover a  path  from  an  end
       point  back  to the start point.  The direction of each cell points to-
       wards the next cell.  The directions are recorded as degrees  CCW  from
       East:
              112.5      67.5         i.e. a cell with the value 135
       157.5  135   90   45   22.5    means the next cell is to the north-west
              180   x   360
       202.5  225  270  315  337.5
              247.5     292.5

       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), the associated movement direction
       map can be used by r.path to find the minimum cost path.

       r.walk, like most all GRASS raster programs, is also made to be run  on
       maps larger that can fit in available computer memory. As the algorithm
       works through the dynamic list of cells it  can  move  almost  randomly
       around the entire area. r.walk divides the entire area into a number of
       pieces and swaps these pieces in and out of memory (to and  from  disk)
       as  needed.  This provides a virtual memory approach optimally designed
       for 2-D raster maps. The amount of memory to be used by r.walk  can  be
       controlled  with the memory option, default is 300 MB. For systems with
       less memory this value will have to be set to a lower value.

EXAMPLES
       We compute a map showing how far a lost person could get from the point
       where  he or she was last seen while taking into account the topography
       and landcover.
       g.region swwake_30m -p
       # create friction map based on land cover
       r.recode landclass96 out=friction rules=- << EOF
       1:3:0.1:0.1
       4:5:10.:10.
       6:6:1000.0:1000.0
       7:7:0.3:0.3
       EOF
       r.walk -k elevation=elev_ned_30m friction=friction output=walkcost \
           start_coordinates=635576,216485 lambda=0.5 max=10000
       # compute contours on the cost surface to better understand
       # how far the person can get in certain time (1000 is in seconds)
       r.contour walkcost output=walkcost step=1000

REFERENCES
           •   Aitken, R. 1977.  Wilderness  areas  in  Scotland.  Unpublished
               Ph.D. thesis.  University of Aberdeen.

           •   Steno  Fontanari,  University  of Trento, Italy, Ingegneria per
               l’Ambiente e il Territorio, 2000-2001.  Svilluppo di  metodolo-
               gie  GIS  per la determinazione dell’accessibilità territoriale
               come supporto alle decisioni nella gestione ambientale.

           •   Langmuir, E. 1984. Mountaincraft and leadership.  The  Scottish
               Sports Council/MLTB. Cordee, Leicester.

SEE ALSO
        r.cost, r.path, r.in.ascii, r.mapcalc, r.recode, r.out.ascii

AUTHORS
       Based on r.cost written by :
       Antony Awaida, Intelligent Engineering, Systems Laboratory, M.I.T.
       James Westervelt, U.S.Army Construction Engineering Research Laboratory
       Updated for Grass 5 by 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 Mat-
       tia
       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

       Updated for GRASS GIS 7:
       Markus Metz
       Multiple path directions sponsored by mundialis

SOURCE CODE
       Available at: r.walk source code (history)

       Accessed: unknown

       Main  index  | Raster index | Topics index | Keywords index | Graphical
       index | Full index

       © 2003-2022 GRASS Development Team, GRASS GIS 7.8.7 Reference Manual

GRASS 7.8.7                                                     r.walk(1grass)

Generated by dwww version 1.14 on Sun Dec 29 18:56:55 CET 2024.