Google Earth Export/Convert

ATTENTION: Only available in the beta (1.9.5) at the bottom of the download page.

figure 1 - Ascent in Green, a very brief float in white and descent in red. The graph like line spiking along the track is actually a representation of the speed of the payload at that point. Makes it easy to find where the payload was loitering and where it was moving along at a high rate of speed.

Recently (Dec-2006) I was noticing a fair amount of traffic concerning the use of Google Earth (GE) for APRS/Balloon presentation purposes. I first saw a GE implementation about a year ago in the program GEtrax, written by Ray Perkins.

Ray has written a very nice program that will work with either imported files or actual live data from It was Ray's idea to also make available a Google Earth track line that used speed to indicate false altitude. In this way, you can essentially graph the speed of an airborne system. Nice touch, I incorporated it too.

Since then, I've noted that numerous other folks have been getting into the act using Google Earth.

When I first saw Ray's program I promised myself I'd add the capability to export predictions to a KML (Google Earth, actually Keyhole Markup Language) file. So, finally, here is my first attempt.

This description of the export feature assumes the user is familiar with Google Earth. If you are having trouble turning things on and off in that program, see their tutorials over at Google Earth Help.

There are two ways to generate a GE File (KML from now on) in Balloon Track. On the main screen menu click [File/Export/Google Earth KML File] or [File/Convert/Flight Data to Google Earth KML File].

If you have an active prediction in Balloon Track then selecting the Export option will take that prediction and generate a KML file.

However, you can also "Convert" a "Flight_Data" file. Flight_Data files are generated within the Packet Terminal Screen and represent the captured APRS data either during a live flight or after a flight has previously flown by running a standard APRS log file through the Packet Terminal Screen in simulation mode.

The example data shown below is from the Flight_Data file of a EOSS-113. I used actual data rather than a prediction because it shows more resolution. But except for a decrease in the number of plotted positions, all data is the same for captured data and prediction data. I do change the labels to indicate prediction vs. actual tracks.


figure 2

Figure 2 shows the "export control panel". But, the first thing to say is that the program always exports the following items into a KML file.

  • Launch Site

  • Burst Point

  • Landing Site

  • Sky Track (a line that ascends and descends to represent the airborne track of the balloon)

  • Floating Ground Track (sits  on the ground)

  • Contour following Ground Track (follows the contours descending into valleys, and ascending hills)

  • Waypoints (all the plotting information for the prediction)


The full layout of items exported to Google Earth KML files is shown to the left. Initially only the Tracking Locations, Track Lines, Speed Graphed as Altitude and Waypoints folders are visible, so it isn't quite this messy until you start opening up those folders to get at the sub elements contained within them. One exception is the Waypoints. It is open but I only screen captured the first two waypoints. No need to have that graphic run on and on here on the web. Just be assured that in this case it contains the full 306  positions for this particular example.

The control panel does NOT limit what is exported, it only affects the output by specifying what features will be visible when the KML file is first launched in GE. Other attributes like the colors for the track lines and walls and the opacity of the walls and the lines that bound them are also set on this panel. Opacity for track lines is hard coded and set to 100%.

Therefore, if you uncheck, "Burst" in "Show Locations" you are NOT removing the burst location data from the KML file, only setting it to NOT display that data (icon) when the KML file first loads. However, once within GE you can simply click "Tracking Locations" and expand it to show all locations (launch site, burst point and landing site) and place a check in the box beside "Burst" to show the burst position icon on the map.  The list of items exported is represented by the screen capture to the left showing the Places Sidebar from Google Earth. Names for the launch site, the burst altitude and references to EOSS-113 are derived from data entered on the Setup Screen of Balloon Track (with the exception noted above regarding the Flight Name and Launch Site). The Track Waypoints has not been expanded as it holds around 300 data points for the trackline.

This toggling functionality using checkmarks in the boxes is the same for all the data listed above. You can set each item to display initially by checking it in the Balloon Track Export control panel, or not as is your preference. Later when viewing the data within GE you can always toggle the view of data on or off by checking or un-checking the box associated with the element you wish to change.

Click on the "Set" button beside each color sample and you can change it.

Click on the combo box down arrow for "Opacity" and you can set it in 10% increments.

Click on the combo box down arrow for "Speed Scaling Factor" and you will affect how the speed is scaled and graphed along the track line. The scaling factor multiplies the current speed by 30 times the scaling factor. For example, suppose that the speed for a particular record is 53 MPH. You set the scaling factor to 5. 30 x 5 = 150. The speed is multiplied by 150 and the result is 7950. That is the height in meters above your launch site's elevation that this speed will be plotted, or 26,082 feet above that site. Since I've been developing this I've been using a scaling factor of 5. That works out nicely for speeds up to around 100 mph. EOSS's average speed over 113 missions has been 78.7 MPH and the maximum speed encountered that we believe is reliable is 160.4 MPH. So, on occasion I might either raise the factor to a higher value for missions with wind speeds below 50 and on a flight that is zooming around the skies I might lower the scaling factor a bit.

Click on the combo box down arrow for "Line Width" and you can set any whole number from 1 to 10. The lines get pretty fat and ugly when they climb to 5 or higher but ... up to you.

The "Suggested Flight Name" is initially filled with the name of your current flight as initialized on the Setup Screen. You can change this name to anything you wish and it will not affect any other area of the program. If you are running predictions then the initial name will most likely be suitable. However, if you are exporting KML files from previous flights using the Convert function, you may wish to rename the flight so that the references to the flight name in the KML data file and in filenames created for output are more appropriate to the mission you are working with.

