Extract streams

This tool can be used to extract, or map, the likely stream cells from an input flow-accumulation image. The algorithm applies a threshold to the input flow accumulation image such that streams are considered to be all grid cells with accumulation values greater than the specified threshold. As such, this threshold represents the minimum area (area is used here as a surrogate for discharge) required to initiate and maintain a channel. Smaller threshold values result in more extensive stream networks and vice versa. Unfortunately there is very little guidance regarding an appropriate method for determining the channel initiation area threshold. As such, it is frequently determined either by examining map or imagery data or by experimentation until a suitable or desirable channel network is identified. Notice that the threshold value will be unique for each landscape and dataset (including source and grid resolution), further complicating its a priori determination. There is also evidence that in some landscape the threshold is a combined upslope area-slope function.

The input background value can either be a numeric value (e.g. 0) or the string "NoData". If "NoData" is input, the background will display transparently.

See Also:


The following is an example of a Python script that uses this tool:

wd = pluginHost.getWorkingDirectory()
caFile = wd + "contributing area.dep"
outputFile = wd + "output.dep"
channelThreshold = "1000.0"
backValue = "NoData"
args = [caFile, outputFile, channelThreshold, backValue]
pluginHost.runPlugin("ExtractStreams", args, False)

This is a Groovy script also using this tool:

def wd = pluginHost.getWorkingDirectory()
def caFile = wd + "contributing area.dep"
def outputFile = wd + "output.dep"
def channelThreshold = "8000.0"
def backValue = "0.0"
String[] args = [caFile, outputFile, channelThreshold, backValue]
pluginHost.runPlugin("ExtractStreams", args, false)