A pervasive feature of spatial analysis is that data is often presented in a two-dimensional format. A map view is great, and we all know the value that such spatial products can have, but sometimes creativity can be employed to extract valuable three-dimensional data from a two-dimensional representation. One such example of this ability resides in satellite and aerial imagery, in the form of a feature that is normally considered to be occlusive and unwanted: shadows.

Because of the wonderful metadata that comes with satellite images, shadows can be employed to estimate the height of the objects which cast them. Recorded in every satellite image is information about the date of the collection, the off-nadir angle (i.e. degrees from orthogonal to the surface to the sensor) of the spacecraft at the time of the capture, the azimuth of the sun, the angle of the sun from the horizon and georeferenced location data. With these pieces of information, as well as the ability to measure distances in your favorite GIS program and a basic understanding of trigonometry, shadows become an opportunity to get a reasonably quantitative estimate of object heights. Now, let’s take a look at a straightforward example.

Figure 1 is a WorldView-2 image of the Burj Khalifa in Dubai, which you may recognize as holding the current title for tallest building in the world. This image was taken at 0.8758449° off-nadir, or reasonably directly above the building. The shadow itself extends over relatively flat ground, is mostly unobstructed by large buildings or hills and there is a clear view of its terminus. For all of these reasons, this image is a great place to apply an estimation method based on an automated technique that was developed and described in much greater detail by Shettigara and Sumerling. Below is a simplified schematic of this technique which fits the scope and needs of this article.

While the paper by Shettigara and Sumerling describes a method that can be used with automated shadow detection and measurement macros to quantify the heights of multiple objects with reasonable accuracy, it also includes an outline of the basic trigonometry available to make first-order estimations of height. The first part of the solution involves calculating the building height from sun angle and shadow length, i.e. Equation 1:

tan(Sun Elevation) = (Height of the Object) / (Length of the shadow)

The metadata of the image used here reports a Sun Elevation of 46.733°, and the measured Length of the Shadow is 746.421 meters, so I calculate the Height of the Object to be 792.997 meters.

Because this method is meant to be a back-of-the-envelope quantification of object heights in imagery, a number of simplifications are incorporated for the sake of making it quick and easy to use. One such simplification is to use the object height obtained in Calculation 1 to substitute for the actual height of the Burj Khalifa in order to determine the length of shadow that is hiding from the sensor’s view behind the building itself. This may or may not be a necessary step, depending on how certain you are that you can measure the actual shadow length, but in this case the sensor is on the same side of the building as the sun so let’s take a look at the process.

In order to find the blocked length of shadow, the second step of the solution uses the off-nadir angle of the sensor and the object height estimate obtained above. The quality of the estimation is increased, in this case, by the outstanding off-nadir angle of 0.8758449°, but images with sensor off-nadir angles as high as, say, 30° will still benefit from this second calculation, i.e. Equation 2:

tan(Off-Nadir Angle) = (Blocked Length of the Shadow) / (Height of the Object)

This result can be added to the measured Length of the Shadow from Equation 1 and the Height of the Object can then be re-calculated with the adjusted value using Equation 1 again. In this case, I find the value of the Blocked Length of the Shadow to be 12.400 meters, which corrects the total Length of the Shadow to 758.841 meters. When plugged back into Equation 1, this gives an estimated height of the Burj Khalifa as 806.192 meters. As Google reports the actual height of the Burj Khalifa to be 828 meters, this gives a relative error of 2.633%, which I consider to be pretty outstanding. Note that this method can be employed in a similar manner on the occasion that the sun and the sensor are on opposite sides of the object, and feel free to write me if you’d like more information on that.

So, clearly this technique works; and it can prove useful in a number of localities where it may not be possible to easily measure object height in the field, such Iguazu Falls or the radiating features of Shiprock in New Mexico. The technique presented here can be expanded upon and coupled with automated shadow detection and measurement to determine the heights of multiple objects in a scene, such as trees. Give it a spin, and feel free to let me know how it works for you!

Cameron Windham

Magellenic Paladin

This article is worth to read.

I will use this theory for calculating the height of buildings which are suspended to be obstacles for flight operation safety, otherwise i have to carry out terrestrial surveying. thank you.

Hi Edy – glad that this article could be of assistance! Your application sounds like a perfect one for this technique.