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

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 '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
  • 2
    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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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