I wanted to generalize many elevation points in a rectangular area (about 700 square km). I need to take about 3 points for square km. These points must satisfy some conditions: One of these conditions is to find the highest point in a buffer of 500m: I would loop on all the points / "raster cell" (I think vector analysis will be too heavy, so I thought to do a "raster approach" creating an elevation grid from points) and give a score of "5" to the highest points / "raster cell" 500m around each. I wanted to do it in an ArcGIS ModelBuilder flow.

  • Another solution could be: 1) create a polygon feature buffering the points (buffer radius = 500m) 2) select the highest point inside each buffer Is it possible? How could I do? Thanks in advance! Paolo
    – user15188
    Feb 14, 2013 at 14:30

1 Answer 1


The highest point within a 500 m radius is obtained by comparing its elevation to a 500 m circular neighborhood maximum based on the same elevation grid. In pseudocode, this is

"elevation" >= FocalStatistics("elevation", NbrCircle(500, "MAP"), "MAXIMUM", "DATA")

The result is a boolean indicator grid whose true (1) cells designate such highest points. This example covers a 5 by 6 km region, overlaying a hillshaded DEM (greens and yellow) with the result (in blue):

Example map

  • Thanks very much for your precious help, but, I'm sorry... I'm really a newbie with Phyton scripts. Could you please suggest me how to "use" the pseudocode? Just an input.... I suppose I've to use it in an Arcgis "field calculator". I copyed and pasted the pseudocode in the "expression field" of the field calculator but I receive and error. Thanks in advance for all! Paolo
    – user15188
    Feb 15, 2013 at 8:32
  • You asked for a model, so just use Modelbuilder to (1) compute focal stats and (2) compare the original grid to it.
    – whuber
    Feb 15, 2013 at 15:56
  • Thanks very much Whuber! I put the focal statistics tool in a flow and it worked (ArcGis 10.0)! but... the "focal statistics grid" I got is not a boolean indicator grid (with true (1) = cells with highest points) but another elevation grid with a cellsize = buffer size (NbrCircle(500, "MAP") = 500m) and cell value = height value. I need the cellsize remains of the original size (5m), and cell value indicates me the highest pixel inside each single buffer. I can't understand what's wrong... Thanks in advance for your help! Paolo
    – user15246
    Feb 16, 2013 at 11:49
  • That's correct: the focal max returns maximum elevations. It seems you have forgotten to compare that to the original elevation grid: the comparison returns boolean values only.
    – whuber
    Feb 16, 2013 at 13:06
  • 2
    Thank you very much Whuber... and I'm sorry to thank you so late! It worked fine! Thanks again! Paolo
    – user15600
    Feb 27, 2013 at 14:28

Your Answer

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

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