[GIS] Tabulate Area in ArcGIS for Desktop not creating correct output

arcgis-desktopareatabulatezonal statistics

I have used the Tabulate Area zonal spatial analyst tool in ArcGIS many times, and am encountering a problem for the first time. I am using a polygon grid (fishnet) as my zone dataset, and tabulating areas of different raster values that fall within the polygon cells, for four different raster datasets (and ultimately comparing the areas of raster values among these different datasets).

For three of my raster datasets, the pixel resolution is finer than the size of the polygon grid cells. The tool works perfectly on these datasets. However, when I run it on the fourth dataset — for which pixel resolution is equal to that of the polygon cells and the pixels are perfectly aligned with the polygon cells — the results are completely wrong. The tool should return a table indicating a single raster value associated with each polygon cell. Instead, many cells have multiple values and for these, the sum of areas for each cell are greater than they should be — 9000 square meters rather than 900 square meters. Yet, when I calculate geometry for the polygon, it returns a value of 900sqm for each cell. I also tried using the zonal statistics tool, and have the same problem.

I have a work-around — converting the raster to points, then using a spatial join to associate the raster values with the grid cells — but it is a much more time-intensive process, and I am very curious as to why the Tabulate Area tool will not work in this instance.

Can anyone help troubleshoot this problem?

Best Answer

There is an internal conversion of the polygons to raster when you process a tabulate area (same with zonal histogram and zonal statistics). Therefore even if your polygons align with the raster cells, you could have a feature to raster conversion that ends up with non matching grids. This can be fixed by setting the tool environment with equal pixel size and totally fixed if you convert your feature to raster (with snapping pixel and fixed pixel size) before launching the tabulate area.