I have DEM Data for the study area, I want to know how to find out the stream order using DEM. I saw Stream order tool in Hydrology toolset in ArcGIS. in Stream order tool what is input stream raster and how to create it, which method of stream ordering is mostly used

2 Answers 2


There are a number of stages required to get the required output, all of the tools are well documented in the arcgis online help and the page on stream ordering is very useful.

The first stage in any hydrology processing is to fill any pits in the DEM using the fill tool to ensure that water can flow over the surface without becoming 'stuck' in an erroneous hole in the DEM.

Once this filled DEM has been created the flow direction can be computed, which uses the elevation to work out which direction water in each cell will flow, using the D8 method, where all of the water is assumed to flow out into one of the 8 surrounding cells (This is a broad assumption but should be ok for your purposes).

The flow direction can then be used to create the flow accumulation, a measure of the number of cells which flow into each cell in the raster.

A conditional statement can then be used to generate a raster stream network from the flow accumulation. This statement will vary based on resolution and landscape form but it effectively needs to create a new raster with only cell who have a flow accumulation above a threshold value.

From the helpfiles:

Input conditional raster : flowacc
Expression : "Value > 100"
Input true raster or constant value : 1
Input false raster or constant value : ""
Output raster : stream_net

This raster stream network can then be assigned either Shreve or Strahler values using the stream order command. The easiest way to explain the difference between these two methods is using these images from the helpfiles:





As you can see in Shreve ordering stream orders are added together so a 2 meeing a 3 becomes a 5 and in Strahler two 2's become a 3 and a 2 and a 3 remain a 3. Strahler is generally preferred as it generates a better hierarchical river network. Although I am sure some people would argue the opposite.

The final step is often to convert this stream ordered raster to a vector, which is simply performed using the stream to feature command.

If you have to do this a lot I would recommend making a python script to automate this or building a model, as it is a very repetitive process, which can be easily automated.

To sum up:

The workflow is:

  1. create fill from dem
  2. create Flow direction from fill
  3. create flow accumulation
  4. in map algebra use this syntax : newraster = con(accum > 100, 1) or you can use raster calculator. accum is flow accumulation layer

strahler is mostly used for watershed analysis .

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.