Skip To Content

Flow Length

Available with Spatial Analyst license.

Summary

Calculates the upstream or downstream distance, or weighted distance, along the flow path for each cell.

Usage

  • A primary use of the Flow Length tool is to calculate the length of the longest flow path within a given basin. This measure is often used to calculate the time of concentration of a basin. This would be done using the Upstream option.

    The tool can also be used to create distance-area diagrams of hypothetical rainfall and runoff events using the weight raster as an impedance to movement downslope.

  • The value type for the Flow Length output raster is floating point.

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

Syntax

FlowLength (in_flow_direction_raster, {direction_measurement}, {in_weight_raster})
ParameterExplanationData Type
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
direction_measurement
(Optional)

The direction of measurement along the flow path.

  • DOWNSTREAM Calculates the downslope distance along the flow path, from each cell to a sink or outlet on the edge of the raster.
  • UPSTREAM Calculates the longest upslope distance along the flow path, from each cell to the top of the drainage divide.
String
in_weight_raster
(Optional)

An optional input raster for applying a weight to each cell.

If no weight raster is specified, a default weight of 1 will be applied to each cell. For each cell in the output raster, the result will be the number of cells that flow into it.

Raster Layer

Return Value

NameExplanationData Type
out_raster

The output raster that shows for each cell the upstream or downstream distance along a flow path.

Raster

Code sample

FlowLength example 1 (Python window)

This example Calculates the downstream distance along the flow path for each cell.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFlowLength = FlowLength("flowdir", "DOWNSTREAM", "")
outFlowLength.save("c:/sapyexamples/output/outflowlen01")
FlowLength example 2 (stand-alone script)

This example Calculates the downstream distance along the flow path for each cell.

# Name: _Ex_02.py
# Description: 
# 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
inFlowDirectionRaster = "flowdir"
inWeightRaster = ""
directionType = "DOWNSTREAM"

# Execute 
outFlowLength = FlowLength(inFlowDirectionRaster, directionType, inWeightRaster)

# Save the output 
outFlowLength.save("c:/sapyexamples/output/outflowlen02.tif")

Licensing information

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

Related topics