Monday, June 26, 2006

Advanced Touring in Google Earth

Way back when I first started investigating using Google Earth as a near real-time visualization client for a GIS, I stumbled upon GE’s very small API. For those of you not familiar with the term, an API is the Application Programming Interface for an application. It provides programmatic control to certain parts of the program.

The API for Google Earth is very small and experimental. The GE engineers did not make it publicly known, and do not support it (I am somewhat inclined to believe that that might change in the future). One of the things you can do is tell GE where to move to and how fast to move there. You can also tell it to load a kml file. I used these two very simple commands to create long running tours. You can really make some neat things happen when you have GE slowly spiral in and then quickly change directions. Coupling this with the dynamic loading and unloading of data makes for some really powerful visual presentations. These original tours were hard coded, and were begging for some automation.

To create the tours, I had built a small application that would capture the Latitude, Longitude, Range, Tilt, and Azimuth of my current view in GE. I could then paste the data into my move function in the Tour applications.

Over time, I have changed things quite a bit so that I can persist the views in XML. I can also set the movement speed and movement hold time using the user interface to get better movement effects, and then jump back and forth between each view to see how the overall movement looks.

I have also written a little utility so that you can export the tour as point placemarks in Google Earth. These placemarks keep the name and description information (viewed in the information balloon), and lets the application act as a very quick way to set placemarks defining features found in GE.

Once a tour has been made, it can be saved as XML and used by others (assuming they have the same program). Eventually, I should be able to set it up so that people can quickly create their own fly-throughs and data loading sequences to demonstrate and or brief.

Some examples of how this can be used is as an education briefing (fly around to different geological areas of interest and load data to both highlight the area display text to describe it), operational briefings (Air Force pilots can be taken through a mission with data popping into view and described as required), engineering (this has already been used to tour through large scale engineering, construction, and logistics phases).

The uses are nearly endless.


  1. Anonymous4:19 PM

    Interesting tool. Would it allow for "looping" through a series of placemarkers? The idea being that one has a number of locations that would be toured a defined number of times, or for a certain time period. (I'm trying not to use the phrase "endless loop"...)

  2. Currently, the Tour will keep cycling until stopped. You can jump around in the Tour as it is going by clicking on different views, and you can pause it at any time.

    It would not be much trouble to add a Tour counter or total timer that would indicate a stop point.

  3. Anonymous8:00 AM

    Thanks for the reply Tim. If the Tour simply cycles until stopped that would suit our purpose. We're finalizing a GE layer that shows a (near) real-time view of the links & nodes on our Continental US WAN, alongside weather and various other layers.

    It would be useful to be able to tour the LANs on the WAN and open/close their respective status reports. What are your plans for distribution of the application?

    Thanks again, you're doing interesting things for the GE community. Please keep it up.