Skip To Content

Flow Distance

Available with Spatial Analyst license.

Summary

Computes, for each cell, the horizontal or vertical component of minimum downslope distance, following the flow path(s), to cell(s) on a stream into which they flow.

If an optional flow direction raster is provided, the down slope direction(s) will be limited to those defined by the input flow direction raster.

Illustration

Flow Distance tool illustration

Usage

  • To limit downslope directions along which minimum flow distance is measured, provide an optional input flow direction raster that can be derived using the Flow Direction tool. Choose from D8, D-Infinity (DINF) and multi flow direction (MFD) flow models while generating an optional input flow direction raster.

  • If an optional input flow direction raster is provided, it is recommended that this raster be created using the Flow Direction tool using the same input surface raster that you'll provide to the Flow Distance tool.

    If this input surface raster is void of sinks, the distance measurements would be to stream cells represented by the input stream raster.

    If this input surface raster has sinks present, some flow paths can get terminated short by them flowing into sinks before reaching streams. In such cases, flow distance measurements for these cells are calculated only up to the sink cells into which they flow.

  • When the tool is run without providing an optional flow direction raster, minimum flow distance is assessed considering all possible downslope flow paths from each cell to cell(s) on a stream into which they flow.

    When the tool is run with an optional D8 flow direction raster, there is only one possible downslope flow path from every cell to a cell on the stream and flow distance is measured along this single flow path.

  • It is recommended to create the input stream raster using the same input surface raster that is provided as input to the tool. You can create stream rasters from an input surface raster using the Flow Direction, Flow Accumulation and Con tools respectively. If you wish to use streams from other data sources, for best results, you would have to burn them into the input surface raster first and then run the Flow Distance tool on the result.

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

Syntax

FlowDistance (in_stream_raster, in_surface_raster, {in_flow_direction_raster}, {distance_type})
ParameterExplanationData Type
in_stream_raster

An input stream raster that represents a linear stream network.

Raster Layer
in_surface_raster

The input raster representing a continuous surface.

Raster Layer
in_flow_direction_raster
(Optional)

The input raster that shows the direction of flow out of each cell.

When a flow direction raster is provided, the down slope direction(s) will be limited to those defined by the input flow directions.

The flow direction raster can be created using the Flow Direction tool.

Raster Layer
distance_type
(Optional)

Determines if the vertical or horizontal component of flow distance is calculated.

  • VERTICAL The flow distance calculations represent the vertical component of minimum flow distance, following the flow path, from each cell in the domain to cell(s) on the stream into which they flow. This is the default.
  • HORIZONTALThe flow distance calculations represent the horizontal component of minimum flow distance, following the flow path, from each cell in the domain to cell(s) on the stream into which they flow.
String

Return Value

NameExplanationData Type
out_raster

The output flow distance raster.

Raster

Code sample

FlowDistance example 1 (Python window)

This example creates a flow distance raster.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFlowDistance = FlowDistance("streams", "elevation", "", "VERTICAL")
outFlowDistance.save("C:/sapyexamples/output/outflowdist01")
FlowDistance example 2 (stand-alone script)

This example creates a flow distance raster.

# Name: FlowDistance_Example.py
# Description: Creates a raster of horizontal flow distance from each cell to a cell 
# on the stream into which it drains.
# 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
inStreamRaster = "streams"
inSurfaceRaster = "elevation"
inFlowDirectionRaster = "flowdir"


# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute FlowDistance
outFlowDistance = FlowDistance(inStreamRaster, inSurfaceRaster, inFlowDirectionRaster, "HORIZONTAL")

# Save the output 
outFlowDistance.save("C:/sapyexamples/output/outflowdist02")

Licensing information

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

Related topics