1

I have a number of polygons with a section of 'empty space' between them, like this:

Before

They are set up on the same layer, with different entries in the attribute table.

I'm looking for a way to join these -- any suggestions?

I am currently using the Vertex Tool to manually drag each point along the border of the other polygon.

I am looking for a result like this:

After

1
  • If you want to do it by hand then the snaping tool bar will help
    – Ian Turton
    Commented Feb 14, 2023 at 16:00

2 Answers 2

1

I would simply fill the hole with a new polygon, being sure to turn on snapping so that there are no gaps, then select the new polygon and the required adjacent one and merge making them making sure that the correct attributes are used for the combined feature, the merge process allows you to chose. The merge tool is on the advanced digitizing tool bar.

0

Outline idea:

  • Create a single-feature layer containing one polygon, a bounding box for your whole data set.
  • Subtract your features from the bounding box, which leaves features representing the holes in your data, plus a skin round the outside.
  • Delete the skin
  • Create a combined layer of the holes and your features. Not sure how you deal with the attributes but make sure your features' IDs are preserved and you can tell which features came from holes.
  • Compute adjacency for these features, so now you have data on which polygons the former holes are next to.
  • Dissolve each former hole with one of the adjacent polygons.

I think this can be done without needing python code except the last step may require some care to generate an ID on which to dissolve, to make sure you don't merge real features.

Or maybe there's already a plugin to do this...