[GRASS-user] "ladders" in watershed delineation
Markus Metz
markus.metz.giswork at googlemail.com
Tue Aug 4 04:56:07 EDT 2009
Micha Silver wrote:
> Markus Metz wrote:
>
>> These single-cell strings in basins, did you get them with SFD or MFD
>> mode? If MFD mode, what convergence factor did you use?
>>
> My watershed delineation was done with r.watershed, not r.terraflow,
> so IIUC it's SFD. I didn't see any "braided" streams in the output.
r.watershed in 6.5+ can do MFD which reduces these single-cell strings
substantially. I would recommend MFD over SFD for anything with 30m
resolution or higher, not much gained for 90m or coarser. Results are
generally more accurate with MFD for high resolution (<= 30m) DEMs.
Markus M
> I'm using GRASS 6.4 RC4 which, I believe contains your newer watershed
> speedup. However size of the region and resolution were such that I
> had to use the -m option.
> Regards,
> Micha
>> Markus M
>>
>>
>> Micha Silver wrote:
>>>
>>> Milton Cezar Ribeiro wrote:
>>>
>>>> Hi Micha,
>>>>
>>>> Make a test. If you run a 3x3 or 5x5 filter and get the percentage,
>>>> and
>>>> after check the values for those isolated pixels, you perceive that
>>>> when
>>>> pixels are isolated the percentage values are very different from its
>>>> neighbours. I forgot to give the full suggestion:
>>>>
>>>> 1. run r.neighbors with interspersion
>>>> 2. check the values for isolated pixels and define a threshold
>>>> 3. run r.neighbors with majority
>>>> 4. run r.mapcalc "newmap=if(map_inter< XXX, map_majority, map)"
>>>> (I dont remember if is map_inter< or map_inter> - check it).
>>>>
>>>> Try this!
>>>>
>>>>
>>> After writing my first (silly) response, I thought thru and realized
>>> what you were suggesting.
>>> I did r.neighbors twice: once with the interspersion method, and a
>>> second time with the mode method to create two new rasters.
>>> Then, exactly as you explained above, I set 68 as the maximum
>>> interspersion value [6 different value cells in the 3X3 window gives
>>> (6/9)*100+1=67%].
>>>
>>> Then the mapcalc expression:
>>> if(catch_inter<=68, catch, catch_mod)
>>> gave me the new catchment raster. I looked it over and *most* but
>>> not all of the problematic strings are gone. So this seems like a
>>> very reasonable way to improve the catchment raster from r.watershed.
>>>
>>> Thanks for putting me on the right track,
>>> Micha
>>>> cheers
>>>>
>>>> milton
>>>>
>>>>
>>>>
>>>>
>>>> 2009/8/3 Micha Silver <micha at arava.co.il>
>>>>
>>>>
>>>>> Milton Cezar Ribeiro wrote:
>>>>>
>>>>> Hi Micha,
>>>>>
>>>>>> May be with *r.neighbors *combined with /interspersion/ method
>>>>>> you can
>>>>>> solve this.
>>>>>>
>>>>>>
>>>>>>
>>>>> Hi Milton
>>>>> Thanks for your help.
>>>>> If my reading of the manual is correct, the "interspersion" option
>>>>> gives
>>>>> each cell the percentage of different cells surrounding it. I'm
>>>>> not clear
>>>>> how this will help with the string of single cells.
>>>>> But maybe running r.neighbors on the catchments raster with the
>>>>> default
>>>>> "average" option will get rid of those strings...
>>>>> I'll give it a try.
>>>>> Best regards,
>>>>> Micha
>>>>>
>>>>> good luck
>>>>>
>>>>>> milton
>>>>>> brazil=toronto
>>>>>>
>>>>>> 2009/8/2 Micha Silver <micha at arava.co.il <mailto:micha at arava.co.il>>
>>>>>>
>>>>>> How can I avoid the problem of strings of single cells when
>>>>>> creating basins with r.watershed? I think this is referred to as
>>>>>> "ladders". Here's [1] an image showing what I mean.
>>>>>>
>>>>>> In my example, the purple colored catchment has two "tails" of
>>>>>> width 1 cell. One tail separates between the light green and the
>>>>>> pale blue catchments. The other (northern) tail splits the dark
>>>>>> green catchment into two.
>>>>>>
>>>>>> After running r.to.vect to get the catchment vectors, I'm left
>>>>>> with the two "strings" or "ladders" of tiny vector areas. The
>>>>>> southern string can be removed with v.clean tool=rmarea with no
>>>>>> ill effects.
>>>>>>
>>>>>> However when I remove those small areas in the northern "ladder"
>>>>>> I'm left with the stream running *along the drainage divide* or
>>>>>> even zigzagging across the divide, neither of which is correct.
>>>>>>
>>>>>> Can this problem be avoided? I've tried with a couple of
>>>>>> different
>>>>>> dem sources, and at different resolutions and threshold values,
>>>>>> but these ladder phenomena always seem to appear.
>>>>>>
>>>>>> This example was done with the ASTER DEM data, using a threshold
>>>>>> of 11000 and resolution like the original data (1 arcsec ~= 30
>>>>>> m.)
>>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Micha
>>>>>>
>>>>>>
>>>>>> [1] http://my.arava.co.il/~micha/ladders.html
>>>>>>
>>>>>> <http://my.arava.co.il/%7Emicha/ladders.html<http://my.arava.co.il/~micha/ladders.html>
>>>>>>
>>>>>> _______________________________________________
>>>>>> grass-user mailing list
>>>>>> grass-user at lists.osgeo.org <mailto:grass-user at lists.osgeo.org>
>>>>>> http://lists.osgeo.org/mailman/listinfo/grass-user
>>>>>>
>>>>>>
>>>>>>
>>>>>> This mail was received via Mail-SeCure System.
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> This mail was received via Mail-SeCure System.
>>>>
>>>>
>>>>
>>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> _______________________________________________
>>> grass-user mailing list
>>> grass-user at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/grass-user
>>>
>>
>> This mail was received via Mail-SeCure System.
>>
>>
>
>
More information about the grass-user
mailing list