Stream to Feature (Spatial Analyst)

Available with Spatial Analyst license.


Converts a raster representing a linear network to features representing the linear network.

Learn more about how Stream to Feature works


  • The input stream raster linear network should be represented as values greater than or equal to one on a background of NoData.

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

  • There should be contiguous features with the same value, such as the results of the Stream Order or Stream Link tool. Stream to Feature should not be used on a raster in which there are few adjacent cells of the same value.

  • The direction of the output features will point downstream.

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


StreamToFeature(in_stream_raster, in_flow_direction_raster, out_polyline_features, {simplify})
ParameterExplanationData Type

An input raster that represents a linear stream network.

Raster Layer

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

Output feature class that will hold the converted streams.

Feature Class

Specifies whether weeding is used.

  • SIMPLIFY The feature is weeded to reduce the number of vertices. The Douglas-Puecker algorithm for line generalization is used with a tolerance of sqrt(0.5) * cell size.
  • NO_SIMPLIFY No weeding is applied.

By default, weeding is applied.


Code sample

StreamToFeature example 1 (Python window)

This example converts a raster representing a linear network to features.

import arcpy
from arcpy import env
from import *
env.workspace = "C:/sapyexamples/data"
StreamToFeature("stream", "flowdir", "c:/sapyexamples/output/outstrm01.shp", 
StreamToFeature example 2 (stand-alone script)

This example converts a raster representing a linear network to features.

# Name:
# Description: 
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inStreamRaster = "stream"
inFlowDir = "flowdir"
outStreamFeats = "c:/sapyexamples/output.gdb/outstrm02"

# Execute 
StreamToFeature(inStreamRaster, inFlowDir, outStreamFeats,

Licensing information

  • Basic: Requires Spatial Analyst
  • Standard: Requires Spatial Analyst
  • Advanced: Requires Spatial Analyst

Related topics