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.
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?