Geoff FordenIn GoogleEarth, Shadows are Your Friend

If you are anything like me, you suffer a death of a thousand cuts when you see something on GoogleEarth and want to know how tall it is. For instance, you can measure the diameters of Iran’s heavy water exchange columns (3.5 m) but if you could only measure their height then maybe you could tell what their capacity was. It would seem a simple thing for Google to just to tell you the date and time of any individual pixel on a scene and then you could calculate the sun’s elevation. After all, they know which picture is contributing to each part of the Earth’s surface and each picture has a time stamp embedded in its geographical information. Be that as it may be, they don’t seem to want to do it.

But there is often—not always, but often—a date stamp on the bottom of the screen. I thought; why not use what ever you are interested in measuring as a Sun Dial to tell the “time” of the image? That’s exactly what my program calculateHeightFromShadow does! You can download it for free at my website’s download page. (Unfortunately, you also have to download and setup GUI_missileFlyout before you can use this height measuring program. This is because the MATLAB run library has to be on your computer and my website does not have the storage to allow me to put both up independently.)

So, what about those Iranian heavy water exchange columns? They are approximately 50 m high. (And the final distillation tower is 130 m tall.) I’ve noticed, while checking out this program against various landmarks, that there is an approximately a 10% error associated with this measurement. This seems to be dominated by unlevel ground effects (the shadow terminating on buildings or on a hill side) and problems picking out the right starting point for the. Perhaps surprisingly, this is really difficult! At least if you want to do better than 10%.

There is also something else to note. I’ve started to wonder about some of those dates listed by GoogleEarth. I’m not sure, but I’m beginning to think some of those dates are wrong, or at least don’t apply to some of the scenes they are linked to. However, this seems to be true only for Western cities where there is plenty of coverage and perhaps they aren’t particularly concerned about getting the date right. I’ve checked the program against the Eiffel Tower, the Arc de Triomphe, and the Xichang SLC’s service tower; all of which I know the heights for and I get within +-10%.

I also tried checking it against the St. Louis Gateway Arch but this has proven to be very difficult, either because its difficult to judge the correct spots to measure with a curved arch or, just perhaps, it is the wrong date on GoogleEarth. After all, the date stamp says it’s June, but some of the trees in the area are clearly without leaves. If I use a March date, then I get a reasonable height for the Arch.

By the way, you can see an amusing example of the problems associated with knitting together different scenes if you look at the bridges across the Mississippi just to the East of the Arch; in particular, look at the Martin Luther King Bridge. I’d say it was because the camera “tilt” was different between the two different images while looking at elevated objects, but I’ve seen the same thing on surface roads.

Have fun!

ps It only works with windows, Sorry Mac users!


  1. GreenTom (History)

    You should try panning around Manhattan in Google Maps—they’ve stiched it together from a bunch of photos from different angles, and the result is kind of like an Escher print. I know people who get uncomfortably dizzy looking at some areas.

    It occurs to me that if you have a good topo map, you could calibrate based on the shadows of known features, sidesteping the date/time problem.

  2. Geoff Forden (History)

    No one is stopping you from doing it your way.

  3. Allen Thomson (History)

    Another resource is Space Track
    ( that will get you the orbital elements of the relevant satellite on the relevant day. From there, you can find out where the satellite was as it passed over the target, get look angles and sun angles, etc.

    Caution: the Space Track user agreement places restrictions on using the elements for “analysis.” But nobody seems to know what that means and efforts to clarify the situation have, AFAIK, been unproductive.

  4. Allen (History)

    I’ve wanted something like this forever. Thank you!

  5. Gridlock (History)

    OT, sorry, but another update to the Entity List:

  6. Markus Schiller (History)

    You can get the exact date of satellite imagery in GoogleEarth with the layers you find at PrimaryDatabase->More->DigitalGlobeCoverage.

    Subsequently activate the annual layers and see if the satellite image fits a frame. If it does, look at the date at the image center. Left-click at the date, select preview, and you get off-nadir angle and target azimuth that lets you reconstruct the image date with a failure of a few minutes (for the satellite position at the date, use a program such as the previously mentioned Space Track).

  7. Yossi (History)

    Markus Schiller,

    With access to the Digital Globe preview image and data like the off-nadir angle you can in principle measure heights using the relief displacement method. This is a non-relative method based on the apparent shift between the top and bottom of an object when it’s viewed obliquely. Relief displacement may be larger than shadows (e.g. near noon, being far from nadir) and so can provide a more accurate result.

    A simple software trick that can be very useful is finding a hidden vertex using those that can be seen. Many interesting objects are box shaped (or cylinders) and specifying (with a mouse) a few points is sufficient to calculate the rest.

    I think that Dr. Forden’s software can be expanded to become a complete image height measuring tool.

  8. Victor (History)

    Us poor linux users… 🙁

Pin It on Pinterest