How can I remove the white interstices on the edges (and interior) of a polygone or polyline, as represented in the first figure below? I want to get smooth and continuous edges, capturing the global external shape, as represented by the red line in the second figure below. Also, I want to keep the big white interiors.

I've tried the following methods, none of them being sucessful:

  • convex hull (vector, geoprocessing tools)
  • v.generalize.simplify (GRASS)
  • Simplipy plugin

I used different generalisation algorithms, such as Douglas-Peuker, which I think is not suitable for this problem.

I work with QGIS 2.18.4 runing on Windows 10.

enter image description here enter image description here


Buffer - Debuffer would fill the interstices, but it will partially fill the holes, too. To protect these holes, extract the holes first, then put them back after buffer-debuffer step.

enter image description here

  1. Original feature
  2. Create Convex hull which outlines the original feature
  3. Symmetrical difference to extract interior parts
  4. Break-up the interior parts into single parts. Then select holes and save them as a new layer.
  5. Buffer (positive distance)
  6. Debuffer (negative distance)
  7. Difference between (6) De-buffered polygon and (4) holes polygon
| improve this answer | |

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.