[GRASS-dev] v.net.strahler

Florian Kindl florian.kindl at uibk.ac.at
Wed Jun 14 14:38:09 EDT 2006


Dear developers,

I am looking for a way to do a Horton/Strahler-analysis, preferably  
on vector data.

There are modules for this in JGrass (raster only and difficult to  
integrate in a GRASS-script), SagaGIS (even more difficult to  
integrate) and David Tarboton's TAUDEM (a GPL'd module for ArcGIS -  
most difficult to integrate in my workflow)

At the moment I am struggling with such workarounds but a native  
solution in GRASS-GIS would make my life easier these days.

Do you, from a developer's point of view, think it would be difficult  
to implement a vector module for GRASS GIS that essentially does the  
following:

1) Find source segments of a network; assign order=1
2) For every source segment: follow downstream and check at first  
confluence:
    confluence with segment without order: do nothing
    confluence with segment of same order -> assign order=2 (order++)  
to the resulting stream
    confluence with segment of lower order -> assign higher order to  
resulting stream
3) check if there are segments left without assigned order
    yes: repeat 2) for segments with order++
    no: exit

(If this algorithm is incomplete, flawed or clumsy, please correct me.)

The bigger problem is: My C knowledge is very limited (around chapter  
three in K&R?) and consequently I don't feel at home with Vlib and  
DGlib...

So I'm asking you for some hints on how to accomplish such a task,  
starting with:
- v.net.path and d.path find paths on the network I'm working with,  
so I assume the network topology already is stored somewhere in the  
data. If this is correct, how do I access the topology information in  
order to get the segments that are sharing a common node?

Hope you can help me,
yours,
Florian Kindl




More information about the grass-dev mailing list