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 (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 georefenced 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 sense of the height of objects on the ground. Now, let’s take a look at a straightforward example.
Above 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 (See: Height Determination of Extended Objects Using Shadows in SPOT Images). 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:
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:
tan(Off-Nadir Angle) = (Blocked Length of the Shadow) / (Height of the Object)
The result can be added to the measured Length of the Shadow and the Height of the Object can then be re-calculated with the adjusted value. 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 the first equation, 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 heights 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!
About Apollo Mapping
Cameron is a graduate of Pomona College with a degree in Geology, currently working for Apollo Mapping located in Boulder, Colorado. Apollo Mapping is proud to offer Image Hunter, the most fluid search engine of high and medium-resolution satellite data available, with access to all major archive catalog and incredibly fast performance. Apollo is also close to starting a beta test phase of their GISrack, a cloud-based, on-demand, and scalable GIS platform that offers flexible pricing, industry-leading security and performance as well as a large repository of free map data.
Like this article?
Sign up for GIS Lounge's weekly newsletter for more great content: