[GRASS-SVN] r65411 - grass/branches/releasebranch_6_4/raster/r.walk

svn_grass at osgeo.org svn_grass at osgeo.org
Sun Jun 7 14:32:30 PDT 2015


Author: annakrat
Date: 2015-06-07 14:32:30 -0700 (Sun, 07 Jun 2015)
New Revision: 65411

Modified:
   grass/branches/releasebranch_6_4/raster/r.walk/description.html
Log:
r.walk: backport relevant documentation from grass7

Modified: grass/branches/releasebranch_6_4/raster/r.walk/description.html
===================================================================
--- grass/branches/releasebranch_6_4/raster/r.walk/description.html	2015-06-07 20:33:39 UTC (rev 65410)
+++ grass/branches/releasebranch_6_4/raster/r.walk/description.html	2015-06-07 21:32:30 UTC (rev 65411)
@@ -7,7 +7,7 @@
 
 <p>
 <em>r.walk</em> outputs 1) a raster map showing the lowest
-cumulative cost of moving between each cell and the user-specified
+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 
 <a href="#move">Movement Direction</a>). It uses an input elevation 
@@ -29,14 +29,14 @@
 specific slope intervals:
 
 <div class="code"><pre>
-T= [(a)*(Delta S)] + [(b)*(Delta H uphill)] + [(c)*(Delta H moderate downhill)] + [(d)*(Delta H steep downhill)]
+T = a*delta_S + b*delta_H_uphill + c*delta_H_moderate_downhill + d*delta_H_steep_downhill
 </pre></div>
 
 where:
 <ul>
   <li><tt>T</tt> is time of movement in seconds,</li>
-  <li><tt>Delta S</tt> is the distance covered in meters,</li>
-  <li><tt>Delta H</tt> is the altitude difference in meter.</li>
+  <li><tt>delta S</tt> is the horizontal distance covered in meters,</li>
+  <li><tt>delta H</tt> is the altitude difference in meters.</li>
 </ul>
 
 <p>
@@ -44,10 +44,13 @@
 movement speed in the different conditions and are linked to:
 
 <ul>
-  <li>a: underfoot condition (a=1/walking_speed)</li>
-  <li>b: underfoot condition and cost associated to movement uphill</li>
-  <li>c: underfoot condition and cost associated to movement moderate downhill</li>
-  <li>d: underfoot condition and cost associated to movement steep downhill</li>
+  <li>a: time in seconds it takes to walk for 1 meter a flat surface (1/walking speed)</li>
+  <li>b: additional walking time in seconds, per meter of elevation gain
+      on uphill slopes</li>
+  <li>c: additional walking time in seconds, per meter of elevation loss
+      on moderate downhill slopes (use positive value for decreasing cost)</li>
+  <li>d: additional walking time in seconds, per meter of elevation loss
+      on steep downhill slopes (use negative value for increasing cost)</li>
 </ul>
 
 It has been proved that moving downhill is favourable up to a specific
@@ -59,12 +62,14 @@
 Langmuir (0.72, 6.0, 1.9998, -1.9998), based on man walking effort in
 standard conditions.
 
-<p>The <b>lambda</b> parameter of the linear equation
-combining movement and friction costs:<br>
+<p>The <b>friction</b> cost parameter represents a time penalty in seconds
+of additional walking time to cross 1 meter distance.
+<p>The <b>lambda</b> parameter is a dimensionless scaling factor of the friction cost:
+
 <div class="code"><pre>
-total cost = movement time cost + (lambda) * friction costs
+total cost = movement time cost + lambda * friction costs * delta_S
 </pre></div>
-must be set in the option section of <em>r.walk</em>.
+
 <p>
 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
@@ -81,15 +86,13 @@
   K   K
 </pre></div>
 
-<p>
-The minimum cumulative costs are computed using Dijkstra's
+<p>The minimum cumulative costs are computed using Dijkstra's
 algorithm, that find an optimum solution (for more details see
 <em>r.cost</em>, that uses the same algorithm).
 
 <a name="move"></a>
 <h2>Movement Direction</h2>
-<p>
-The movement direction surface is created to record the sequence of
+<p>The movement direction surface is created to record the sequence of
 movements that created the cost accumulation surface. Without it 
 <em>r.drain</em> would not correctly create a path from an end point 
 back to the start point. The direction shown in each cell points <b>away</b> 
@@ -113,7 +116,29 @@
 and the movement direction raster map when running r.drain to ensure
 the path is computed according to the proper movement directions.
 
+<h2>EXAMPLES</h2>
+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.
+<div class="code"><pre>
+g.region swwake_30m -p
 
+# create friction map based on land cover
+r.recode landclass96 out=friction << 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 \
+    coordinate=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
+</pre></div>
+
 <h2>REFERENCES</h2>
 
 <ul>



More information about the grass-commit mailing list