Densify vertices in polygon

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Densify vertices in polygon

Robert Nuske
Dear Listers,

I would like to smooth polygons coming from a raster via r.to.vect using
v.generalize methods=snakes.

If I understood the documentation correctly, snakes is the only method
that tries to go the middle ground: neither entirely circumscribing
(larger than original polygon) nor inscribing (smaller than original
polygon) the polygon. I love that behavior. But snakes only works with
the available vertices and does not generate new vertices => quite rough
outlines.

So i thought it would be a good idea to densify the vertices of the
polygon before the generalization. Create new vertices with distance x
on the boundary of the polygon. But couldn't find a function in GRASS
doing that.

I would love any hints on generalization in general and on how to
densify my vertices.


Thanks
   robert
_______________________________________________
grass-user mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-user
Reply | Threaded
Open this post in threaded view
|

Re: Densify vertices in polygon

Markus Metz-3
Hi Robert,

On Wed, Jun 19, 2019 at 4:26 PM Robert Nuske <[hidden email]> wrote:

>
> Dear Listers,
>
> I would like to smooth polygons coming from a raster via r.to.vect using
> v.generalize methods=snakes.
>
> If I understood the documentation correctly, snakes is the only method
> that tries to go the middle ground: neither entirely circumscribing
> (larger than original polygon) nor inscribing (smaller than original
> polygon) the polygon. I love that behavior. But snakes only works with
> the available vertices and does not generate new vertices => quite rough
> outlines.
>
> So i thought it would be a good idea to densify the vertices of the
> polygon before the generalization. Create new vertices with distance x
> on the boundary of the polygon. But couldn't find a function in GRASS
> doing that.

v.split -n should do exactly this: add new vertices with distance x: length=x
The -n flag causes new vertices to be added with splitting the lines/boundaries.

>
> I would love any hints on generalization in general and on how to
> densify my vertices.

Apart from the manual of v.generalize, there is a tutorial at
(maybe not completely up to date)

HTH,

Markus M


_______________________________________________
grass-user mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-user
Reply | Threaded
Open this post in threaded view
|

Re: Densify vertices in polygon

Robert Nuske
Moin Markus

thanks for your helpful answer. v.split is what I was looking for and couldn't find.

I did see the v.generalize tutorial in the wiki. That's where I found the great description of in- and circumscribing smoothing ;-) But I did not find any information on the parameter of snakes, neither on the manual page nor the tutorial. alpha and beta seem to influence somehow the smoothness. But I could not figure out what the paramter threshold does. Seems to have no effect.

Thanks
  Robert


Am 19.06.19 um 18:01 schrieb Markus Metz:
Hi Robert,

On Wed, Jun 19, 2019 at 4:26 PM Robert Nuske <[hidden email]> wrote:
>
> Dear Listers,
>
> I would like to smooth polygons coming from a raster via r.to.vect using
> v.generalize methods=snakes.
>
> If I understood the documentation correctly, snakes is the only method
> that tries to go the middle ground: neither entirely circumscribing
> (larger than original polygon) nor inscribing (smaller than original
> polygon) the polygon. I love that behavior. But snakes only works with
> the available vertices and does not generate new vertices => quite rough
> outlines.
>
> So i thought it would be a good idea to densify the vertices of the
> polygon before the generalization. Create new vertices with distance x
> on the boundary of the polygon. But couldn't find a function in GRASS
> doing that.

v.split -n should do exactly this: add new vertices with distance x: length=x
The -n flag causes new vertices to be added with splitting the lines/boundaries.

>
> I would love any hints on generalization in general and on how to
> densify my vertices.

Apart from the manual of v.generalize, there is a tutorial at
(maybe not completely up to date)

HTH,

Markus M



_______________________________________________
grass-user mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/grass-user