QGIS – Removing Overlapping Polygon Boundaries Within Same Layer

qgisqgis-processing

We are building mosaic datasets for 100's of rasters (Topo sheets). Used QGIS Tile_Index to get the raster_topo_sheet's extent as vector. But the issue is, overlaps near the edges of all the topo sheets. Instead of manually correcting these edges for footprint creation, can't we merge/delete one boundary and make it seamless ?

enter image description here

1) Tried "Eliminate selected polygons" in qgis with alternate polygons selected (Largest common boundary). But result was not as expected.

2) Tried "Dissolve tool" in QGIS. Removing overlapping/duplicate polygons in same layer using QGIS?. But same overlap exists.

Best Answer

QGIS 3.4.1

From Processing Toolbox:

  1. SAGA | Vector polygon tools - Polygon self-intersection tool. This tool returns a new layer with sub-divided polygons (while only one of the duplicated overlapping area is retained).
  2. Vector selection - Select by expression tool. Use an expression to select the sliver polygons (see below example).
  3. Vector geometry - Eliminate selected polygons tool will remove these selected features. (I would suggest Largest common boundary option... it will give more naturally-looking output.)

(Example of the Step 2) It is hard to explain the Step 2 without showing sample pictures...

Use Select by Expression on the Intersection layer (output layer by the Step 1) to select sliver polygons. In this example I selected polygons which area are less than 7,000 m2. (Please decide this threshold value beforehand. I used Measure Area tool and visually checked the biggest sliver I wanted to remove.)

enter image description here

All slivers were successfully selected and highlighted, so I can merge them with the neighbor polygons.

enter image description here