I have a recently-updated extract from NHD High Resolution (updated in last 6 months) which means it hasn't been cranked through NHDPlus, and won't for many years to come, and thus has no Stream Order (Strahler) attribute.

Running it through Arc Hydro (burn streams) and then through SA Stream Order tool doesn't work: That generates a new stream network! Converting the NHD to a raster and combining it with FDR, another miserable fail.

A few tools (RivEX, NVS Vector Stream Tools) "Claim" they have the ability to determine stream order from a vector network, but I have yet to see that work, and their tools are made for "Lab" (perfect) environments.

I'm able to generate FromNODE ToNODE on this network, is there some easy-button in Arc Toolbox that can pull this off? REALLY need to have Stream Order on this dataset covering 700,000 acres, will take the interns a long time......


I would like to defend RivEX and what its capable of. I have to admit I have a vested interest as I'm the developer behind it. Some very clever people (not me!) developed an algorithm that could compute Strahler order and RivEX uses this algorithm for assigning Strahler order. It's very fast and can handle highly threaded networks. I've thrown networks in excess of a million polylines and it has processed them in a matter of minutes. It does begin to buckle under networks that are 1/4 million polylines that drain to a single mouth. I think the recursion gets very deep, especially in highly threaded networks.

Below is an image of a small section of the R. Murray in Australia. I show this as its main stem is highly threaded. It also shows that the tool can deal with networks with multiple mouths as you can see streams simply ending. These will be ephemeral rivers. RivEX processed it this network of about 300,000 polylines in about 10 seconds! It then took about a minute to write it back to the shapefile.

River Murray Strahler Order

But you have hit the nail on the head with regards to the tools requiring "perfect" inputs. This is not unreasonable as how is a computer supposed to know a bunch of lines that happen to be a river are flowing in the wrong direction? The algorithm expects the network to be "directed" and flows from a source to sea direction which is very different to a road network. RivEX offers various quality control tools to help you ensure the network is ready for the algorithm, a demo version can be downloaded from here.

  • 1
    Very nice reply +1 Sep 8 '14 at 14:07

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