Using either QGIS (1.9) or ArcInfo (9.3.1) I'm trying to identify unique overlaps of prehistoric building footprints from an archaeological site recorded within a single polygon shapefile. While the Overlay>Interset and Geoprocessing>Intersect tools in ArcInfo and QGIS, respectively, work to some degree both return multiple results for each unique overlap. An appropriate parallel for my problem I suppose can be illustrated by a simple 3 unit Venn diagramme in which there are 3 unique intersections or overlaps, yet when running an Intersect routine (particularly that in ArcInfo) I often get up to 12 unique polygons returned - 2 for each shared 'leaf-shaped' intersection, and a further 6 for the centre overlap (each intersection being counted twice).

I'm trying to produce a shapefile illustrating those unique intersections. Ideally I would love for the attribute table of this produced shp to contain details of each intersection i.e. Feature_X intersects with Feature_Y, but I fear I may be asking for the moon on a stick.

Many thanks in advance for any and all advice, Marc

Edit: Following the excellent suggestion of @PolyGeo, I have attached a rough sketch below to hopefully better illustrate my current problems and what I'm hoping to achieve. Forgive the hand-drawn sketch, I'm away from my main PC.

A hand-drawn sketch of my current problem re: intersecting polygons

  • 1
    Check out gis.stackexchange.com/questions/17737/… the key being to input the layer once. If you have the paid version of ET Geowizards you can run a clean and choose the option to have a points layer where polygons overlap, with an ID to link back to the polygons.
    – johns
    Jul 9 '13 at 20:50
  • Thanks, I have again tried the Intersect tool (ArcGIS) but am still getting the same 'Venn effect' (as described above) for those areas where 3 or more polygons overlap; for a shapefile with approx 200 often densely-overlapping polys I am getting almost 2500 reported intersections. I'll try the ET Geowizards solution you suggested this morning
    – mastorey
    Jul 10 '13 at 11:04
  • 2
    I think it would be worth you adding a diagram to this question to illustrate what you are expecting versus what you are getting.
    – PolyGeo
    Jul 10 '13 at 11:19
  • 2
    On your advice @PolyGeo I've attached a sketch above.
    – mastorey
    Jul 10 '13 at 14:48
  • 1
    @mastorey..Do you by any chance have access to ArcGIS 10.1? I've put together a workflow that solves this problem using ArcGIS 10.1.
    – Nxaunxau
    Jul 11 '13 at 15:48

Using model builder (ArcGIS 10.1), you could do something like this:



vennD_main calls sub_model1 which in turn calls sub_model2.

VennD_main VennD_main

VennD_main has two input parameters: a feature class representing building footprints and an output workspace. These inputs are passed into sub_model1.



sub_model1 iterates through all the features in the input feature class, selecting one row at a time. It also creates a subset feature class that does not contain the selected row. It passes the selected row and the subset feature class to sub_model2.

sub_model2 sub_model2

sub_model2 intersects the selected row with each feature in the subset feature class. For each selected row, it returns a list of intersected feature classes to sub_model1. Example - lets say the input data has 3 overlapping polygons. for each polygon, sub_model2 returns 2 separate polygons.

Back in sub_model1, all the intersecting features for each row are merged into one feature class. Any duplicates are removed. sub_model1 returns a list of feature classes to the vennD_main model.

The vennD_main model merges all results into a single feature class and removes duplicates, producing unique intersections for all features.

Sample Input

I've used a dummy input dataset (based on the sketch in the question) to test the model.


Output The Group By field used in the Iterate Feature selection tool is retained in the results and you can use it to work out the IDs of the intersecting features. ps. I have switched off other fields in the image below.


sampleOutput2 enter image description here

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.