[GRASS-user] Re: stream network from DEM
xlia at gmu.edu
Tue Feb 27 11:02:02 EST 2007
In ArcInfo, If DEM data is g, do the following:
/*get flow direction, gfdir is the flowdirection grid
gfdir = flowdirection(g)
/*get curvature, gcurv is the curvature grid
gcurv = curvature(g)
/*threshold curvature, gcthresh is thresholded grid of curvature, cells with curvature > 0.03 will be set 1, otherwise will be set to nodata. here using 0.03 as an example
gcthresh = con(gcurv > 0.03, 1)
/*the above grid is a 1 or nodata grid that should represent the streams but may be broken segment, to connect them, do the following
gfacc = flowaccumulation(gfdir,gcthresh)
/*set stream grid to 1 on nodata background
gstrm = con(gfacc > 10, 1)
Is there any other command to calculate flowaccumulation in GRASS which function is the same as FLOWACCUMULATION in ArcInfo?
> Date: Mon, 26 Feb 2007 19:59:05 -0800
> From: Dylan Beaudette <dylan.beaudette at gmail.com>
> Subject: [GRASS-user] Re: stream network from DEM
> To: Xiaoyan Li <xlia at gmu.edu>, grassuser at grass.itc.it
> Message-ID: <200702261959.05473.dylan.beaudette at gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
> On Sunday 25 February 2007 07:38, Xiaoyan Li wrote:
> > hi,Dylan,
> > I searched the following discusses about flow accumulation
> calculations on
> > Internet. http://grass.itc.it/pipermail/grassuser/2006-
> May/034150.html> http://grass.itc.it/pipermail/grassuser/2006-
> Apologies for the late reply. Those messages should have some good
> hints on calculating flow accumulation.
> > Do you think it is possible to do the same thing in GRASS as
> extracting> stream network via detection of curvatures from DEM?
> It might be, but I am not the one to tell you how to do it. You
> might have to contact some of the developers like Helena for the specifics.
> > I tried to do the same using following commands:
> > Filling DEM: r.fill.dir
> > Calculating tangential curvature: r.slope.aspect
> > Thresholding tangential curvature surface: r.mapcalc (?guess)
> > Thinning the result grid to get network segments: r.thin
> > Run flowaccumulation function with network segments as weight to
> > connect stream segments: r.watershed or r.flow or r.terraflow
> > Weight to connect stream segments? r.mapcalc (?guess)
> Seems like you are on the right track, but again I am not a
> hydrologist and do not have a lot of time to investigate further.
> > I don't know about hydrology. Someone ask me help to implement
> this in
> > GRASS. I am in a bit of quandary here:
> > How to threshold tangential curvature surface?
> > How to weight to connect stream segments?
> Try asking again, but with a more concise description of a part of
> the problem. Simple questions -- easier for more to answer.
> Dylan Beaudette
> Soils and Biogeochemistry Graduate Group
> University of California at Davis
> grassuser mailing list
> grassuser at grass.itc.it
> End of grassuser Digest, Vol 10, Issue 54
More information about the grass-user