Improved Elevation Maps with Conformal Options

@Nipul, @chascoadmin,

I just completed the next phase of my work on possible elevation map improvements for DroneDeploy. In this post, I summarize some of my prior work and then highlight some conformal elevation map possibilities.

Here is the DroneDeploy Elevation Map of a 17 acres site captured with a DJI Phantom 4 Pro drone:

To illustrate other elevation map possibilities, the 3D model for this mission was exported to Rhino which created a 3D mesh of the model. Then the mesh elements were colored according to their elevation using a 70-color palette with a twice-extended color range compare to the DroneDeploy palette (1) on the low-elevation side, a magenta-to-dark_magenta gradient was added while (2) on the high-elevation side, a red-to-black-to-white gradient was added. Also less aggressive hillside shading was used in order to more clearly show the informative elevation colors and to brighten the map. To enhance color-to-elevation translation, a map-height color-key was added to the left. Click on the map to see details.

Since the elevation coloring was done on a 3D model, a perspective view of the elevation map is now possible as show below. This view provides a much clearer understanding of the overall topography of the site. In terms of coloring, the perspective view of the 3D map provides more area. Compared to a 2D view, this enables the use of a larger color palette to match the color spatial-resolution of the eye. As a consequence, the information content of the map is increased.

This site has available a LiDAR bare-earth map:

If DroneDeploy adds the capability to import LiDAR site maps, then conformal elevation maps become possible. In a conformal map, the colors show the height of objects above ground level over the entire site. Such a map can be made in two ways:

(1) The first way is by coloring the 3D model according to the elevation difference of the site and the LiDAR map. This results in a map with the same topography as the normal 3D elevation map but with colors that show the conformal elevation. The 3D conformal elevation map for this site created in this way is shown below in both top and perspective views. The conformal elevation map provides a much more informative view of the 1000+ trees on this site. The location of the tallest trees on the site can now be clearly seen. Click on the map to see details.

(2) The second way to create a conformal elevation map is by reducing the height of each point in the 3D model by its LiDAR map elevation and then coloring this conformal 3D model. The colors then show the conformal elevation. The perspective view of the conformal 3D model for this site is shown below:

This view of the site removes all of the topographical distractions. Thus it provides a clearer view of the site’s tree inventory. It also gives a much more direct feeling of the 2 million pound biomass on this site. Finally, it enables additional processing possibilities that I am exploring.

In summary, I am suggesting the following 7 improvements to the DroneDeploy elevation map:

  1. An extended color pallet to increase the color resolution of elevation maps so they better match the color spatial resolution of the eye. This is particularly important for 3D maps with their much larger coloring area.
  2. A larger, map-height color-key for easier color-to-elevation translation @
  3. A 3D elevation map with perspective viewing. The large vertical area in a 3D maps increases the number of colors that can be used without exceeding the color resolution of the eye. This significantly increases the information content of the map.
  4. Improved hillside shading for clearer viewing of the informative elevation colors and a brighter map
  5. Import of a LiDAR bare-earth site map
  6. 3D elevation map with conformal elevation colors
  7. 3D conformal model with conformal elevation colors

These enhancements, implemented within DroneDeploy, should provide even better looking maps than I have shown here. This is because the exported 3D model does not contain as many details as in the 3D model used to create the DroneDeploy 2D elevation map.

@ I have more enhancement suggestions for the color key. They were not include here in order to provide more focus on the elevation map itself.

Thank you for your consideration of these enhancements.


1 Like

Nice breakdown. I have some arborist friends that I am consulting and have used some of your theory as examples of some of the things that are easily achievable. I agree that a wider color palette would help, but quite honestly anything more than 16 colors wrapping on violet and pink would be indistinguishable to the human eye unless you are using grayscale shading to a 3d representation. On a map like this even a trained eye would have a hard time recognizing an unwrapped 24 colors. In mapping theory we never repeat colors. Of course we are talking different use cases where we are interested in hundredths instead of feet. It is also best in map theory not to have too much information on a map for the consumer to understand. All in all, my top votes are to add violet (low) and pink (high), the ability the view a 3d color map and have an elevation scale. Thanks!


I reduced the number of colors to 16 in the map below. Now the elevation sweeps through the colors at a brisk 9.4’/color pace. Still usable but starting to get a little crude for my tastes. The maps above provide a 2.1’/color resolution which feels about right for viewing the entire 17 acres site with its 143’ elevation range.

Even worse, if we look at the non-conformal map with its 233’ elevation range, the elevation rips through the colors at 15’/color resulting in a definitely crude map:

Recall how much more interesting this map is with all 70 colors applied:

