[GRASS-SVN] r59610 - grass/branches/releasebranch_7_0/raster/r.stream.distance
svn_grass at osgeo.org
svn_grass at osgeo.org
Sun Apr 6 07:48:52 PDT 2014
Author: madi
Date: 2014-04-06 07:48:52 -0700 (Sun, 06 Apr 2014)
New Revision: 59610
Modified:
grass/branches/releasebranch_7_0/raster/r.stream.distance/r.stream.distance.html
Log:
improved readability of documentation
Modified: grass/branches/releasebranch_7_0/raster/r.stream.distance/r.stream.distance.html
===================================================================
--- grass/branches/releasebranch_7_0/raster/r.stream.distance/r.stream.distance.html 2014-04-06 14:26:58 UTC (rev 59609)
+++ grass/branches/releasebranch_7_0/raster/r.stream.distance/r.stream.distance.html 2014-04-06 14:48:52 UTC (rev 59610)
@@ -1,127 +1,166 @@
<h2>DESCRIPTION</h2>
+
<p>
-Module <em>r.stream.distance</em> may calculate distance using two methods: downstream
-and upstream.
+The module <em>r.stream.distance</em> can calculate: the distance to streams;
+the distance to outlet; the relative elevation above streams; the relative
+elevation above the outlet. The distance and the elevation are calculated
+along watercourses.
+
<p>
-The default is downstream method when it calculates distance to streams and
-outlets and relative elevation to streams and outlets. The distance and
-elevation is calculated along watercourses. In outlets mode it can also
-calculate parameters for subbasins.
+The module may calculate the distance either <em>downstream</em> or
+<em>upstream</em>. The default is set on downstream.
+The upstream method calculates the distance to the local maximum or divide.
+Opposite to downstream method, where every cell has one and only one downstream
+cell, in upstream method every cell has usually more than one upstream cell. So
+it is impossible to determine interchangeable path from any cell.
+
<p>
-In streams mode (default) it calculates that parameters downstream to streams
-which are added as stream mask. In outlets mode there are some additional
-possibilities. If subbasin is off it calculate parameters only for last point of
-last (downstream) CELL. In subbasin mode it calculates parameters for every
-subbasin separately. Subbasin mode acts similar to subbasin mask. Streams file
-prepared to create basins and subbasins with <em>r.stream.basins</em> can be used to
-calculate distance and elevation parameters.
+The upstream method offers two alternative modes switched with <em>-n</em>
+flag: the <em>nearest local maximum/divide</em>: is the shortest path to
+the local maximum (default option); and the <em>farthest maximum/divide</em>:
+is the longest path.
+In hydrological sense, the <em>nearest</em> option means the shortest path which a
+particle of water must run from the divide to reach a particular pixel,
+while the <em>farthest</em> option means the possible longest path.
+
<p>
-With upstream method it calculates distance to the local maximum or divide.
-Opposite to downstream method, where every cell has one and only one downstream
-cell in upstream method every cell has usually more than one upstream cell. So
-it is impossible to determine interchangeable path from any cell. The upstream
-method offers two alternative modes switched with -n flag: nearest local
-maximum/divide: means the shortest path to local maximum and default option
-farthest maximum/divide means the longest path. In hydrological sense, nearest
-mode means the shortest path which a particle of water must run from divide to
-reach particular cell, while farthest mode means the possible longest path.
+In <em>outlets</em> mode, the module can optionally be used for subbasins.
+<p>
+In <em>streams</em> mode (default) it calculates the distance (downstream)
+to the stream network taken in input. In <em>outlets</em> mode there are
+some additional possibilities. If the <em>subbasin</em> option is set off,
+it calculates the distance only for the outlet (downstream).
+If the <em>subbasin</em> option is set on, it calculates the distance to
+outlet for every subbasin separately. The <em>subbasin</em> option acts
+similarly to a subbasin mask. The module <em>r.stream.basins</em> can be
+used to prepare the stream network map taken in input by <em>r.stream.distance</em>.
+In fact it can be used to individuate basins and subbasins.
+
+<p>
+
<h2>OPTIONS</h2>
<dl>
<dt><b>-o</b></dt>
-<dd>Outlets. Downstream method only. Calculate distance and relative elevation
-to basin outlets instead of streams. It chooses only last outlets in the network
-ignoring nodes.</dd>
+<dd>Outlets. Downstream method only. Calculate distance to or elevation
+above the outlet instead of streams. It chooses only the last outlet in
+the network ignoring nodes.</dd>
<dt><b>-s</b></dt>
-<dd>Subbasins. Downstream method only. Calculate distance and elevation to
-stream nodes instead of streams. It creates distance and elevation parameters not
-for whole basins but for all elementary subbasins.</dd>
+<dd>Subbasins. Downstream method only. Calculate distance to or elevation
+above stream nodes instead of streams. The distance and the elevation
+difference are relative to elementary subbasins instead of the whole basin.</dd>
<dt><b>-n</b></dt>
-<dd>Near. For upstream method only. Calculate distance and elevation to the
-nearest local maximum/divide. With the default option distance/elevation is
-calculated to the farthest possible maximum/divide.</dd>
+<dd>Near. For upstream method only. Calculate distance to or elevation
+above the nearest local maximum/divide. With the default option, the
+distance/elevation is calculated to the farthest possible maximum/divide.</dd>
<dt><b>stream_rast</b></dt>
-<dd>Stream network: name of input stream map on which ordering will be performed,
-produced by <em>r.watershed</em> or <em>r.stream.extract</em>. Because streams
-network produced by <em>r.watershed</em> and <em>r.stream.extract</em> may
-slighty differ in detail it is required to use both stream and direction map
+<dd>Stream network: name of input stream network map, produced using either
+<em>r.watershed</em> or <em>r.stream.extract</em>. Since stream
+network maps produced by <em>r.watershed</em> and <em>r.stream.extract</em> may
+slightly differ in detail, it is required to use both stream and direction maps
produced by the same module. Non-stream cell values must be set to NULL.</dd>
<dt><b>direction</b></dt>
-<dd>Flow direction: name of input direction map produced by r.watershed or
-<em>r.stream.extract</em>. If <em>r.stream.extract</em> output map is used,
-it only has non-NULL values in places where streams occur. NULL (nodata) cells
-are ignored, zero and negative values are valid direction data if they vary
-from -8 to 8 (CCW from East in steps of 45 degrees). Direction map shall be of
-integer type (CELL). Region
-resolution and map resoultion must be the same. Also <em>stream_rast</em> network map
-must have the same resolution. It is checked by default. If resolutions differ,
-the module informs about it and stops. Region boundary and maps boundary may
-differ but it may lead to unexpected results.</dd>
+<dd>Flow direction: name of input input raster map with flow direction,
+produced using either <em>r.watershed</em> or <em>r.stream.extract</em>.
+If <em>r.stream.extract</em> output map is used, it is non-NULL only
+where streams occur and NULL elsewhere. NULL (nodata) cells are ignored,
+zero and negative values are valid direction data only if they vary
+from -8 to 8 (CCW from East in steps of 45 degrees). Flow direction map
+shall be of integer type (CELL). </dd>
<dt><b>elevation</b></dt>
-<dd>Elevation: name of input elevation map. Map can be of type CELL, FCELL or
-DCELL. It is not restricted to resolution of region settings as stream and
-direction.</dd>
+<dd>Elevation: name of input elevation map. It can be of type CELL, FCELL or
+DCELL. </dd>
<dt><b>method</b></dt>
-<dd>It is possible to calculate distance with two method: <b>downstream</b> from
-any raster cell to the nearest stream cell/ junction cell or outlet or
+<dd>It is possible to calculate the distance with two method: <b>downstream</b> from
+any raster cell to the nearest stream cell / junction cell or outlet or
<b>upstream</b> from any cell upstream to the nearest maximum or divide.</dd>
-</dl>
-<h2>OUTPUTS</h2>
-<dl>
<dt><b>difference</b></dt>
-<dd>Returns elevation difference to the targer (outlet, node, stream, divide,
-maximum) along watercoures. The map is of FCELL type.</dd>
+<dd>Name of output map of elevation difference to the targer (outlet, node,
+stream, divide, maximum) along watercoures. The map is of FCELL type.</dd>
+
<dt><b>distance</b></dt>
-<dd>Returns distance to the targer (outlet, node, stream, divide, maximum) along
-watercoures. The map is of FCELL type.</dd>
+<dd>Name of output map of distance to the targer (outlet, node, stream,
+divide, maximum) along watercoures. The map is of FCELL type.</dd>
</dl>
<h2>NOTES</h2>
+
+<!--
<p>
If there are more than one point or one stream network and some separate points
-or separate streams networks are in catchment area defined by others it will
-results as in subbasin mode. In stream mode subbasin options is omited. Input
-maps must be in CELL format (default output of <em>r.watershed</em>, <em>r.stream.order</em> and
-<em>r.stream.extract</em>).
-The distance are calculated in meters both for planimeters and
-Latitude-Longitude projections. The distance is calculated for flat areas not
-corrected by topography. Distance correction by topography may be done with
+or separate stream networks are in catchment area defined by others it will
+results as in subbasin mode.
+-->
+<!--TODO: I don't understand this sentence, to be rephrased-->
+
+<p>
+In <em>stream</em> mode subbasin options is omitted. Input maps must be in
+CELL format (default output of <em>r.watershed</em>, <em>r.stream.order</em>
+and <em>r.stream.extract</em>).
+The distance is calculated in meters, for flat areas not corrected by
+topography. Distance correction by topography may be done using the
following <em>r.mapcalc</em> formula:
+
<div class="code"><pre>
-r.mapcalc "dist_corrected = sqrt(distance^2 + elevation^2)"
+r.mapcalc expression = "dist_corrected = sqrt(distance^2 + elevation^2)"
</pre></div>
+
+<p>
The module can work only if direction map, streams map and region have the same settings.
-It is also required that streams map and direction map come from the same source.
-For lots of reason this limitation probably cannot be omitted. This means that if
-stream_rast map comes from <em>r.stream.extract</em> also direction map from <em>r.stream.extract</em>
-must be used. If stream network was generated with MFD method also MFD direction
-map must be used.
+This is checked by default. If resolutions differ, the module informs about
+it and stops. Region boundary and maps boundary may differ but it may lead
+to unexpected results. The elevation map is not affected by this restriction
+and can have whatever resolution.
+
<p>
-Probably one of the most imortant features of <em>r.stream.distance</em> is the ability to
-calculate distance not only for streams generated with r.stream.extract, but also
-to any CELL map with resolution corresponding to direction map. It can be a lake,
-swamp, depression and lake boundaries even divided into smaller fragments each
+It is also required that <em>stream_rast</em> and <em>direction</em> maps come
+from the same source, e.g. both from <em>r.stream.extract</em>. If the stream network
+was generated with MFD method also MFD direction map must be used.
+
+<p>
+Probably one of the most important features of <em>r.stream.distance</em> is the ability to
+calculate the distance not only for streams generated by <em>r.stream.extract</em>, but also
+for any integer map, as long ast the resolution corresponds to that of <em>direction</em> map.
+It can be a lake, swamp, depression and lake boundaries even divided into smaller fragments each
with its own category.
<h2>EXAMPLE</h2>
<div class="code"><pre>
-g.region -p -a rast=elevation
-r.watershed elevation=elevation threshold=10000 drainage=direction stream=streams
-r.stream.distance stream_rast=streams direction=direction elevation=elevation \
- method=downstream distance=distance_stream_downstream difference=difference_stream_downstream
-r.stream.distance stream_rast=streams direction=direction elevation=elevation \
- method=upstream distance=distance_stream_upstream difference=difference_stream_upstream
+
+# Set the region to match with elevation map
+g.region -ap rast = elevation
+
+# Calculate flow direction and stream network
+r.watershed elevation = elevation threshold = 10000 drainage = direction stream = streams
+
+# Calculate elevation above and distance to stream network using downstream method
+r.stream.distance stream_rast = streams direction = direction elevation = elevation \
+ method = downstream distance = distance_stream_downstream difference = difference_stream_downstream
+
+# Calculate elevation above and distance to stream network using upstream method
+r.stream.distance stream_rast = streams direction = direction elevation = elevation \
+ method = upstream distance = distance_stream_upstream difference = difference_stream_upstream
+
</pre></div>
+<!--
+
+TODO : add the following examples:
+elevation above outlet
+distance to outlet
+
+-->
+
+
<h2>SEE ALSO</h2>
<em>
<a href="r.watershed.html">r.watershed</a>,
More information about the grass-commit
mailing list