2

Using QGIS, what is the quickest way to check whether a shapefile has polygons that overlap each other?

I guess I could import it into PostGIS, then see whether:

SUM(ST_Area(geom)) 

is the same as:

SUM(ST_Area(ST_Union(geom)))

But that doesn't feel like it's likely to be the most efficient way to do it, especially since my shapefile has about 40k features.

Any ideas?

PolyGeo
  • 65,136
  • 29
  • 109
  • 338
Richard
  • 3,289
  • 6
  • 35
  • 66
  • 1
    I reduced the scope of this question to prevent it being closed as too broad, and to match the only answer. To ask the same question for another product just ask a new question. – PolyGeo Apr 25 '17 at 20:35
  • 1
    Thanks - I've opened the same question for PostGIS; https://gis.stackexchange.com/questions/243565/check-whether-shapefile-has-overlapping-polygons-in-postgis – Richard Jun 11 '17 at 20:52

1 Answers1

4

Without knowing what software you are using I can only answer if you use QGIS. Simply running the 'Topology Checker' tool will identify where all overlaps occur in a single layer

Knightshound
  • 4,430
  • 18
  • 39
  • Thanks - how? I've opened the plugin, do I need to add a rule of some kind? I've tried adding one saying that my layer is layer #1 and it "must not overlap", with no layer #2 - is that what you mean? It's running, but is very slow because my layer is large, so I'm not sure what it will find. – Richard Apr 25 '17 at 15:38
  • Ah just found this: https://gis.stackexchange.com/questions/119625/identifying-overlapping-polygons-in-single-layer-using-qgis – Richard Apr 25 '17 at 15:40
  • Unfortunately this doesn't work for me because my shapefile is too large... QGIS just stops responding. – Richard Apr 25 '17 at 16:08
  • A faster method might be to throw your layer into PostGIS and search for overlaps by their bounding boxes but I'm not entirely sure how to accomplish that – Knightshound Apr 26 '17 at 06:37