I'm using ArcGIS Desktop 10.3.

I have two layers. The first is a raster layer representing density of birds over a given area. The second layer is a polygon layer representing property boundaries, of which there are roughly 14,000.

I'm attempting to prioritize the polygon features based on the corresponding density of shorebirds. The nature of the polygon layer is such that some polygons cover multiple cells in the raster, while some are small and in some cases cover less than a single cell in the raster.

Ideally what I would like to do is where a polygon overlaps with the raster layer, I would like to assign the highest corresponding value from the raster layer to an attribute field of the given polygon feature. In a perfect world, where the polygon is large enough that it covers multiple cells in the raster, I would like to either take the mean value of those cells, or alternatively assign the highest value to the polygon.

I can't figure out how or if this can be done.

  • 1
    Welcome to GIS.SE! This looks like an easy zonal statistic task :). It's good to specify in question the software you want to use for it.
    – Oto Kaláb
    Commented Jan 31, 2017 at 15:36
  • Thank you @otoKalab. I'm using ArcGIS 10.3. I'll have a look at zonal statistics tool. Cheers. Commented Feb 1, 2017 at 9:14

1 Answer 1


Basically, what you need is the zonal statistics as table tools, which will compute the mean and the max values (and more) for each polygon. However, as you mentioned that some polygons are smaller than your pixel size, you will not get values in this case. Three solutions are therefore possible, the best one depends on how your data is organized:

1) create the centroids of your small polygon and use "extract value to point" in order to get the pixel value at the polygon location. This will give you the value of the closest or the interpolated value between the four neighbouring pixels (you have option choice). Centroids are representative of small and compact polygons, but this will not work well for long and thin ones.

2) select the small polygons and create a buffer around them, then run the zonal stat. This works if the buffers of small polygon are not overlapping, andthis way you can get the max of the neighbours.

3) resample (linear interpolation) with a pixel size smaller than the width of the smallest polygon and run the zonal stat at this resolution (make sure that you force the use of high resolution with the zonal stat tool). This is the most robust method, but also the most computationnally intensive one.

  • Thank you for the answer @radouxju . I'll try your suggestions to see what works. Cheers. Commented Feb 1, 2017 at 9:28

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.