|
@@ -3,8 +3,8 @@
|
|
|
<p><em>r.terraflow</em> takes as input a raster digital elevation
|
|
|
model (DEM) and computes the flow direction raster and the flow
|
|
|
accumulation raster, as well as the flooded elevation raster,
|
|
|
-sink-watershed raster (partition into watersheds around sinks) and tci
|
|
|
-(topographic convergence index) raster.
|
|
|
+sink-watershed raster (partition into watersheds around sinks) and TCI
|
|
|
+(topographic convergence index) raster maps.
|
|
|
|
|
|
<p><em>r.terraflow</em> computes these rasters using well-known
|
|
|
approaches, with the difference that its emphasis is on the
|
|
@@ -27,8 +27,8 @@ downslope neighbors.
|
|
|
|
|
|
<p><table width="80%" align=center>
|
|
|
<tr>
|
|
|
- <th><img src="rterraflow_dir2.png" alt="[SFD]" border=0></th>
|
|
|
- <th><img src="rterraflow_dir3.png" alt="[MFD]" border=0></th>
|
|
|
+ <th><img src="rterraflow_dir2.png" alt="r.terraflow SFD"></th>
|
|
|
+ <th><img src="rterraflow_dir3.png" alt="r.terraflow MFD"></th>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>Flow direction to steepest<br> downslope neighbor (SFD).</th>
|
|
@@ -40,6 +40,7 @@ downslope neighbors.
|
|
|
<p>The SFD and the MFD method cannot compute flow directions for
|
|
|
cells which have the same height as all their neighbors (flat areas)
|
|
|
or cells which do not have downslope neighbors (one-cell pits).
|
|
|
+
|
|
|
<ul>
|
|
|
<li>On plateaus (flat areas that spill out) <em>r.terraflow</em>
|
|
|
routes flow so that globally the flow goes towards the spill cells of
|
|
@@ -49,7 +50,6 @@ the plateaus.
|
|
|
pits) <em>r.terraflow</em> assigns flow by flooding the terrain until
|
|
|
all the sinks are filled and assigning flow directions on the filled
|
|
|
terrain.
|
|
|
-
|
|
|
</ul>
|
|
|
|
|
|
<p>In order to flood the terrain, <em>r.terraflow</em> identifies all
|
|
@@ -83,7 +83,6 @@ local slope).
|
|
|
<p>For more details on the algorithms see [1,2,3] below.
|
|
|
|
|
|
|
|
|
-
|
|
|
<h2>NOTES</h2>
|
|
|
|
|
|
One of the techniques used by <em>r.terraflow</em> is the
|
|
@@ -107,49 +106,48 @@ memory (RAM) the module will use during processing. In practice its
|
|
|
all times at most this much memory, and the virtual memory system
|
|
|
(swap space) will never be used. The default value is 300 MB.
|
|
|
|
|
|
+<p>The <b>stats</b> option defines the name of the file that contains the
|
|
|
+statistics (stats) of the run.
|
|
|
+
|
|
|
+<p><em>r.terraflow</em> has a limit on the number of rows and columns
|
|
|
+(max 32,767 each).
|
|
|
+
|
|
|
<p>The internal type used by <em>r.terraflow</em> to store elevations
|
|
|
-can be defined at compile-time. By default, <em>r.terraflow</em> is
|
|
|
-compiled to store elevations internally as floats.
|
|
|
-A version which is compiled to store elevations internally as
|
|
|
-shorts is available as <em>r.terraflow.short</em>. Other versions can
|
|
|
-be created by the user if needed.
|
|
|
+can be defined at compile-time. By default, <em>r.terraflow</em> is
|
|
|
+compiled to store elevations internally as floats. Other versions can be
|
|
|
+created by the user if needed.
|
|
|
|
|
|
-<p><em>r.terraflow.short</em> uses less space (up to 60B per cell, up
|
|
|
+<p>Hints concerning compilation with storage of elevations internally as
|
|
|
+shorts:
|
|
|
+<br>such a version uses less space (up to 60B per cell, up
|
|
|
to 60N intermediate file) and therefore is more space and time
|
|
|
-efficient. <em>r.terraflow</em> is intended for use with floating
|
|
|
-point raster data (FCELL), and <em>r.terraflow.short</em> with integer
|
|
|
+efficient. <em>r.terraflow</em> is intended for use with floating
|
|
|
+point raster data (FCELL), and <em>r.terraflow (short)</em> with integer
|
|
|
raster data (CELL) in which the maximum elevation does not exceed the
|
|
|
value of a short SHRT_MAX=32767 (this is not a constraint for any
|
|
|
terrain data of the Earth, if elevation is stored in meters).
|
|
|
-
|
|
|
-<p>Both <em>r.terraflow</em> and <em>r.terraflow.short</em> work with
|
|
|
+Both <em>r.terraflow</em> and <em>r.terraflow (short)</em> work with
|
|
|
input elevation rasters which can be either integer, floating point or
|
|
|
double (CELL, FCELL, DCELL). If the input raster contains a value that
|
|
|
exceeds the allowed internal range (short for
|
|
|
-<em>r.terraflow.short</em>, float for <em>r.terraflow</em>), the
|
|
|
+<em>r.terraflow (short)</em>, float for <em>r.terraflow</em>), the
|
|
|
program exits with a warning message. Otherwise, if all values in the
|
|
|
input elevation raster are in range, they will be converted
|
|
|
(truncated) to the internal elevation type (short for
|
|
|
-<em>r.terraflow.short</em>, float for <em>r.terraflow</em>). In this
|
|
|
+<em>r.terraflow (short)</em>, float for <em>r.terraflow</em>). In this
|
|
|
case precision may be lost and artificial flat areas may be created.
|
|
|
-
|
|
|
-<p>For instance, if <em>r.terraflow.short</em> is used with floating
|
|
|
+For instance, if <em>r.terraflow (short)</em> is used with floating
|
|
|
point raster data (FCELL or DCELL), the values of the elevation will
|
|
|
be truncated as shorts. This may create artificial flat areas, and the
|
|
|
-output of <em>r.terraflow.short</em> may be less realistic than those
|
|
|
+output of <em>r.terraflow (short)</em> may be less realistic than those
|
|
|
of <em>r.terraflow</em> on floating point raster data.
|
|
|
-
|
|
|
-The outputs of <em>r.terraflow.short</em> and <em>r.terraflow</em> are
|
|
|
+The outputs of <em>r.terraflow (short)</em> and <em>r.terraflow</em> are
|
|
|
identical for integer raster data (CELL maps).
|
|
|
|
|
|
-<p>The <b>stats</b> option defines the name of the file that contains the
|
|
|
-statistics (stats) of the run. The default name is <tt>stats.out</tt>
|
|
|
-(in the current directory).
|
|
|
-
|
|
|
|
|
|
<h2>EXAMPLES</h2>
|
|
|
|
|
|
-Example for small area in NC dataset:
|
|
|
+Example for small area in North Carolina sample dataset:
|
|
|
<div class="code"><pre>
|
|
|
g.region raster=elev_lid792_1m
|
|
|
r.terraflow elevation=elev_lid792_1m filled=elev_lid792_1m_filled \
|
|
@@ -172,6 +170,7 @@ mogrify -trim *.png
|
|
|
some bounding box problems noticed when opening mogrify result in Gimp
|
|
|
-->
|
|
|
|
|
|
+<p>
|
|
|
Spearfish sample data set:
|
|
|
|
|
|
<div class="code"><pre>
|
|
@@ -194,7 +193,7 @@ r.terraflow elev=elevation.10m filled=elevation10m.filled \
|
|
|
<h2>SEE ALSO</h2>
|
|
|
|
|
|
<em>
|
|
|
-<a href=r.flow.html>r.flow</a>,
|
|
|
+<a href="r.flow.html">r.flow</a>,
|
|
|
<a href="r.basins.fill.html">r.basins.fill</a>,
|
|
|
<a href="r.drain.html">r.drain</a>,
|
|
|
<a href="r.topidx.html">r.topidx</a>,
|
|
@@ -208,8 +207,8 @@ r.terraflow elev=elevation.10m filled=elevation10m.filled \
|
|
|
<h2>AUTHORS</h2>
|
|
|
|
|
|
<dl>
|
|
|
- <dt>Original version of program: The <a
|
|
|
- href="http://www.cs.duke.edu/geo*/terraflow/">TerraFlow</a> project,
|
|
|
+ <dt>Original version of program: The
|
|
|
+ <a href="http://www.cs.duke.edu/geo*/terraflow/">TerraFlow</a> project,
|
|
|
1999, Duke University.
|
|
|
<dd><a href="http://www.daimi.au.dk/~large/">Lars Arge</a>,
|
|
|
<a href="http://www.cs.duke.edu/~chase/">Jeff Chase</a>,
|
|
@@ -219,7 +218,7 @@ r.terraflow elev=elevation.10m filled=elevation10m.filled \
|
|
|
<a href="http://www.science.purdue.edu/jsv/">Jeff Vitter</a>,
|
|
|
Rajiv Wickremesinghe.
|
|
|
|
|
|
- <dt>Porting for GRASS, 2002:
|
|
|
+ <dt>Porting to GRASS GIS, 2002:
|
|
|
<dd> <a href="http://www.daimi.au.dk/~large/">Lars Arge</a>,
|
|
|
<a href="http://www4.ncsu.edu/~hmitaso/index.html">Helena Mitasova,</a>
|
|
|
<a href="http://www.bowdoin.edu/~ltoma/">Laura Toma</a>.
|
|
@@ -255,7 +254,6 @@ r.terraflow elev=elevation.10m filled=elevation10m.filled \
|
|
|
In <em>GeoInformatica, International Journal on
|
|
|
Advances of Computer Science for Geographic Information
|
|
|
Systems</em>, 7(4):283-313, December 2003.
|
|
|
-
|
|
|
</ol>
|
|
|
|
|
|
<p><i>Last changed: $Date$</i>
|