I am working on a large polygon containing multiple polygons, which requires me to set a buffer in order to perform other analyses. I used R to do the buffer, for example, a -> gBuffer(b, byid = T, width = 0). For most of these polygons, it worked fine. However, there were a few polygons with holes (see the attached figure), these holes were filled after setting the buffer with a width of 0. I tried QGIS to do the same analysis, the result was the same.

Do you have thoughts on this?

enter image description here

  • Once edited so that the question and answer are focused on QGIS alone we should be able to re-open this question.
    – PolyGeo
    Jun 5 at 22:32

1 Answer 1


I am not vary familiar with R, so I have try to reproduce the problem in QGIS and as I expected the buffer tool works fine with polygons with rings or holes. I think the problem could be that those holes are not actual holes, just the polygon touch with itself. Try to apply topological rules to your dataset in order to solve the problem.

  • thanks for your feedback. I agree with you that these are not holes. This polygon was converted from a raster and there were many polygons touching interiors. I am not familiar with QGIS, Are there any tools to fix these invalid geometries in QGIS?
    – Yong Zhou
    Jun 5 at 15:43
  • I fixed these geometries using QGIS, and now it worked, thanks so much!
    – Yong Zhou
    Jun 5 at 15:52
  • I happy to hear so! Jun 5 at 15:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.