I have a raster with different regions (regions in the geographical sense) and I would like to create an output, that shows me the top 10% of cells for each region. I found an answer on how to do it for a single raster, but not for multiple regions within one raster (Identifying top 10% of raster cells using ArcGIS Desktop).

Has anyone got an idea on how to do it or do I need to split up the raster first and then run the calculation for each subraster?

I am using ArcMap (Spatial Analyst included). The raster is a representation of agricultural soil suitability of a state. I have a seperate feature class with 25 subregions of that state, for which i would like to identify the top 10% of best suited cells for each subregion (10% of the agricultural area of each region with the highest suitability). The image shows the raster (red to blue is the suitability, white is no data), black lines are the subregions of the state.

The image shows the raster (red to blue is the suitability, white is no data), black are the subregions of the state


I would use ModelBuilder, iterate over your polygon layer, each polygon becomes a mask to clip out the pixels in that region. Then using the CON tool as discussed in your link, compute the top 10%, which creates a binary raster of 1's and 0's. You could then mosaic the raster back into a single dataset if required.

Or you could compute the top 10% as discussed across the entire raster as region appears to have nothing to do with where the pixels are as your source raster is not regional its a continuous coverage of data. If you wanted a simple count of the number of pixels that are considered top 10% by region ID then use the zonal statistics as table tool

  • Thank you for your help, i will try your first suggestion!
    – Polymorph
    Jan 13 '21 at 8:22

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.