I'll explain what I'm working with from the beginning so that hopefully I'll be coherent. I am using ArcMap 10.4.1. I have a set of 1037 points in a 500m grid in my study area and am interested in an area around each point with a 1250m radius. So, I created a 1250m buffer around each point. I also have a shapefile with habitat data for the entire study area and I am interested in knowing the habitat composition of EACH buffer zone.

With another dataset where my buffers were only 115m and so did not overlap, I managed this by using a spatial join with intersect of the buffer shapefile and the habitat shapefile, using Multipart to Singlepart to split the habitat polygons, and then Recalculate Geometry to get the new area values within each buffer zone.

However, when I do this same series of steps with my 1250m overlapping buffer zones, the spatial join works well and it tells me which buffer zone each habitat polygon is within, but it will not split the area of the habitat polygon. For example in the screenshot: the small habitat polygon at the bottom that I have selected lies entirely within the buffer zone of point 1037 but only around 60% of it is within the buffer zone of point 1036. In the attribute table the SHAPE_Area is assigned the same value for both (top is 1036 and second is 1037) but I would like it to calculate the area that lies only within each buffer zone separately.

enter image description here

The only other thing I can think of is to manually select each buffer zone and do a spatial join on each one, but I'm hoping someone knows a better way, since I don't particularly want to do that 1037 times. Any ideas?

  • You'll have to calculate the percentage of each habitat zone in the buffer areas and proceed with a regular join afterwards based on attributes. I can't test my idea at the moment so I'm putting it here in the comments to give you a direction. It seems the Tabulate intersections can calculate the percentage of polygons inside polygons link but it's only available for Pro license. If Pro is unavailable, you'll have to use a workaround to get the percentages.
    – Techie_Gus
    Feb 24, 2017 at 12:18
  • 1
    Have you looked at the overlay tools such as Identity or Intersect?
    – John
    Feb 24, 2017 at 12:53
  • @johns I tried Identity yesterday and got an error message and empty data output, but I just tried Intersect today and it did exactly what I wanted but stopped in the middle. I think my problem there is just needing a stronger computer to finish the job, but the actual tool worked well, so thank you!
    – jmcdermo
    Feb 24, 2017 at 17:05
  • Very basic thing. Intersect both, take table to Excel and create pivot table, where buffer is row name, land use is column, areas are value to summarise
    – FelixIP
    Feb 24, 2017 at 18:22

1 Answer 1


I don't have ArcGIS at the moment, but I would start with Union between the buffers and habitat polygons to get areas that are clipped with all boundaries.

Then you should be able to do what you want. Maybe iterate every buffer polygon and Select by location and do calculate geometry. I think this can be done in modelbuilder and arcpy.

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.