ArcGIS for Desktop

  • Documentation
  • Pricing
  • Support

  • My Profile
  • Help
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS for Desktop

A complete professional GIS

ArcGIS for Server

GIS in your enterprise

ArcGIS for Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Pricing
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

Help

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • More...

Stream Order

Available with Spatial Analyst license.

  • Summary
  • Usage
  • Syntax
  • Code Sample
  • Environments
  • Licensing Information

Summary

Assigns a numeric order to segments of a raster representing branches of a linear network.

Learn more about how Stream Order works

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).

  • See Analysis environments and Spatial Analyst for additional details on the geoprocessing environments that apply to this tool.

Syntax

StreamOrder (in_stream_raster, in_flow_direction_raster, {order_method})
ParameterExplanationData 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.

  • STRAHLER — The method of stream ordering proposed by Strahler in 1952. Stream order only increases when streams of the same order intersect. Therefore, the intersection of a first-order and second-order link will remain a second-order link, rather than creating a third-order link. This is the default.
  • SHREVE — The method of stream ordering by magnitude, proposed by Shreve in 1967. All links with no tributaries are assigned a magnitude (order) of one. Magnitudes are additive downslope. When two links intersect, their magnitudes are added and assigned to the downslope link.
String

Return Value

NameExplanationData Type
out_raster

The output stream order raster.

This output is of integer type.

Raster

Code Sample

StreamOrder example 1 (Python window)

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")
StreamOrder example 2 (stand-alone script)

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")

Environments

  • Auto Commit
  • Cell Size
  • Compression
  • Current Workspace
  • Extent
  • Geographic Transformations
  • Mask
  • Output CONFIG Keyword
  • Output Coordinate System
  • Raster Statistics
  • Scratch Workspace
  • Snap Raster
  • Tile Size

Licensing Information

  • ArcGIS for Desktop Basic: Requires Spatial Analyst
  • ArcGIS for Desktop Standard: Requires Spatial Analyst
  • ArcGIS for Desktop Advanced: Requires Spatial Analyst

Related Topics

  • An overview of the Hydrology toolset
Feedback on this topic?

ArcGIS for Desktop

  • Home
  • Documentation
  • Pricing
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Insiders Blog
  • User Conference
  • Developer Summit
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacy | Legal