Creating a 3D flyover video of tour data with Google Earth Pro Desktop

The free software Google Earth Pro Desktop can be used to create flyover and flythrough videos of real-world 3D cityscapes. Timed data of a tour can be shown within the visualization. In this article I explain how I made such a video.

I realized this project in the context of my monthly mapping of the Critical Mass Essen bicycle tour. At critical mass events large numbers of bicyclist drive through a city as a convoy in a random fashion. This serves to create awareness for cycling as an environmental friendly, healthy, and economic mode of transport.

The window below shows the 2-minute mp4 video I made, embedded via my channel on Youtube.

This is how I created the video. First, I logged the tour with the open source GPSLogger app as a KML and CSV file. The KML track file, containing waypoints and corresponding timestamps, can be directly loaded and visualized in Google Earth. However, I was not happy about the quality of the logged data, which contained lots of jitters. It turned out that KML track files cannot be edited directly in Google Earth, QGIS, or similar programs. So what I ended up doing is loading the CSV file with coordinates and timestamps into QGIS, editing the points and saving the result again as a CSV file. I wrote a Python script that then converted the CSV file into a KML track file.

In Google Earth Pro Desktop I then opened the KML track file (File -> Open). I adjusted the basic visualisation of the track (right click on track -> Properties -> Style, Color), turning the color to blue (for the bluescreen video editing technique see below), widening the line, and reducing the sizes of symbology and labels to 0.0 in order to show only the line.

In order to create a video the KML track must be turned into a Google Earth tour. The parameters for how tours are displayed can be adjusted in Tools -> Options -> Tours. There are several tradeoffs when setting these paramters, so this takes some iterative experimenting. In my case I set the speed to 45 fold real time, in order to have a final video of about 2 minutes. I settled on a camera distance of 800 m. This results in a relaxed viewing speed, while still showing enough ground details. As a camere angle I settled on a somewhat high 30 degrees. This angle still shows off the 3D buildings, while keeping the number of buildings that have to be loaded to an acceptable level (otherwiese I would see glitches due to loading buildings). I set the time between keyframes to 5 seconds. This nicely keeps the track in focus while smoothing out the stops that the track made at red lights.

A tour with the given settings can then be played by selecting the track, and clicking on the play tour icon (connected dots) below the list. Video play controls are then shown. To save the current tour click on the save icon (disk) at the right of the video controls.

With the saved Google tour you can then create a video. Close the video play controls. Go to Tools -> Movie Maker, select your saved tour, and click create video. Here again some iteative experimenting is necessary to get the desired results. I settled on a custom video size of 854 x 280 (corresponds to youtube standard 480p size with 16:9 ratio), 30 frames per second, high quality picture quality, and MP4 file format.

My standard business laptop and medium speed internet connection did not always seem to render the results perfectly. Thus I tweaked the 3D display options in Tools -> Options -> 3D View. I shut of the anisotrope filtering, which plays no role at steep camera angles and set antialiasing to high (option availabe only for OpenGL). I also reduced the texture color to 16 bit because I was going to reduce the image to greyscale anyway (see below).

The recorded MP4 file I then opened in the open source video editing software Shotcut. I added the same file as two layers. The lower layer I colored to red (filter: color correction). For the upper layer I used a chroma key filter (i.e. bluescreen/greescreen). This turned the blue line in the upper layer transparent and let the lower layer shine trought at these points. The rest of the upper layer I then turned monochrome using the saturation, contrast, and brightness filters. The caption in the upper left, I added with the text filter. The resulting video I saved as mp4 and a short extract as the gif file shown above.

In conlusion I would say that Google Earth is a good tool for creating simulated photorealistic drone and aerial videos which can then be further processed. Creating such a video from a KML track file is a matter of minutes, but getting a good result out of the process requires a lot of tweaking of the parameters.