This question is related to a previous question I asked as Raster Version of Spatial Join (one to many)

In ArcGIS Desktop 10.1 I used the Tabulate Area tool to crosstabulate values between an overlapping "buffrast" raster (with identities of 1917 different buffer zones) and "RR1.tif" (with land cover codes for each pixel within the 1917 buffer zones). Detailed methods:

Region Group was carried out for RR1.tif with the Add Link option chosen, and the Snap Raster environment enabled for buffrast. Tabulate Area (Spatial Analyst) was used with the following inputs: input raster or feature zone data = buffrast (zone field = ident), input raster or feature class data = RR1.tif (class field = LINK), processing size = 25.

This worked perfectly for most of the points, with total areas adding up to ~70000 for each of the 1917 buffer zones; however I run into problems where two or more buffer zones overlap each other - when this happens ArcMap "doubles up" on the total area of each buffer zone resulting in Areas of ~90000 and up.

How can I run the Tabulate Area tool for such overlapping buffer zones?

  • 1
    Try using the Union tool on your buffer data to "flatten" your stacked polygons into a single geometry. So where there is an overlap you'll just have a single polygon. – Hornbydd May 22 '13 at 20:48
  • How many distinct land cover codes are there? If it's reasonably small, there's a better way to carry out your analysis. – whuber Aug 8 '13 at 17:10
  • @whuber, would this different methodology be useful for me? gis.stackexchange.com/questions/141763/… – traggatmot Apr 9 '15 at 23:59

Geospatial Modelling Environment isectpolyrst tool that will handle overlapping polygons. GME depends on both ArcGIS and R, so you will need those. I believe it handles the overlapping polygons by running each one individually.

I wanted something that would divide the input zones into optimium groups to limit the number of calls to TabulateArea, so I went with a custom python solution.

If you need an ArcObjects solutions, Here is an example: https://gist.github.com/brendancol/6185995

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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