1

I have two polygon layers, say A (multipolygon) and B (multipolygon), and I want to find the percent of A in B. For example, the percent of one of the A polygons with ID 1 will be stored in one of the Polygons in B with ID a attribute table as two new columns A with that polygon's ID 1 and and a second column Percentage with the corresponding percentage of that polygon and so on.

Polygon A:

enter image description here

Polygon B:

enter image description here

I did find Determining percent of polygons within other polygons using ArcGIS Pro?. However, the answer is not super helpful/clear.

How can I do this is ArcGIS Pro 3 without using Python as I am not a Python user? Maybe this could be done in ModelBuilder.

Desired Output with two new columns A_ID and Percentage added to B:

B_ID A_ID Percentage 
a    1    X%

3 Answers 3

3

The Tabulate Intersection does exactly this. However, it does require an Advanced license.

Summary

Computes the intersection between two feature classes and cross tabulates the area, length, or count of the intersecting features.

Illustration

enter image description here

3
  • Thank you, so will A go in as input zone features or input class features? Commented Aug 5, 2022 at 12:08
  • Can you kindly respond to my comment? Commented Aug 11, 2022 at 12:18
  • 1
    Depends what you want. B zone, A class, will give you % of B overlapped by A, and A zone, B class, will give you % of A overlapped by B.
    – user2856
    Commented Aug 11, 2022 at 21:39
2

As @user2856 mentioned, the ‘Tabulate Intersection’ tool would be the easiest way. Also, as @champezius mentiond, the Erase tool could also be helpful. However, these tools both require an advanced license, which is rather costly.

If you don't have an advanced license, then you could use the Union tool for this, and then delete the polygons that have an FID_clipping_feature_class <> -1. What ever is left would be the area that you're interested in.

(The Union tool also adds all attributes from both of the input feature classes to the output feature class.)

See Union tool documentation for details: https://pro.arcgis.com/en/pro-app/latest/tool-reference/analysis/union.htm

To actually calculate the percentage, you would have to join your original feature class to the union-output feature class based on the FID (ObjectID) of the original feature class and the FID_input_feature_class of the union-output feature class. Then use the area attribute of both to calculate the difference, or percentage.

2
  • Thank you, so the union tool will also add the two new columns A-ID and Percentage to polygon B or will I have to use a different tool for that? Commented Aug 5, 2022 at 2:18
  • 1
    The union tool will add all of the attributes from both of the input feature classes to the output feature class. However, you will still need to do the calculation for percentage as a separate step. I'll add a bit more to the answer for this... Commented Aug 5, 2022 at 3:31
1

Assuming your input polygons always intersect, you can use the Erase tool on your polygons - which creates a new feature class. Then you can compare the area of the new feature class with either input polygon.

If you want to do all your analysis in ArcGIS Pro or ModelBuilder then you'd need to add more tools to Calculate the percentages and add new fields - see Calculate Field.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.