The "Suggested Launch Site Name" is provided for the same reasons as above. Initially it is populated with the Launch site for the current flight. Because the program requires the latitude and longitude for the launch site, I decided to require the user to select from pre-existing launch locations if you want to alter this parameter in order to assure accuracy of the latitude, longitude information. If the launch location is not listed in your "database" of launch sites, you will need to go to the Setup Screen and enter a new launch location on the Location tab.

If you check "Save Flight Prediction CSV File" then Balloon Track will leave a "Flight_Data" style data file in your default "Log File" folder. It will name the file "FLIGHTNAME_Predict_Data_YYYY_MM_DD.csv", where FLIGHTNAME is whatever you have it set to in the "Suggested Flight Name" box. If that file already exists, the program will automatically create numerically ascending filenames, "FLIGHTNAME_Predict_Data_YYYY_MM_DD_1.csv", "FLIGHTNAME_Predict_Data_YYYY_MM_DD_2.csv" etc. If you do not check the box, a temporary file will be created, "temp_google_export.csv". The program should erase this file after export is complete, but if you see it when Balloon Track in NOT running, it's safe to delete. The Suggested Flight name will be used to label points, create filenames etc.

The Float variables may seem confusing at first but I hope they make sense.

The top value "Ascent Rate to Enter Float" is the ascent rate YOU want the program to start assuming the balloon is floating. You could set this to the low hundreds (say 200). When the balloon's initial ascent rate falls to below this value then the program will output the next series of data points tagged as "Floating".

The bottom value "Ascent Rate to Leave Float and enter Descent Phase" is the ascent rate that is sufficiently low that you wish to label the remainder of the flight as being in descent phase. Hypothetically, you could set this value to -300, that's minus 300. If both these values were entered then when the balloon's ascent rate first falls below 200 feet per minute the data will start being tagged as floating. When the ascent rate has inverted and the balloon is descending at a speed greater than 200 feet per minute DOWN, then the program will tag the entire remaining portion of the flight as being in descent phase. These tags will affect which colors are used to indicate, ascent, float and descent. If you don't want to see any float colored data then you can select "Do NOT show Float". In this case, the first time the program encounters an altitude report that is lower than the immediately preceding altitude report, the balloon's remaining data will be tagged as in descent mode.

Other items are hardcoded. The initial setup of the view on the track is always positioned looking north and down at the track as depicted in figures 3 and 4. If you feel the user should be afforded the capability to set these variables and that they should be included in the export Control, let me know. I can easily add that capability, I just don't see the need. But, perhaps someone else will. Likewise, if there are other aspects of this exported file you think could be improved, let me know and I'll see what I can do. There are many things KML can do, but I purposely kept this export relatively simple including only the basic data I felt was needed to properly convey a flight's prediction or recap data.

Any changes you make to the Google Earth Export control will be saved and loaded when you next open the dialog with the exception of the suggested Flight and Launch Site names which will always be populated by whatever is currently active for the rest of the program.

Several Views of GE and Explanations

Prediction Mapped

figure 3

Here is a screen capture of Google Earth showing a PREDICTION exported NOT a FLIGHT DATA file. This KML file was made using the settings as indicated above on the Control panel. Note the fewer data records as compared with the actual track data below can be easily deduced from the number of vertical lines in the wall. Note also that Prediction is used instead of Track in several of the references to the data in the GE sidebar to remind the user what he or she is looking at.


The both the "Converted" Flight_Data and the Google KML files used for the remaining examples below are available here:


Actual Flight Track

figure 4

Here is the view you would see if you "Converted" the EOSS-113 Flight_Data file with the settings as shown above on the Control panel. The three primary positions, Launch, Burst and Landing are shown. The Sky Track is activated for both ascent and descent (it's brighter (100% opacity) than the lines below it within the Wall which is set for only 50% opacity). The wall is active and is made up of lines colored the same as the ascent path but at a lowered opacity. The wall itself is, practically speaking, impossible to see but it is colored purple and displayed at 50% opacity. Below it starts to become a bit more visible. All of the lines are weighted 2, however you can make them broader or slightly narrower if you so choose. This weighting along with color selection is best accomplished from the Balloon Track Export Control Panel.


figure 5

Most of the elements of the data are controllable. In figure 5, you can see that I've left the ascent wall active but I've turned off the descent wall. And in place of that wall, I've added both the flat (non-contoured) track line at the Earth's surface and a track line floating in the sky descending from the burst point down to the landing point.


figure 6

Same idea again, the ascent phase of the flight is only represented by a surface bound track line, but the descent phase of the flight is showing the full drop down to landing as an airborne track line and wall.


figure 7

By clicking on "Track Waypoints" in the exported KML file you can activate an icon for every plotted point. These icons do NOT have a "Name" as do special icons like "Burst - 98.832" above. The reason, 300 icons without name tags is a cluttered mess, adding names too would be just too much data to place on the screen. But, you can easily find the particular point you are interested in as most of the relevant information is available. If you click on one of those points you get the information shown in figure 7. The time is either actual time of received information in a Flight_Data file conversion or, for predictions, the time calculated by adding elapsed time to the launch time as indicated on the first tab of the Setup Screen.


Payload Speed Plotted as Altitude

Also exported in each KML file is a speed versus altitude track. The balloon's speed is multiplied by a scaling factor (described above) and then added to the altitude of your launch site location. At first the speed track was descending underground and I couldn't figure out what the heck was going on, but Google Earth will accurately position stuff even if it is below the local surface elevation. So, it is important to remember to set a launch site altitude if you want to see this graph with anything like understandability.


The Graph of the payload speed is NOT constrained to the area set off by the current altitude of the balloon and the ground so it can easily surmount the early and late sky based track lines.


However, the speed graph line does exactly follow the XY coordinates of the track line. In this way you can turn on waypoints and easily find the speed for the particular graphed point.