[GRASS-user] filling inter-contour area with constant value

Moritz Lennert mlennert at club.worldonline.be
Mon Apr 28 01:45:22 PDT 2014

On 28/04/14 10:12, Venkatesh Raghavan wrote:
> Hi Moritz and Markus,
> On 2014/04/28 16:54, Markus Neteler wrote:
>> On Mon, Apr 28, 2014 at 9:46 AM, Moritz Lennert
>> <mlennert at club.worldonline.be> wrote:
>> ...
>>> This stackoverflow question is about colors, not values. Which are you
>>> looking for exactly ?
> Need to fill unique values for inter-contour area between each contour
> interval.
> (was thinking of vector color fill and subsequent saving as raster where
> colors
> could be assigned unique category values)
>>> For values, one option might be playing with r.grow.distance and its
>>> value=
>>> parameter.
> Can you elaborate a bit on how to use r.grow.distance for this
> purpose. My input map would be a contour raster map.

Using r.grow.distance with the value output option gives you a map where 
each pixel has the value of the closest non-null pixel. So, if you have 
10m, 20m, etc contour values you will get areas of 10m, 20m pixel values 
centered on the contours. I know that this is not exactly what you were 
looking for. In order to get from your contours to 5m, 15m, etc areas 
you would have to probably interpolate your data and then create new 
contours at those levels, but you alreay said that this is not an option 
because of the time involved. But maybe the 10m, 20m areas are already 
close enough to what you are looking for.

Another option would be to go the vector route. Brainstorming:

- transform your raster contours to vector lines (r.to.vect)
- transform those to boundaries (v.type)
- if necessary, add a line at the edge of the region and patch that with 
your contour lines to close polygons (v.in.region, v.patch)
- add centroids to create areas (v.centroids)
- for each boundary get the category values of areas on each side of the 
boundary (v.to.db)
- then, through query of the attribute table, get for each area, the 
average of the contour values surrounding that area


More information about the grass-user mailing list