2

I have a layer that contains polygons that should be "topologically correct" if I understand that term correctly. The polygons should share vertices of adjacent polygons, allowing no gaps and no overlaps.

The trouble is that some were drawn manually it seems and I need to "fix" these not quite touching polygons. See the example below, showing part of two polygons that should be sharing a border but are not. What I would like is for the polygon containing vertices 1,2,3,4 to instead contain vertices 1,5,6,7,8,4 like the other one. This is a relatively simple example that could be fixed vertex by vertex using the "snapping" tool - adding additional vertices between 2 and 3, and snapping them to their counterparts. But some borders I would like to match up are much more complex where each may have hundreds of vertices that don't match but should, and I'd like to "snap" from a selected first point to a selected second point to replace all the vertices in one polygon to those in the other.

What I think I would like to do then is to select and "copy" in this example vertices 5, 6, 7, 8 from one polygon, then select the other polygon and select vertices 2, and 3, and "paste/replace" these two selected vertices with the vertices copied earlier. Of course I'd be copying a much more complex larger set of vertices.

Any ideas how to do this with QGIS? Any other tools come to mind?

enter image description here

2
  • 2
    Are you dealing with a few cases you could manually address in an edit session, or do you have many and would like an automated solution that fixes the topology but might move some vertices a bit within a tolerance? If the latter you could try the GRASS v.clean tool or the Snap Geometries to layer with the prefer aligning modes but add vertices if needed option. You would experiement with different tolerances and then check the results. If you can manually edit just a few you could use the nodes tool and snapping and you could edit more using the reshape tool and tracing. – johns Jul 15 '20 at 19:29
  • Oh - reshape tool and tracing sounds like something I should investigate. I knew tracing was an option when drawing a new polygon, that would be a great way to prevent this issue. I was not aware tracing was an option to reshape. I'll check that out, thanks! – Brian B Jul 15 '20 at 19:50
2

There are two plugins in QGIS that can do the job for you:

  1. Check Geometries, see documentation. It has a Topology checks section: use the Checks for overlaps smaller than and Checks for gaps smaller than checkboxes to set a maximum area for gaps and overlaps to be eliminated.

  2. Topology Checker, see documentation. Select Must not have gaps and Must not overlap.

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.