[GIS] How to find the area of raster values within polygon zones

analysisarearaster

I'm using ArcGIS 9.3 and I just can't seem to get this right – I've tried tabulate areas, zonal stats, converting to polygons, etc. I'm missing something somewhere.

I have a USGS impervious surface raster data set that has been clipped to my analysis zones (watersheds). I reclassified the values (100) into 10 values and then added fields and calculated the areas in sq mi and sq km throughout my analysis extent of each value. But what I really want is those areas calculated per analysis zone – 15 in all. I don't have classes here per se, just different levels of imperviousness. I want to see how much of each value is in each zone. It seems the tabulate areas tool should work, but I don't understand the numbers I'm seeing in the table. I'm choosing analysis name as my zone field and the sq mi as my class field. Any help would be much appreciated to a relatively new GIS user.

Thanks

Best Answer

I will admit to an aversion to the "higher level" functionality in Spatial Analyst, such as the clipping and area tabulation, because too many undocumented operations go on under the hood. In the effort to simplify these operations, the software developers have made them less transparent, whence less reliable, and thereby much less useful. The closer you are to the details of the calculation, the more likely you are to understand it and to get the correct answer.

So, motivated by that, consider using combine to overlay the watershed grid and the permeability class grid. The result of combine is to create one code for every distinct ordered pair of (watershed id, imperviousness class) values occurring within the cells. In addition, two fields are adjoined to the attribute table: one gives the watershed id and the other gives the imperviousness class. As always, there is a [count] field, too: multiplying this by the square of the cellsize (and converting to any area unit you prefer, such as acres or square miles) gives the answers you're looking for. The multiplication is readily done with the Field Calculator or by exporting the attribute table and using other software (like a spreadsheet) or even by multiplying the grid itself (inefficient, but it works), provided the multiplicand is an integer.

(Evidently, tabulate areas attempts to do these two operations at once: combine and multiplication by the squared cellsize. It's not much of a savings in user time, especially when you factor in the additional search for (nonexistent?) documentation about what's really going on...)