Arguably this map does not need all 70 colors for some applications but more than 16 are useful. The number of useful colors is a function of the elevation range and the area on the map available for the display of all the colors. Note how the increased vertical area in the perspective view of a 3D elevation map enables more colors. Also having a large color palette available allows a smaller subset of the colors to be used while still providing useful resolution. My earlier slope maps (example below) used only the green-to-red interval of colors but still provide clear delineation of the low and high slope regions.

My write up above does not include details on the color designer I have built into the Rhino implementation. I used its min-color and stepped-color options just now to subset the 70 colors to 16 as you desired (although I still used my choice for the top colors). Having a flexible color designer allows all tastes (and map theories) to be addressed. We both agree that as a starting point, the current color palette in DroneDeploy would be more useful if it was extended with additional low- & high-elevation colors. After that, there are 7 more color options that could be implemented in DroneDeploy:
(1) Selecting a subset of colors from the available colors
(2) Selecting a subset of the data range (half of this option is currently available in DroneDeploy; all colors can be assigned to a subset of the data range, but a subset of colors cannot)
(3) Binding of a color to a data value of key importance (like yellow to 14% slope or blue-green to 20’ elevation)
(4) Colors to be used when the min/max colors are exceeded (e.g. neutral grey in the slope map above)
(5) Reversal of the color order
(6) With hillside shading or not
(7) Easy re-definition of the color palette.

I do not agree that colors cannot be reused in a 3D map. In my case the lowest elevation approaches black and black is used again near the top elevation. These regions are topographically widely separated so, to me, there is no chance of confusion. But in the case of 2D elevation maps, repeated colors could quickly become confusing. Perhaps map theorists have not spent much time contemplating 3D maps.

1 Like

Interesting, I see what you have going on there now. That’s my inexperience with a site that varies more than 150 ft in elevation. So from what you have shown their even 24 colors would be 10 ft per step right? Thanks for the visual!

Hi @SolarBarn,

Thank you for putting this work together. I like how you used the LiDAR Bare-Earth Site Map to create the conformal elevation map. LiDAR does open up many options, especially with elevation maps. LiDAR is not currently on the roadmap, although that could change.

Thank you,


The question of what is the appropriate number of colors to use in an elevation map is an interesting one. Currently I contemplate MARS when thinking about this:

M: What is the resolution of the Map data? Noise results when the color resolution exceeds this.
A: Is the the Absolute elevation important? Tree heights, building heights, hill heights want this.
R: Or are Relative elevation differences more important? Drainage of driveways, parking areas, hills want this.
S: Does the Spatial resolution of the map match the eye?

Map Resolution

If the color resolution is greater than the map resolution, the elevation map will display noise. So it is important to understand the map resolution when selecting the size of the color palette.

DroneDeploy can create maps with outstanding elevation resolution. Here is one of the most vivid examples I have come across. It is for a map created from a mission flown at 300’ on an overcast day with low wind that resulted in an RMSE of 6.2’.

Over a 100’ distance, the DroneDeploy 3D model shows a slope of 0.21-0.24"/ft which is very close to the design spec of 0.25"/ft. On-site measurements showed that both the absolute and relative elevation values were correct within 2" over the 100’ distance. It should be noted that the good absolute elevation accuracy of this map is due to the fact that the absolute elevation at the takeoff location (165’ distance from this region) was calibrated to within 1" using ACT (Auto-Calibration Technique) which I have described in prior posts on the DD Forum. Be sure to notice the very low noise on the profile plots at the left, about 1 line-width or 0.75". This map demonstrates that the DroneDeploy absolute and relative map elevation resolution can be well below 1"/ft. Thus with a 70 color pallet, the map elevation range should be 6’ or larger for low noise. Thus almost all DD elevation maps should have low noise.

##Absolute Elevation
If reading the absolute elevation of the map is important, then a smaller color pallet is appropriate. This will make for crisper color differences on the map and allow easier translation to absolute elevation using the map key. Below is an example. Click on map to see details

Relative Elevation

If the absolute elevation is not critical and the relative elevation differences are important in regions with a slowly changing elevation, then a map with a larger color pallet is needed. For example, when grading for pavement that is to have a 1/4"/ft drainage slope, it is critical to be able to see small changes over a wide area which calls for a large color pallet. Below is a map with focus on the driveway of a 17 acres site. This is an extreme case with only a 6.9’ elevation range and a small 0.1’/color. It is trying to tease out the 1/4"/ft slope of the driveway which it does reasonably well (it would look much better inside DroneDeploy as the exported 3D model has only a fraction of the resolution of the full 3D model within DD). Here identification of the absolute elevation is not very important. It is the relative elevation differences that provide an understanding of the drainage over this paved area. And the map does shows good drainage away from the building for all the paved surfaces.

