[GIS] Calculating forest cover within buffer that overlaps with other buffers

arcgis-10.0arcgis-desktopbufferintersection

I'm new to ArcGIS.

I have a layer showing forest cover in a landscape. I'm trying to create a 5km buffer around every forest patch in the landscape and then calculate the amount of forest within that buffer. I've done this before with non-overlapping buffers, just by dissolving all forest patches into a single multipart feature and then intersecting this with the buffers. However, in the landscape I am working on now many of the buffers overlap with each other, and wherever a forest patch within the buffer of interest is also intersected by another buffer it gets split into several features. So, instead of a single value for forest cover per buffer I'm getting value for every little piece of patch that has been created by the overlaps.

Does anyone know how to get around this, so that I have a single value of forest cover within each buffer? Seems like it should be easy, but I've been fiddling with spatial join and merge all day but haven't gotten anywhere. Using V10.

Best Answer

If you're using ArcGIS 10, you can do it without Editor or Info by creating the buffer as a different layer, then doing a Union (Analysis->Overlay) on the initial layer and the buffer. This should create additional fields in the dataset, for instance if the unique field is "Name", then there should be a field "Name_1". In other words the union is basically joins the structure of both layers together.

You can then filter out all shapes where "Name" is nothing (Deifinition Query = "Name"<>'') [two single quote marks after <>] which should leave you with just the initial shapes, split by the buffers.

You can then calculate the area of each of these objects into a new field and do a spatial join on the buffer layer counting the sum of the area of the filtered Union Layer.

Hopefully this graphic illustrates this visually.Filtered Union Screenshot

Related Question