The direction of the stream flow will be adjusted in outlet direction and stored in the
output vector map.
To determine the outlet stream network segment, a nearest neighbor search is performed. The threshold of the search can be adjusted with the threshold option. It is required to specify the threshold as floating point value that is interpreted using the locations projection unit.
It is required that the vector line direction of the network segment that was found at the outlet point, is directed to the outlet point. Since, the depth-first search network traversing will be performed in upstream direction. Stream networks in downstream direction will be detected. However, the stream order will not be computed. The stream order table entries will be empty.
The output vector map contains a column for each specified order algorithm, the network id, the outlet category of the vector point input map and the column reversed. The column reversed indicates if the stream network segment was reversed in direction to point to the water outlet point (0 - not reversed, 1 - reversed).
In addition all columns from the stream network input map are copied to the output vector map. The input vector map columns that should be copied will be automagically renamed in the output vector map, if the column names are conflicting with each other. Use the columns parameter to specifiy a subset of columns that should be copied. The keyword all is used to copy all columns to the output vector map that are found in the input vector map (default).
Be aware that the stream network map must be topological correct.
Each independent stream network must be properly connected.
The implemented stream order algorithms rely on topological relations between lines and nodes
and are not designed to handle loops and channels in the stream networks correctly.
The network traversing method, that is used to compute the stream order numbers, is recursively implemented. In case of large stream networks, or networks with many loops, the maximum recursion depth of Python may be reached. The module will stop then with an maximum recursion depth exceeded exception. This parameter can be adjusted with the recursionlimit option. The default in Python is 1000. The default in v.stream.order is 10000.
Advantages and disadvantages of Strahler's ordering: Strahler's stream order has a good mathematical background. All catchments with streams in this context are directed graphs, oriented from the root towards the leaves. Equivalent definition of the Strahler number of a tree is that it is the height of the largest complete binary tree that can be homeomorphically embedded into the given tree; the Strahler number of a node in a tree is equivalent to the height of the largest complete binary tree that can be embedded below that node.
The disadvantage of that methods is the lack of distinguishing a main channel which may interfere with the analytical process in highly elongated catchments. It is not able to handle loops in the ordered graph correctly.
Advantages and disadvantages of Drwal's hierarhy: The main advantages of Drwal's hierarchy is that it produces natural stream ordering with whcich takes into advantage both ordering and magnitude. It shows the real impact of particular links of the network run-off. The main disadvantage is that it minimize bifurcation ratio of the network.
# We need to generate 4 outlet points that will lead to # 4 stream networks and therefore 4 output vector maps cat > points.csv << EOF 640781.56098|214897.033189 642228.347134|214979.370612 638470.926725|214984.99142 645247.580918|223346.644849 EOF v.in.ascii output=streams_outlets input=points.csv x=1 y=2 v.stream.order input=streams@PERMANENT points=streams_outlets \ output=streams_order threshold=25 order=strahler,shreve v.info streams_order v.db.select streams_order | less
v.stream.order input=stream_network points=stream_network_outlets \ output=stream_network_order threshold=25 \ order=strahler,shreve,drwal,scheidegger v.info stream_network_order v.db.select stream_network_order | less
IGB-Berlin,Johannes Radinger; Implementation: Geoinformatikbüro Dassau GmbH , Soeren Gebbert
This tool was developed as part of the BiodivERsA-net project 'FISHCON' and has been funded by the German Federal Ministry for Education and Research (grant number 01LC1205).
Documentation of the implemented algorithms are in most parts copied from r.stream.order implemented by: Jarek Jasiewicz and Markus Metz
© 2003-2021 GRASS Development Team, GRASS GIS 7.8.7dev Reference Manual