Lengths of network - specifically rivers

Steve Culshaw writes:

Can anyone suggest a method by which I can determine the maximum stream
length in a catchment.

Our hydrology modelling team want to produce FSR reports. This requires
various bits of catchment characteristics data. Some can be obtained from
raster datasets - thanks again to all who helped on the 'averaging'
problem.

The remaining two bits of data are the 'main stream length' and the 'main
stream slope'. I have chatted with the team about what is meant by the
'main stream' and they'd be happy to take the longest stream.

Now I've loaded our digital river network into GRASS. Is there some means
to calculate the longest vector from a specified point. I noticed the
'v.report' command but it just seems produce a breakdown by category.

One devious method that comes to mind: convert your river network to
raster and give your rivers the value of the pixelsize, so that each
pixel of river is more or less equal to the distance traversed. Give the
rest of your map a value that is larger than that. Then run r.cost on
this map. The r.cost program will produce cumulative cost output, that
outside the river network will not be of much use to you, but inside the
river network it should give the river length at any point from your
input-point, provided that the area outside the network is sufficiently
'blocked' with larger values. The only problem I see here is where your
rivers are taking bends - it may be that r.cost then decides to take the
detour over the bank before returning to the river. It will probably take
some experimenting to come up with the right map, but it's worth a try if
you don't want to write a whole new set of vector routines.

Good luck,

Philip Verhagen

--

      S t i c h t i n g R A A P

    Regionaal Archeologisch Archiverings Projekt

adress: Plantage Muidergracht 14
          1018 TV Amsterdam
           THE NETHERLANDS
phone: (31) 20 525 5835
fax: (31) 20 525 5834
e-mail: motte@xs4all.nl