1

I'm trying to generate the fractional coverage of land-cover within polygon grid cells. My land-cover is a 30m raster dataset (10008x8939 cells) and my grid is a fishnet shapefile (approximately 1km resolution; 120x111 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.

  • 1
    Usually those tasks are way better solved on the raster level. I would transform the polygon grid to raster (feature to raster). Also the tools from ESRI are quite mature. You will have same issues regardless of the software used. – Matte Oct 16 '18 at 14:51
2

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.

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.