I have 30 overlapping maps that contain tree density heights (measures between 1-100%) of a large area, and I need to get the highest point by pixel and create a new map with all these highest points if it makes sense.

Basically, say in point (pixel) "A" in map 1, 2...30 the maximum elevation is 25 m, and in the next pixel "B" (in all the other maps) is 20. I would need to create a new map (a new matrix) that condenses all these elevations/densities (and will look like 25, 20, x, y, etc).

Someone has suggested making a program to analyze all of the maps by pixel, but I'm new to this.

I have the data in three different formats (the same data) these being tif, .dtm. and ASCII. I have a section of a river, and the 30 maps overlap on top of each other exactly. They have measurements of three density (0, where there is no "vegetation" in the pixel, to 100, all is vegetated), now each of these overlapping maps contain this same density (0-100) for different heights, namely 1-30m. For example: in map 1, I would have calculated already from another program the points between the "bare ground" and 1m, so my map "1" contains everything ABOVE 1m, my map 2, will contain everything after 2m, etc until reaching 30m.

From these maps, I'll need to produce a map with the highest three height by pixel.

3 Answers 3


Either of the following methods will work in your case:

  1. Mosaic to New Raster (Data Management). Specify a MAXIMUM pixel overlap rule. This method is beneficial if you want to also reduce the bit depth (i.e. filesize) of the output raster.
  2. Cell Statistics (Spatial Analyst) Choose the MAXIMUM statistics type.

I don't know if there is a tool that can achieve what you want to do so I'll answer give you info on how to write it yourself. Do you have a preferred format? Here's what I know about each of them.


For that format, you have several options. Either use arcpy functions to manipulate rasters (example) or use ogr/gdal (example). In both cases, you end up with a Python data structure that contains the value of each pixel of your raster layer. Then all you have to do is, for each pixel, get the maximum elevation and store it in a new raster.


If you provide more information on how the information is stored in ASCII, maybe we will be able to suggest something easier (I guess I'll update this answer).


I have never used this format so I can't help with that


you haven't said what format the maps are in, but assuming they are (or can be) ESRI raster grids with the same extent, the following should work in ArcGIS:

Highest Position (Spatial Analyst)


Determines on a cell-by-cell basis the position of the raster with the maximum value in a set of rasters.


  • HighestPosition does not answer this question: the O.P. is asking for the local maximum of each cell.
    – whuber
    Nov 14, 2013 at 16:53

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.