filter / generalize elevation points on the basis of some conditions

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 '13 at 14:30

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):

-
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 '13 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 '13 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 '13 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 '13 at 13:06
Thank you very much Whuber... and I'm sorry to thank you so late! It worked fine! Thanks again! Paolo – user15600 Feb 27 '13 at 14:28