The module produces one raster map with basins acording user's rules
Module r.stream.basins is prepared to delineate basins and subasins according user rules. Module is prepared to delineate unrestricted number of basins in one step. It can delineate basins with three methods:
The most recommended method require two maps: direction and streams. In spite of in stream map we can store information required to proper delineation, we can also enumarate stream categories for which basins are to be created (cats option). Module is prepared to work with output data of r.watershed, r.stream.extract, r.stream.order also with modification done by r.recalss and r.mapcalc. r.stream.basin can delineate basins according outlets marked by raster streams, and polygons, vector points and numerical coordinates. If outlets are marked by points or coordinates it delineate basins which cells contribute to that points, if outlets are marked by streams it delineate cells which contribute to the last (downstream) cell of the every stream. If outlets are marked by polygon it delineate cells contributing to most downstream cell of the polygon. If polygon covers more outlets than of one basins it will create collective basin for all outlets with common category.
To receive good results outlets markers created by user shall overlapping with streams. On the other way basins could results with very small area. Input maps must be in CELL format (default output of r.watershed, r.stream.order and r.stream.extract)
Module can work only if direction map, stream map and region map has same settings. It is also required that stream map and direction map come from the same source. For lots of reason this limitation probably cannot be omitted. this means if stream map comes from r.stream.extract also direction map from r.stream.extract must be used. If stream network was generated with MFD method also MFD direction map must be used. Nowadays f direction map comes from r.stream.extract must be patched by direction map from r.watershed. (with r.patch).
To delineate all basins with categories of streams:
r.stream.basins dir=dirs stream=streams basins=bas_basins_elem
To determine major and minor basins in area, definied by outlets, ignoring subbasins use - l flag. That flag ignores all nodes and uses only real outlets (in most cases that on map border):
r.stream.basins -l dir=dirs stream=streams basins=bas_basins_last
r.stream.basins dir=dirs coors=639936.623832,216939.836449
To delinaeate one or more particular basins defined by given streams, stream map must be re-classed first, to leave only desired streams:
r.reclass input=streams cats=42 output=sel_streams_1 r.reclass input=streams cats=42,252,188 output=sel_streams_1
Or alternatevely:
echo '42=42 * = NULL' > tmp #for one output echo '42 = 42 252 = 252 188 = 188 * = NULL' >tmp #for multiple outputs r.reclass input=streams output=sel_streams_1
Do delineate basins of particular order we must use the following procedure:
r.stream.basins -lc dir=dirs stream=strahler cats=2 basins=bas_basin_strahler_2
Or alternatevely:
echo '2 = 2 * = NULL' > tmp r.reclass input=ord_strahler output=sel_strahler_2 < tmp r.stream.basins -c dir=dirs stream=sel_strahler_2 basins=bas_basin_strahler_2
The usage of polygons as outlets markers is very useful when exact stream course cannot be cleary determined before running analysis, but the area of its occurrence can be determined (mostly in iterative simulations) Example uses r.circle but can be substituted by any polygon created for example with v.digit:
r.circle -b output=circle coordinate=639936.623832,216939.836449 max=200 r.stream.basins -c dir=dirs stream=circle basins=bas_simul
To determine areas of contribution to streams of particular order use as streams the result of ordering:
r.stream.basins dir=dirs stream=ord_strahler basins=bas_basin_strahler
Determination of areas of potential source of pollution. The example will be done for lake marked with FULL_HYDR 8056 in North Carolina sample dataset. The lake shall be extracted and converted to binary raster map.
v.extract -d input=lakes@PERMANENT output=lake8056 type=area layer=1 'where=FULL_HYDRO = 8056' new=-1 v.to.rast input=lake8056 output=lake8056 use=val type=area layer=1 value=1 r.stream.basins dir=dirs stream=lake8056 basins=bas_basin_lake
See also tutorial: http://grass.OSGeo.org/wiki/R.stream.*
Last changed: $Date$
Main index - raster index - Full index
© 2003-2016 GRASS Development Team