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