2

Using QGIS 3.12 (EPSG:27700) I am trying to create a polygon shapefile of features covering the 'blank' areas within a study area polygon that are not covered by a building and road polygon layer.

I have been able to do this using a number of different methods, including:

1 - symmetrical difference with the study area boundary and the road/building layer.

2 - union with the study area boundary and the road/building layer as inputs and extracting the non-overlapping areas from the output.

3 - merging the study area boundary with the road/building layer. Edit mode with digitizing tools and cutting.

4 - merging the study area boundary with the road/building layer. SAGA Polygon self-intersection.

The issue I am finding is that the output has topological errors. Importantly, for me, a topology check indicates there are overlaps in the output polygons with the building and road shapefiles. The figure indicates the boundaries, in red, that have intersecting geometries.

I need a method that is repeatable, does not require manual editing of the shapefiles to remove overlaps and does not edit the original input data. Is there an alternative method that would prevent overlapping geometries occurring?

Example topological error - feature overlaps

2
  • Mathematically speaking, it is impossible to generate a mutually exclusive, exhaustively complete polygon set doesn't overlap with polylines which traverse that domain. The best you can hope for is that the overlap only occurs along the exterior rings of the polygons.
    – Vince
    Commented Mar 3, 2020 at 12:45
  • As a practical matter just run a v.clean of your results in GRASS with a v.n.ogr snap tolerance small enough it doesn't affect the shapes but fixes the topology errors, or run your overlay in GRASS and set a tolerance there.
    – John
    Commented Mar 3, 2020 at 17:19

1 Answer 1

1

Source geometries must share a node at each of their intersections.

That is, where the ring of the study area polygon intersects the ring of a road or a building polygon, there must be a vertex in both rings.

The condition of not editing the input data will not allow you to ensure a topological relationship between the input and output geometries when operating between them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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