[GRASS-user] Is it possible to derive both banks of a river ?

Michael Barton michael.barton at asu.edu
Wed Oct 19 14:46:04 EDT 2011

Assuming you have a raster with a sufficiently high resolution to ID the banks (e.g., 30m is probably too coarse for most cases), try one of the following.

Create a buffer that just includes the banks and make it a MASK, create a map of profile curvature (in r.slope.aspect), run r.neighbors with the max filter on the  the profile curvature map with the MASK on. 

You could also create a sequence of points that represents the river channel (e.g., do r.watershed and output the streams, turn the stream cells to vector points); run r.cost with the stream points as the starting vector. Then you can query the cost map to see where it has a jump in cost around the river. You could also do a slope of the costs and then run a max filter on the cost slope map to ID the zones where cost shows the steepest increase.

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

voice: 	480-965-6262 (SHESC), 480-727-9746 (CSDC)
fax:          480-965-7671 (SHESC),  480-727-0709 (CSDC)
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu

On Oct 19, 2011, at 12:00 PM, <grass-user-request at lists.osgeo.org> wrote:

> Message: 7
> Date: Wed, 19 Oct 2011 15:50:20 +0200
> From: Markus Metz <markus.metz.giswork at googlemail.com>
> Subject: Re: [GRASS-user] Is it possible to derive both banks of a
>        river ?
> To: Pankaj Kr Sharma <pkscwc at gmail.com>
> Cc: grass-user at lists.osgeo.org
> Message-ID:
>        <CAG+h=FHK-MGwwnhhc8_-p=RPR9QRjXgwFxfjUnbY8Y8JK8PDEQ at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
> On Tue, Oct 18, 2011 at 10:12 AM, Pankaj Kr Sharma <pkscwc at gmail.com> wrote:
>> Dear friends,
>> I derived this accumulation map from 90m srtm data.
>> Across the river, the accumulation varies and the river line passes through
>> the maximum of these values.
>> Typical Scenario:
>> On right bank Acc= 3
>> Near Right Bank?? Acc=100000
>> ____________________________________
>> ???????????????????????????? |
>> -.-.-.-.-.-.-.-.-.-.-.-.-|.-.-.-.-.-.-.-.--.-.-.-.-.-.-.-.-.- ? ?? on river
>> line Acc=500000 ? ? ? -->
>> _______________|_____________________
>> Near left Bank Acc=300000
>> On left Bank Acc = 2
>> i.e. Just at the banks, accumulation values have big difference.
>> Whether this fact can be utilised to derive both banks of a river network.
> You could try to calculate slope with the flow accumulation map and
> then identify river banks as cells with high slope and low flow
> accumulation.
> Just an idea,
> Markus M

More information about the grass-user mailing list