Long profile

This tool can be used to create a long profile plot. A longitudinal stream profile is a plot of elevation against downstream distance. Most long profiles use distance from channel head as the distance measure. This tool, however, uses the distance to the stream network outlet cell, or mouth, as the distance measure. The reason for this difference is that while for any one location within a stream network there is only ever one downstream outlet, there is usually many upstream channel heads. Thus plotted using the traditional downstream-distance method, the same point within a network will plot in many different long profile locations, whereas it will always plot on one unique location in the distance-to-mouth method. One consequence of this difference is that the long profile will be oriented from right-to-left rather than left-to-right, as would traditionally be the case.

The user must specify the names of a D8 pointer image (flow direction) and a streams raster image. Stream cells are designated in the streams image as all positive, nonzero values. Thus all non-stream or background grid cells are commonly assigned either zeros or NoData values. The pointer image is used to traverse the stream network and should only be created using the D8 flow algorithm. The streams image should be derived using a flow accumulation based stream network extraction algorithm, also based on the D8 flow algorithm.

In addition to the output chart, the user may optionally specify the name of a comma-separated value (*.csv) text file to output the profile to.

See Also:

Scripting:

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

wd = pluginHost.getWorkingDirectory()
pointerFile = wd + "D8 pointer.dep"
streams = wd + "streams.dep"
dem = wd + "DEM.dep"
args = [pointerFile, streams, dem]
pluginHost.runPlugin("LongProfile", args, False)

This is a Groovy script also using this tool:

def wd = pluginHost.getWorkingDirectory()
def pointerFile = wd + "D8 pointer.dep"
def streams = wd + "stream.dep"
def dem = wd + "DEM.dep"
def outFile = wd + "profile.csv"
String[] args = [pointerFile, streams, dem, outFile]
pluginHost.runPlugin("LongProfile", args, false)

Credits: