[GRASS-user] Re: stream network from DEM

Michael Barton michael.barton at asu.edu
Wed Feb 28 10:29:22 EST 2007




On 2/27/07 9:02 AM, "Xiaoyan Li" <xlia at gmu.edu> wrote:

> Thanks Dylan
> 
> In ArcInfo, If DEM data is g, do the following:
> /*get flow direction, gfdir is the flowdirection grid
> gfdir = flowdirection(g)

=aspect (r.slope.aspect or r.param.scale or calculated from r.mapcalc)

> 
> /*get curvature, gcurv is the curvature grid
> gcurv = curvature(g)

=profile curvature (r.slope.aspect, or r.param.scale)
> 
> /*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)

do in r.mapcalc, using curvature map from r.slope.aspect/r.param.scale

> 
> /*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)

Multiple ways of getting flow accumulation (r.terraflow, r.flow,
r.watershed). Choose your algorithm and optimization parameters depending on
your problem.

> 
> /*set stream grid to 1 on nodata background
> gstrm = con(gfacc > 10, 1)

I'm not sure what the con() function is in this statement. Probably you need
an r.mapcalc statement here.

> 
> Is there any other command to calculate flowaccumulation in GRASS which
> function is the same as FLOWACCUMULATION in ArcInfo?
> FLOWACCUMULATION(<dir_grid>, {weight_grid})

As I indicated above, there are multiple algorithms for calculating flow
accumulation. They are well-documented (as opposed to at least some of the
algorithms in Arc*).

r.watershed also will automatically generate a stream network for you as one
of its output options.

Hope this is helpful

Michael

> 
> 
> 
>> ------------------------------
>> 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-
>> February/032744.html
>> Hi!
>> 
>> 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.
>> 
>> Cheers,
>> 
>> -- 
>> Dylan Beaudette
>> Soils and Biogeochemistry Graduate Group
>> University of California at Davis
>> 530.754.7341
>> 
>> 
>> 
>> ------------------------------
>> 
>> _______________________________________________
>> grassuser mailing list
>> grassuser at grass.itc.it
>> http://grass.itc.it/mailman/listinfo/grassuser
>> 
>> 
>> End of grassuser Digest, Vol 10, Issue 54
>> *****************************************
>> 
> 
> 
> 
> 

__________________________________________
Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton





More information about the grass-user mailing list