[GRASS-user] Re: internal buffer of polygon

Patrick S. patrick_GIS at gmx.ch
Fri Apr 20 04:47:29 EDT 2012


Another workaround. Don't know if that helps and never tried it out, but 
my approach for inner offset would be a decomposition of the polygons:

v.type in=poly out=poly_as_line type=boundary,line
v.parallel
v.clean tool=break
v.type type=line,boundary
v.centroids
v.build

If you can not define the side-paramter of v.parallel (is it always the 
same?), you might want to create parallels and polygons for both sides 
and remove the outer by querying if the original polygon lies inside, 
e.g. if the perimeter-lenth is longer than the original one....

greetz, patrick

On Thu, Oct 29, 2009 at 4:59 PM, Milton Cezar Ribeiro 
<miltinho.astronauta at gmail.com> wrote:

> >  Hi Maning,
> >
> >  Sometimes I have the same issue, but I don't solve this on vector.
> >  Just supose you have a map where 1 is your raster-based-polygon
> >  and NULL is outside of polygon. You can use r.mapcalc to
> >  invert it, in the maner that 1 come to be your non-polygon, and
> >  NULL your polygon. So you can run r.buffer with positive value
> >  and at the end may be you need to do some kind of crossing
> >  between original and output maps.
> Bests.
> >
> >  miltinho
> >
> >  2009/10/29 maning sambale<emmanuel.sambale at gmail.com>
>> >>
>> >>  I tried using a negative values as
>> >>  buffer=-3000 in v.buffer but it doesn't give me internal buffer in a
>> >>  polygon layer.
>> >>
>> >>  Any hints?
>> >>
>> >>  --
>> >>  cheers,
>> >>  maning



More information about the grass-user mailing list