I have two different layers (Layer 1 and Layer 2) both made up of many thousands of polygons. Many of the polygons in Layer 1 overlap to differing degrees with Polygons in Layer 2. I need to calculate how much (percentage) each polygon in Layer 1 overlaps with the polygons in Layer 2.

  • I would start by investigating the Union tool to perform polygon overlay between your two layers. – PolyGeo Aug 5 '16 at 2:40
  • Intersect and summarise areas by I'd of target polygon. Create new field in target polygon,join with summary and compute your fractions – FelixIP Aug 5 '16 at 4:36
  • Add a new field to both layers to hold the original areas and call it Area
  • Calculate the areas for all the polygons in each layer and put into the Area field
  • Execute a union of layer 1 and layer 2 - make Layer 1 target layer and include FIDs
  • Add two new fields to the union result - AreaCalc and PC_Overlap
  • Calculate the areas for the resulting union layer polygons and put into the AreaCalc field
  • The union layer now contains the original areas of both layers and the areas of the overlapping polygons - we now need to query them properly to prepare for the percentage calculation
  • The Union layer will have two fields - FID_Layer1 and FID_Layer2 - where there is overlap, FID_layer1 <> -1 AND FID_Layer2 <> -1 - this is what we want -
  • Add two fields to the union layer called PC_Overlap1 and PC_Overlap2, or whatever, to hold your percentage calculation
  • Calculate the percentage of overlap in Layer1 - PC_Overlap1 = AreaCalc / Area * 100%
  • To calculate the percentage of overlap in Layer2 - PC_Overlap2 = AreaCalc / Area_1 * 100%
  • This will return a layer with attributes for each layer that is overlapped and how much overlap occurs. If you need to know how much a particular polygon is overlapped(if overlapped by multiple polygons), you can dissolve the union layer on either FID_Layer1 or FID_Layer2 and set the PC_Overlap statistic to SUM.

Here is a sample of the attribute table from the union layer enter image description here

And here is the layer dissolved on my MR layer (layer 2 in example) You can see that the polygon with FID_Layer2(FID_MR in the pic) of 3 has 2 overlaps and a total percentage of 54.7, which is the sum of the two records in the first pic with the FID of 3 (31.8 + 22.9) enter image description here

| improve this answer | |
  • I think that this will not work because summarise is missing – FelixIP Aug 5 '16 at 4:39
  • You don't need to summarize anything with this method. If you test it you will see that it works. – jbalk Aug 5 '16 at 5:09
  • No need to test. It is one of the tasks I do many times during the day. You solution based on unlikely scenario where one polygon on layer A intersects one and only one polygon on layer B – FelixIP Aug 5 '16 at 5:27
  • It doesn't matter how many overlaps there are in my example. You can extract whatever statistics you need from the union layer (how many overlaps, total percentage, what it is overlapped by, etc.) – jbalk Aug 5 '16 at 5:58
  • This part was not in your original answer and this is exactly what John wants. It will work now – FelixIP Aug 5 '16 at 6:06

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.