# Calculating the area of the polygon segments within multiple overlapping buffers

Let me try to explain my problem:

1. I have a layer of polygons
2. A layer of overlapping buffers
3. I want to calculate the area per buffer of the containing polygons.

The problem is that the buffers are overlapping so the clip function does not understand that one polygon can belong to multiple buffers and at the same type each buffer should only have the area of the polygon within itself.

So far, I have tried to clip the polygons within the buffers, and then summarize within the areas, but somehow it does not get the correct answer.

I have also tried the weighted summarize within, but is not able to finish successfully (error writing output file)

I am thinking the only way is in notebook to write a for loop that takes buffer per buffer and summarizes the part of the polygon within. But I am not sure how to write the code for this.

Any pointers?

• To do this I would use Union.
– PolyGeo
Jun 24, 2020 at 17:47
• What do you mean? the union will join the polygons right? I need to only consider the areas within the buffers, but the problem is that many polygons intersect with more than one buffer :( Jun 24, 2020 at 18:50
• The Union tool results in features representing all overlaps between all of its input feature classes. Try it on subsets of your feature classes.
– PolyGeo
Jun 24, 2020 at 19:09

As @PolyGeo has commented, the tool you want to use is Union (in the Analysis > Proximity Toolbox). If you use it as follows you can determine the area of the overlapping polygons for each buffer. Here I have some polygons (in green) overlapped by the buffer polygons (in blue).

I run the Union tool, with the two polygon layers as input features. It doesn't matter what order you use here.

The new output Union layer includes the shapes of all polygons from my two inputs.

Since you only want the parts that are overlapping, we can remove all the features that aren't part of overlapping polygons. You can identify these from the two "FID" fields in the Union layer's attribute table. Anything with a `-1` value in either column are features that weren't overlapping, and so can be deleted from your Union dataset.

I just selected by attributes and deleted

Now you can run a Dissolve to dissolve the polygons for each buffer. Use the Dissolve tool (under Data Management > Generalization), add your Union layer as input features and for Dissolve Field check the FID field that references your Buffers.

Now you can select the unioned & dissolved polygons under each buffer and get the total area from each feature.

You can leave out the dissolve steps if you prefer and just select the polygons based on the FID Buffer field, but if you are working with a large dataset it may be easier to manage if you do the extra step. This could all be put into Model Builder or into an arcpy tool to automate the process.

• It works very well!! Thank you both!! Jun 25, 2020 at 8:53