I would like to find local maxima in different zones of raster file.

I got five zones (zone 1, 2,3,4,5) and would like to find local maxima with different window search for each zone in arcgis desktop 10.

For example, find local maxima with 3x3 moving window size for zone 1, with 5x5 window size for zone 2, with 7x7 window size for zone 3.

1 Answer 1


The Focal Statistics tool in Spatial Analyst can take care of the local maxima. Unfortunately, the size and shape of the neighborhood around the focal cell is fixed for the entire run. Thus, you will need to rerun Focal Statistics for each window size by adjusting the neighborhood parameter:

Focal statistics neighborhood

Once you have one local maximum raster for each window size, you need to combine them into a single raster. It's possible, albeit finnicky, to accomplish this in a series of nested con statements in Raster Calculator. A more reliable and robust solution is to use the the Pick tool in Spatial Analyst.

Pick tool

Here's the detailed steps that I would do:

  1. Organize your local maximum rasters by creating an order. For example, the 3x3 window is raster #1, the 5x5 is raster #2, the 7x7 is raster #3, and so on.

  2. Presuming that your zone data are vector polygons, you should add an integer field to the zones. In an editing session (or with Field Calculator) you should populate this field with the raster number from step 1.

  3. Use the Polygon to Raster tool to rasterize your zone data. For the value_field parameter, choose the field you made in step 2. Set your cellsize parameter and Snap Raster environment variable to match your other rasters to ensure proper pixel registration.

  4. Use the Pick tool with the raster you created in step 3 as the in_position_raster. Enter you local maximum rasters to the in_rasters_or_constants parameter, making sure to use the same order you set in step 1.


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.