Hi GRASS list,
I am kind of lost and hope someone can point me in the right direction.
Is there a way to automatically (not by manually editing the dataset)
remove all holes in all areas of a vector dataset (I guess that are
polygons without a category within polygons with a category).
Thanks a lot
robert
On 8/10/20 18:11, Robert Nuske wrote:
Hi GRASS list,
I am kind of lost and hope someone can point me in the right direction.
Is there a way to automatically (not by manually editing the dataset)
remove all holes in all areas of a vector dataset (I guess that are
polygons without a category within polygons with a category).
What do you mean by remove ? Fill them as separate polygons ? Make them part of the containing polygon ?
If the latter and if the holes are all smaller than existing polygons, one possible path I see is making them into actual areas using v.centroids and then merge them with the outside polygon using v.clean with the tool=rmarea.
Moritz
Hi Moritz
Is there a way to automatically (not by manually editing the dataset)
remove all holes in all areas of a vector dataset (I guess that are
polygons without a category within polygons with a category).
What do you mean by remove ? Fill them as separate polygons ? Make them part of the containing polygon ?
The holes shall become parts of the bigger containing polygon.
I dreamed there could be a way to drop "rings" which do not have categories. Or something like PostGIS' ST_ExteriorRing.
If the latter and if the holes are all smaller than existing polygons, one possible path I see is making them into actual areas using v.centroids and then merge them with the outside polygon using v.clean with the tool=rmarea.
Interesting, that could work.
I ended up using a slight variation, using dissolve instead of clean to not having to come up with a minimum area:
v.centroids in=poly_with_holes out=poly_centroids
v.category in=poly_centroids option=del cat=-1 out=poly_no_cat
v.category input=poly_no_cat output=poly_same_cat option=add step=0
v.dissolve in=poly_same_cat out=poly_no_holes
Thank you very much Moritz!
Robert