[GIS] How to fill a hole in a multi-polygon layer on QGIS 2

editinggeometryqgistopology

I need to fill a hole in a multi-polygon layer on QGIS 2.0.
I've set the snapping option for the layer as follows :

  • mode: to vertex and segment
  • tolerance 4 pixels
  • avoid intersection "enabled"
  • topological editing "enabled"

When I try to edit a rough shape around the hole and confirm it right clicking, the system told me "The feature cannot be added because its geometry collapsed due to intersection avoidance"

enter image description here


Update:

I have a multipolygon file with a hole. I'm not able to fill the hole because if I manually edit it the system tells me that it is impossible to add it because the geometry is collapsed due to intersection avoidance. If I try to use the specifc tool it tells me that it's impossible due to the snapping settings.

These are the images:

specific tool

error message about snapping setting

snapping setting

enter image description here
enter image description here

Best Answer

You're using the wrong tool for filling the hole: You're using the "Delete Ring" tool, but you should be using "Add Feature".

"Delete Ring" is used for deleting an interior ring of a single polygon feature (like the hole in a donut polygon). However, all your features are simple polygons consisting of only an exterior ring, so when you try to draw a large polygon to capture the empty space between your features, you get the "Could not snap segment" error message, as the tool can't find an interior ring to delete where you clicked.

In your case, "filling a hole" actually means "adding a feature that covers the extent not covered by any of the other features in the layer". To do that, you only need to set "Avoid intersections" in the Snapping options (the snapping itself doesn't have to be activated, and neither does the topological editing), and then create a new feature by generously drawing a polygon around the empty space (i.e. around the hole).