Note at the bottom for a possible solution, though it's not very elegant!
I’m at a bit of a brick wall – I think this probably has a really simple solution, but I’m not quite sure where to start. Using ArcGIS Pro.
Problem: I can’t figure out how to calculate the area of various categories in a raster file, based on country boundaries in a shapefile.
Description of raster: Environmental data based on 15 categories of land cover. The attribute table has three fields: Objectid, Value and Count. Value stores a category label, 1-15. I have a separate dbf which maps these to land cover (e.g. large forest, small forest, lake, sea) and Type of cover (e.g. forest, water), but I’m not sure if I should be bringing that in at this stage. I have one version where I’ve joined it to the raster att table, and another version where they’re still separate.
Description of shapefile: This stores various boundaries. The attribute table has 6 fields: FID, Shape, Country, Province, Region, Area.
What I want to achieve: There are five countries. For each country, I want to know the area of forest, the area of water etc.
Rough Illustration
Dbf table:
Raster attribute table:
Shapefile att table:
Goal:
Whether “Forest” and “Water” actually contain the km2 area, or just a cell count that I can convert based on cell size – I don’t mind. It would also be OK to still have Description (large forest, small forest) rather than grouped Type (forest), since I will be analysing everything in Excel anyway (sweet home, Excel).
I thought Zonal Statistics might be a good place to start, but I don’t think that will really achieve what I’m after, since I want to split out the data in the raster. I used that previously with the same shapefile, trying to get the population across each country. But I suppose that was a case of getting less detailed (summing across provinces), whereas now I want to get more detailed (split the “Count” field by country).
Can anyone point me in the right direction to get started?
Edit: I may have found a way to do this. First I extracted each country to a separate layer (select, right click, make layer from selected features). Then I used extract as mask on my main raster. I did this three times, once for each country. Now I have three raster files, each one corresponding to a unique country. I think this will do the job, but I can't help but feel that there's a tidier way.