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, so any help, or suggestion will be appreciated.

Ok, based on a comment I got, I'll add more detail here about the data: 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.



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.

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.


  • Hi sorry, I have the files in an ASCII format, tif and .dtm – Alex Nov 13 '13 at 18:20
  • Should be an easy solution, but can you describe the data format in more detail (probably best in the original question)? What is the data source? Are all 30 maps the same extent? What format are they in (ASCII, tif and .dtm sound like at least two different types)? Also post a sample or example of the data, if possible. – toms Nov 13 '13 at 21:00
  • HighestPosition does not answer this question: the O.P. is asking for the local maximum of each cell. – whuber Nov 14 '13 at 16:53

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

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.