In the map above, the color for regions with elevation data outside the region of interest (989’ to 996’) was set to a neutral grey color. This eliminates distracting extreme colors from the large, unimportant regions of the map and allows better focus on the areas of interest. This should be a standard option in all map color designers.

Spatial Resolution

With 20/20 vision, the eye can resolve the 1 arc-minute gaps in the 5 arc-minute size of characters on line 8 of a Snellen eye chart when viewed at 20’. If we treat colors more like letters and not gaps, then a map’s color spatial-resolution (CSR) need not be better than 5 arc-minutes at the viewing distance. To cover a wider range of viewers, let’s add a 40% margin so this makes it 7 arc-minutes. Matching the CSR of the map to the eye maximizes the amount of information that can be displayed. So what should be the size of the color palette for a match? The answer:

N = Y/(CSR x D) x 360/(2 x pi) x 60
N is the number of colors in the Palette
Y is the size available in inches for display of all the colors in the palette
CSR is the color spatial-resolution = 7 arc-minutes
D is the viewing distance in inches
360/(2 x pi) converts radians to degrees
60 converts degrees to arc-minutes

or you can use the simplified formula:

N = 491.1 x Y/D

and if your viewing distance is 24", this can be further simplified to:

N = 20.5 x Y

So what does this mean? For your setup almost all of the numbers are fixed except for Y, the size available for display of all the colors in the palette. More colors can be used when there is more area available for their display. For example, a 3D elevation map provides more area for the display of each color which encourages the use of a wider color pallet. Similarly, a 2D map with gradual slopes also provides a generous area for the exploitation of a wide color pallet. A wide color pallet is also interesting on a map with large elevation differences.

To explore this equation, I went back and took a closer look at the map with the smallest elevation range of 143’, the conformal elevation map of the entire 17 acres site with 70 colors at a color resolution of 2.1’/color. Click on map to see details.


On my 42" 4K monitor, this map provides 3.5" of vertical space for the display of the 70 colors or 0.05"/color. At a 24" viewing distance, the CSR is 7.2 arc-minutes which is a good match to the eye. To investigate this, I re-did the map with a 3X worse CSR of 21 arc-min which resulted in a 24-color pallet and 6.6’/color. Now, on my display, I can clearly see the color steps. Click on map to see details.


So the full 70-color pallet used on the original map is about right for maximizing the information content when viewed full screen. For smaller displays, the number of colors should be scaled proportionally. This experiment confirms that the color spatial-resolution of the eye is about 7 arc-min.

As a further conformation, I re-did an elevation map with 221’ range using the 24-color pallet. The larger elevation range makes this map look noticeably worse; its color resolution of 9.6’/color is about 50% poorer. The map provides 5.25" for display of the 24 colors which gives a CSR of 31 arc-min, far short of the eye’s 7 arc-min. Click on map to see details.


Even with the full 70-color pallet, this map exhibits noticeable steps in the flatter regions. Here the CSR is 11 arc-min, a bit short of the eye’s 7 arc-min. Click on map to see details.

There is one more possibility for maximizing the information content of this map: instead of stepped colors, a continuous gradient can be used with the difference between colors being interpolated. This results in a map with a CSR that more closely matches the eye. Click on map to see details.

Here is the same map with a different hillside shading options. Click on map to see details.

It is not required to match the color spatial-resolution of the map to the eye. Fewer colors with noticeable color steps can be an advantage in many applications. But more colors are clearly wasted when the CSR of the map is better than 7 arc-minutes at the viewing distance for your monitor.

To compute the color spatial-resolution of a map for your monitor at your viewing distance use:
CSR = Y/(N x D) x 360/(2 x pi) x 60
CSR is the color spatial-resolution in arc-minutes
Y is the length in inches on your display used to display the full color range of the color palette
N is the number of colors in the palette
D is the viewing distance in inches from the screen to your eye
x 360/(2 x pi) converts radians to degrees
x 60 converts degrees to arc-minutes

The simplified formula is:

CSR = 3437.75 x Y/(N x D)

and for a 24" viewing distance it becomes:

CSR = 143.2 x Y/N

Example: Y = 3.5" to display N = 70 colors at D = 24" viewing distance
CSR = 143.2 x 3.5/70 = 7.2 arc-minutes

Different people have different vision and so the examples above are not optimum for everyone. But with a flexible color designer that incorporates the 7 options I mentioned in my 2nd post to this topic, the coloring can be quickly adapted to suite a wide range of visions.