Stream Order (Spatial Analyst)
Summary
Assigns a numeric order to segments of a raster representing branches of a linear network.
Usage
-
The output of Stream Order will be of higher quality if the input stream raster and input flow direction raster are derived from the same surface. If the stream raster is derived from a rasterized streams dataset, the output may not be usable because, on a cell-by-cell basis, the direction will not correspond with the location of stream cells.
-
The results of the Flow Accumulation tool can be used to create a raster stream network by applying a threshold value to select cells with a high accumulated flow. For example, cells that have more than 100 cells flowing into them are used to define the stream network. Use the Con or Set Null tool to create a stream network raster where flow accumulation values of 100 or greater go to one, and the remainder are put to the background (NoData). The resulting stream network can be used in Stream Link and Stream to Feature.
An analytical method for determining an appropriate threshold value for stream network delineation is presented in Tarboton, et al. (1991).
Syntax
Parameter | Explanation | Data Type |
in_stream_raster |
An input raster that represents a linear stream network. The input stream raster linear network should be represented as values greater than or equal to one on a background of NoData. | Raster Layer |
in_flow_direction_raster |
The input raster that shows the direction of flow out of each cell. The flow direction raster can be created using the Flow Direction tool. | Raster Layer |
order_method (Optional) |
The method used for assigning stream order.
| String |
Return Value
Name | Explanation | Data Type |
out_raster |
The output stream order raster. It will be of integer type. | Raster |
Code Sample
This example assigns a numeric order to segments of a raster representing branches of a linear network.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outStreamOrder = StreamOrder("stream", "flowdir", "STRAHLER")
outStreamOrder.save("c:/sapyexamples/output/outstrmordr01")
This example assigns a numeric order to segments of a raster representing branches of a linear network.
# Name: StreamOrder_Ex_02.py
# Description: Assigns a numeric order to segments of a raster
# representing branches of a linear network.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inStreamRast = "stream"
inFlowDirectionRaster = "flowdir"
orderMethod = "STRAHLER"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute StreamOrder
outStreamOrder = StreamOrder(inStreamRast, inFlowDirectionRaster, orderMethod)
# Save the output
outStreamOrder.save("c:/sapyexamples/output/outstrmordr02")