1r.flow(1) Grass User's Manual r.flow(1)
2
3
4
6 r.flow - Construction of slope curves (flowlines), flowpath lengths,
7 and flowline densities (upslope areas) from a raster digital elevation
8 model (DEM)
9
11 raster
12
14 r.flow
15 r.flow help
16 r.flow [-u3m] elevin=string [aspin=string] [barin=string]
17 [skip=integer] [bound=integer] [flout=string] [lgout=string]
18 [dsout=string] [--verbose] [--quiet]
19
20 Flags:
21 -u
22 Compute upslope flowlines instead of default downhill flowlines
23
24 -3
25 3-D lengths instead of 2-D
26
27 -m
28 Use less memory, at a performance penalty
29
30 --verbose
31 Verbose module output
32
33 --quiet
34 Quiet module output
35
36 Parameters:
37 elevin=string
38 Input elevation raster map
39
40 aspin=string
41 Input aspect raster map
42
43 barin=string
44 Input barrier raster map
45
46 skip=integer
47 Number of cells between flowlines
48 Options: 1-360
49 Default: 7
50
51 bound=integer
52 Maximum number of segments per flowline
53 Options: 0-1609
54 Default: 1609
55
56 flout=string
57 Output flowline vector map
58
59 lgout=string
60 Output flowpath length raster map
61
62 dsout=string
63 Output flowline density raster map
64
66 This program generates flowlines using a combined raster-vector
67 approach (see Mitasova and Hofierka 1993 and Mitasova et al. 1995))
68 from an input elevation raster map elevin (integer or floating point),
69 and optionally an input aspect raster map aspin and/or an input barrier
70 raster map barin. There are three possible output maps which can be
71 produced in any combination simultaneously: a vector map flout of flow‐
72 lines, a raster map lgout of flowpath lengths, and a raster map dsout
73 of flowline densities (which are equal upslope contributed areas per
74 unit width, when multiplied by resolution).
75
76 Aspect used for input must follow the same rules as aspect computed in
77 other GRASS programs (see v.surf.rst or r.slope.aspect).
78
79 Flowline output is given in a vector map flout, (flowlines generated
80 downhill). The line segments of flowline vectors have endpoints on
81 edges of a grid formed by drawing imaginary lines through the centers
82 of the cells in the elevation map. Flowlines are generated from each
83 cell downhill by default; they can be generated uphill using the flag
84 -u. A flowline stops if its next segment would reverse the direction of
85 flow (from up to down or vice-versa), cross a barrier, or arrive at a
86 cell with undefined elevation or aspect. Another option, skip=val,
87 indicates that only the flowlines from every val-th cell are to be
88 included in flout. The default skip is max(1, /50, /50). A high skip
89 usually speeds up processing time and often improves the readability of
90 a visualization of flout.
91
92 Flowpath length output is given in a raster map lgout. The value in
93 each grid cell is the sum of the planar lengths of all segments of the
94 flowline generated from that cell. If the flag -3 is given, elevation
95 is taken into account in calculating the length of each segment.
96
97 Flowline density downhill or uphill output is given in a raster map
98 dsout. The value in each grid cell is the number of flowlines which
99 pass through that grid cell, that means the number of flowlines from
100 the entire map which have segment endpoints within that cell. With the
101 -m flag less memory is used as aspect at each cell is computed on the
102 fly. This option incurs a severe performance penalty. If this flag is
103 given, the aspect input map (if any) will be ignored. The barin param‐
104 eter is a raster map name with non-zero values representing barriers as
105 input.
106
108 For best results, use input elevation maps with high precision units
109 (e.g., centimeters) so that flowlines do not terminate prematurely in
110 flat areas. To prevent the creation of tiny flowline segments with
111 imperceivable changes in elevation, an endpoint which would land very
112 close to the center of a grid cell is quantized to the exact center of
113 that cell. The maximum distance between the intercepts along each axis
114 of a single diagonal segment and another segment of 1/2 degree differ‐
115 ent aspect is taken to be "very close" for that axis. Note that this
116 distance (the so-called "quantization error") is about 1-2% of the res‐
117 olution on maps with square cells.
118
119 The values in length maps computed using the -u flag represent the dis‐
120 tances from each cell to an upland flat or singular point. Such dis‐
121 tances are useful in water erosion modeling for computation of the LS
122 factor in the standard form of USLE. Uphill flowlines merge on ridge
123 lines; by redirecting the order of the flowline points in the output
124 vector map, dispersed waterflow can be simulated. The density map can
125 be used for the extraction of ridge lines.
126
127 Computing the flowlines downhill simulates the actual flow (also known
128 as the raindrop method). These flowlines tend to merge in valleys; they
129 can be used for localization of areas with waterflow accumulation and
130 for the extraction of channels. The downslope flowline density multi‐
131 plied by the resolution can be used as an approximation of the upslope
132 contributing area per unit contour width. This area is a measure of
133 potential water flux for the steady state conditions and can be used in
134 the modeling of water erosion for the computation of the unit stream
135 power based LS factor or sediment transport capacity.
136
137 The program has been designed for modeling erosion on hillslopes and
138 has rather strict conditions for ending flowlines. It is therefore not
139 very suitable for the extraction of stream networks or delineation of
140 watersheds unless a DEM without pits or flat areas is available
141 (r.fill.dir can be used to fill pits).
142
143 To label the vector flowlines automatically, the user can use v.cate‐
144 gory (add categories).
145
147 1. Construction of flow-lines (slope-lines): r.flow uses an original
148 vector-grid algorithm which uses an infinite number of directions
149 between 0.0000... and 360.0000... and traces the flow as a line (vec‐
150 tor) in the direction of gradient (rather than from cell to cell in one
151 of the 8 directions = D-infinity algorithm). They are traced in any
152 direction using aspect (so there is no limitation to 8 directions
153 here). The D8 algorithm produces zig-zag lines. The value in the outlet
154 is very similar for both r.flow and r.flowmd (GRASS 5 only) algorithms
155 (because it is essentially the watershed area), however the spatial
156 distribution of flow, especially on hillslopes is quite different. It
157 is still a 1D flow routing so the dispersal flow is not accurately
158 described, but still better than D8.
159
160 2. Computation of contributing areas: r.flow uses a single flow algo‐
161 rithm, i.e. all flow is transported to a single cell downslope.
162
164 Differences between r.flow and r.flowmd
165
166 1
167 r.flow has an option to compute slope and aspect internally
168 thus making the program capable to process much larger data sets
169 than r.flowmd. It has also 2 additional options for handling of
170 large data sets but it is not known that they work properly.
171
172 2
173 the programs handle the special cases when the flowline passes
174 exactly (or very close) through the grid vertices differently.
175
176 3
177 r.flowmd has the simplified multiple flow addition so the
178 results are smoother.
179
180 In conclusion, r.flowmd produces nicer results but is slower and it
181 does not support as large data sets as r.flow.
182
184 "ERROR: r.flow: " input " file's resolution differs from current"
185 region resolution
186
187 The resolutions of all input files and the current region must match.
188
189 "ERROR: r.flow: resolution too unbalanced (" val " x " val ")" The dif‐
190 ference in length between the two axes of a grid cell is so great that
191 quantization error is larger than one of the dimensions. Resample the
192 map and try again.
193
195 r.basins.fill, r.drain, r.fill.dir, r.water.outlet, r.watershed, v.cat‐
196 egory, v.to.rast
197
199 Original version of program:
200 Maros Zlocha and Jaroslav Hofierka, Comenius University, Bratislava,
201 Slovakia,
202
203 The current version of the program (adapted for GRASS5.0):
204 Joshua Caplan, Mark Ruesink, Helena Mitasova, University of Illinois at
205 Urbana-Champaign with support from USA CERL.
206 GMSL/University of Illinois at Urbana-Champaign
207
209 Mitasova, H., L. Mitas, 1993, Interpolation by regularized spline with
210 tension : I. Theory and implementation. Mathematical Geology 25, p.
211 641-655. (online)
212
213 Mitasova and Hofierka 1993 : Interpolation by Regularized Spline with
214 Tension: II. Application to Terrain Modeling and Surface Geometry Anal‐
215 ysis. Mathematical Geology 25(6), 657-669. (online)
216
217 Mitasova, H., Mitas, L., Brown, W.M., Gerdes, D.P., Kosinovsky, I.,
218 Baker, T., 1995: Modeling spatially and temporally distributed phenom‐
219 ena: New methods and tools for GRASS GIS. International Journal of Geo‐
220 graphical Information Systems 9(4), 433-446.
221
222 Mitasova, H., J. Hofierka, M. Zlocha, L.R. Iverson, 1996, Modeling
223 topographic potential for erosion and deposition using GIS. Int. Jour‐
224 nal of Geographical Information Science, 10(5), 629-641. (reply to a
225 comment to this paper appears in 1997 in Int. Journal of Geographical
226 Information Science, Vol. 11, No. 6)
227
228 Mitasova, H.(1993): Surfaces and modeling. Grassclippings (winter and
229 spring) p.18-19.
230
231 Last changed: $Date: 2006-12-13 17:10:28 +0100 (Wed, 13 Dec 2006) $
232
233 Full index
234
235 © 2003-2008 GRASS Development Team
236
237
238
239GRASS 6.3.0 r.flow(1)