11

I have a shapefile which contains the streams that were digitized from a satellite Image. I would like to calculate the stream order for this data. The data does not exactly match the DEM that I have, since the satellite image was of much higher resolution.

Is there any arcscript, code or readymade tool which I could use to calculate the stream orders?

I have Arcgis 10 with spatial & 3D analyst, as well as QGIS.

5
  • 1
    @PolyGeo: I've rolled back the Edit, since it was never my intent to have this only as an ArcGIS specific question; Furthermore If someone wants to give an QGIS/GDAL based Answer, that too would be useful. Commented Jan 30, 2017 at 4:35
  • 1
    If you want to also ask how to calculate stream order for vector data without a DEM using QGIS/GDAL then I think you should ask that as a separate question. Otherwise you are effectively asking two questions, which I think sets a poor example for new users who we implore to ask a single focussed question.
    – PolyGeo
    Commented Jan 30, 2017 at 4:56
  • 1
    Paraphrasing Jeff Atwood I think allowing multi-product questions is a slippery slope. If you might have slightly better odds of getting an answer by posting it for two products, well, by gum, why not maximize your odds by posting it for twenty/all products!
    – PolyGeo
    Commented Jan 30, 2017 at 5:15
  • 1
    @DevdattaTengshe your comment "Furthermore If someone wants to give an QGIS/GDAL based Answer, that too would be useful" would push this into the "Too Broad" category. You can't mark 2 answers as the answer, so a separate focused QGIS/GDAL question may be more appropriate
    – Midavalo
    Commented Jan 31, 2017 at 0:06
  • 1
    I disagree this Q should be closed as too broad. The context for the linked Jeff Atwoods post is about cross posting to multiple sites, not multiple solutions within one site. Moreover the existing answers do narrow in on an accepted solution, even if the door is held open for an alternate approach with other software. (And yes I've seen the meta discussion gis.meta.stackexchange.com/questions/4678/…) Commented Sep 25, 2017 at 20:14

2 Answers 2

3

Check out the NVS Vector Stream Tool which ...

is a user-friendly ArcCatalog (9.3.x) Toolbox geoprocessing tool which simply assigns a numeric order to segments of a poly line feature class. Unlike the Spatial Analyst Tools for Hydrography, this tool solely uses vector stream data instead of raster stream data accompanied by a flow direction raster.

...

NVS Vector Stream Tool installers are available for both ArcGIS Desktop 10.0 and ArcGIS Desktop 9.3.1.

2
  • It worked as I had wanted. There were just a few intermidatery steps that I had to do, like first export to a coverage, so that there would be from and to nodes. After that it worked in a jiffy. Commented Apr 4, 2012 at 5:53
  • The link in this answer is broken.
    – PolyGeo
    Commented Jan 29, 2017 at 22:35
3

Out of curiosity I downloaded the NVS stream tool and ran it on a vector river network that has loops and compared the Strahler order generated by this tool with the Strahler order computed by RivEX. The algorithm used by the NVS tool is slower (not really a big problem) but more importantly it is not robust when it is dealing with river networks that have loops or braided. The help does not explicitly state that the network needs to be single threaded. So don't use this tool if your network has loops, it seems that this tool requires single threaded networks, the type you would get from a DEM. This is an important difference that it does not highlight.

In my test data the NVS tool was reporting a Strahler order of 14 when RivEX was returning 5...

2
  • I too had a similar problem with braided streams. When I went back to the theoretical underpinnings of the D8 theory, I realized that D8 does not allow braided or looping streams, so im not sure how Rivex works with them. Commented Sep 8, 2014 at 2:03
  • 1
    It looks like the NVS tool is incorrectly incrementing the Strahler order at each bifurcation (the top of a loop). RivEX labels both sides of a loop the same order if they share the same source and is capable of dealing with highly multi-threaded river networks.
    – Hornbydd
    Commented Sep 8, 2014 at 8:00

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