I am trying to get zonal statistics in ArcGIS. My zone raster is a world map with zones defined as "provinces (such as the US states)," and the value inputs are temperature data for each "longitude*latitude grid box."

Although I can choose how small each grid box is, ranging from 0.1*0.1 degrees to 1*1 degrees, the provinces and grid boxes do not exactly match. So for example, there could be a province in Switzerland that perfectly overlaps with 5 grid boxes but only partially overlaps with 3 other grid boxes.

I get results just fine when I run standard zonal statistics code in Python but I have no clue how it took care of those partially overlapping zones. Is there any hidden weighting process behind the code?

Going back to the example I used, how is the mean temperature in that province calculated when only 5 out of 8 grid boxes are completely inside the province boundary, while only some parts of the other three are within the boundary?

1 Answer 1


From ESRI'S help for the tool: "If the zone input is feature dataset, internally a vector-to-raster conversion will be applied to it"

Don't pass a feature class to that tool. Be in control of the settings, and do the dissolution (in your case, don't pass any dissolve fields, but do use your zone identifier field as a statistics field) and conversion yourself. Then pass the resulting raster to the zonal stats tool. Otherwise, you don't know what your data really represent.


As for how the values are assigned (ignoring the raster conversion itself), I believe that nearly all raster tools are concerned with cell centers. (Note that the above-linked polygon to raster conversion is the sole exception to this that I can think of, but it allows you to explicitly set whether cell centers or maximum area is used). So, cell values are assigned based on where the cell center falls.

ESRI doesn't make it explicit for each tool, but here's a quote from their zonal histogram page: "The cells on the input value raster belong to the zone that their cell centers fall within."


If you're hung up on the grid boxes that overlap your provinces, there are a number of ways you could address it--but you may not need to. You have to make judgment calls about how much generalization you're willing to accept, but you will be losing and/or misrepresenting information no matter what you do.

Research the metadata/methods of the temperature data. The temperature values may represent the mean/median of conditions across area of the cell or they may represent the interpolated value for the center of the cell. You need to consider how this affects your next steps. Maybe you could resample it to a smaller cell size, using whatever algorithm makes the most sense for your data and your needs. Note that no scale of resampling will fully eradicate your overlapping zones.

  • Thank you so much for your advice. But since I am really new to all this, please help me clarify the first part of your answer. So are you suggesting doing dissolution with the temperature dataset so that grid boxes are dissolved into provinces? If that is what you meant, how do I deal with grid boxes that cross province boundaries?
    – MJ Kim
    Commented Apr 7, 2016 at 16:43
  • @MJKim, you can ignore the first part of my answer. I think I misunderstood what you meant by "overlapping zones". My answer was under the impression that you had zones that overlapped other zones. Everything after the 'EDIT:' is what addresses your specific question; however, I left the first part in place, because the subject of your question was worded vaguely enough that the answer could be relevant to someone else who comes along.
    – Tom
    Commented Apr 7, 2016 at 17:07
  • Thank you for the clarification. I will do some more research on my temperature data. I think using the 0.1*0.1 degrees boxes would decrease the errors quite a bit but I will still have to acknowledge the issue in my paper. I really appreciate your help.
    – MJ Kim
    Commented Apr 7, 2016 at 20:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.