[GIS] Intersecting raster with polygon grid in ArcGIS Desktop

arcgis-10.1arcgis-desktopintersectpolygonspatial-analyst

I'm trying to generate the fractional coverage of land-cover within polygon grid cells.
My land-cover is a 30m raster dataset (10008×8939 cells) and my grid is a fishnet shapefile (approximately 1km resolution; 120×111 cells).

What I normally do is create a fishnet corresponding to the raster, then sample the raster using the fishnet labels, and join the labels back to the grid polygon. This way I convert the raster into a polygon. Using the arctoolbox Raster to Polygon tool does not work so well for me because it does not give me a raster cell by cell representation of the data; even with "simplify polygons" unchecked.

With the raster as a polygon I can intersect it with the fishnet and do some calculations to get the fraction of land-cover types within each fishnet cell.

This worked really well until I got to this 30m dataset. Already ArcMap complains about a 2gb limit when trying to create the grid the raster will lay on.

Is there any other ideas?

A polygon grid that large will take ages to process.

The other answers related to this question seem to consider some sort of resampling and not relating the data to an arbitrary non-aligned grid.

Best Answer

Ok so I've found something that works for me. Incredible that I missed the Tabulate Area tool in the ArcGIS Spatial Analyst. It does what I need, and incredibly fast.

Using the 30m raster as a data source and the fishnet grid as the zones (with a unique ID field), I can get the fractional coverage of each land-cover type in each grid cell. It really doesn't matter the projection since I just need the fraction per class. I can imagine this is a solution only for rasters with categorical data.

Just note that the tool will output a table with only the grid cells/zones/unique IDs that overlay a raster cell with a value. In my case no land-cover value is used to represent ocean (set as missing data) so the table did not contain entries for those cells.

Related Question