Google Earth Flight Path Visualization

By: Andrew Sarangan

This program can generate the KML file for simulating the flight path on Google Earth. It allows a pilot to see what the terrain and runway looks like from the air.

Type the route in the following box to generate the kmz file (see instructions below). If you have Google Earth installed, double clicking on the kmz file will show the moving cockpit view. See the youtube examples at the end of this page.

The route is defined by waypoints separated by ground speeds (in knots).

A waypoint here is a point in 3D space. It requires a ground reference, as well as an altitude. Optionally, a vertical speed can also be specified. If no vertical speed is specified, the flight path will climb/descend at a continuous rate between waypoints. If a vertical speed is specified, the initial climb or descend will be at the specified rate, leveling off as necessary after reaching the specified altitude. If the specified vertical speed is smaller than the value required to reach the next waypoint, it will be ignored, and the minimum required rate will be used.

Waypoints can be specified using one of several keywords followed by a few parameters:

  • RWY defines a runway threshold:
    • RWY:20:MGY:SFC specifies runway 20 at MGY. The last term, SFC, says the altitude is the ground elevation. Alternatively, TCA can be used, which means threshold crossing altitude. This is 75 ft above the touchdown elevation.
    • RWY:04:I69:3000 specifies runway 4 (which should be written as 04) at I69 airport at an altitude of 3000 ft (MSL).
  • FIX is any fix in the FAA database.
    • A fix can be an airport code, navaid, an approach fix or an enroute fix.
    • Because some navaid stations share the same name as an airport, such navaids should be prefixed with the special character ^. For example, SFO would refer to the airport, whereas ^SFO would refer to the VOR station.
    • FIX:TALAC:2000,-500 specifies TALAC (which is a final approach fix) at an altitude of 2000 ft. The ‘,-500’ says to start the descent from the previous waypoint at 500 fpm but level off at 2000 ft before reaching TALAC.
  • RAD defines a waypoint at a specific radial & distance from a fix, airport or navaid.
    • RAD:180:2.0:DQN:5000 represents a point 2.0 miles from the DQN navaid at a radial of 180 deg (magnetic). This waypoint will be crossed at 5000 ft.
    • RAD:330:5.0:^ONM:8000,500 specifies a point 5 miles from the ONM VOR (instead of the airport ONM) at a radial of 330 (magnetic). Crossing altitude will be 8000 ft using an initial climb rate of 500 fpm.
  • RWP is Relative Waypoint. It defines the next waypoint relative to the previous waypoint.
    • RWP:250:2.0:5000 defines the next way point 2.0 miles on a radial of 250 (magnetic) from the previous fix. The crossing altitude will be 5000 ft.
  • SRT defines the next waypoint straight ahead at a specified distance from the previous waypoint, on the same heading.
    • SRT:5.0:3000,500 defines the next waypoint 5.0 miles ahead on the current heading, with a crossing altitude of 3000 ft and a 500 fpm climb rate.
  • TRN defines a turn at a given bank angle and a given roll rate.
    • TRN:45:5:120:5000 will produce a 45-deg bank using a roll rate of 5-deg/sec, for a total course change of 120-deg. Positive course change values will produce right hand turns, and negative values will produce left hand turns. If the course change exceeds 180-deg, the turn will be treated as the opposite-hand. Bank and roll rate values should always be positive.
  • GPS defines the lat/lon coordinates.
    • GPS:39.102500:-106.301167:11500 specifies the co-ordinates at an altitude of 11500 ft.
  • nGS defines the location where the glide slope from the runway intersects with the current altitude. n is the glide slope angle in degrees (it can be any integer value up to 9).
    • If the current altitude is 2000 ft, 3GS:20:MGY will locate the position such that the slope to runway 20 at MGY will be 3 deg.
  • TPL/TPR produces a  traffic pattern around any runway. TPL is left traffic and TPR is right traffic.
      • TPL:20:MGY:1.0:1000:800:100 will produce a left traffic pattern taking off from runway 20 at MGY and landing back at the same runway. The pattern width is 1.0 nautical miles, and the pattern altitude is 1000 AGL. The climb rate in the pattern is 800 fpm and the forward speed is 100 knots.


The following are some example routes. Simply download the KMZ files, or copy and paste these routes into the box above to see how it works.

  • Telluride, CO – Right hand pattern to Runway 9 – Youtube
    • TPR:09:TEX:0.75:1000:1200:100
  • Catalina Island, CA – Right hand pattern to Runway 22 – Youtube
    • TPR:22:AVX:0.75:1000:1200:100
  • Glenwood Springs, CO – Visual Approach to Runway 32 – Youtube
    • RAD:73.2:15.6:^RIL:10000 150 RWP:085:1.5:9000 150 TRN:15:5:70:8000 150 SRT:4:6600 100 TRN:35:5:-178:6300 100 4GS:32:GWS 100 RWY:32:GWS:SFC
  • Aspen, CO – Roaring Fork Visual Approach to Runway 15 – Youtube
    • RAD:228:8:DBL:9000 200 RWP:120:3:9000 200 RWP:100:2.0:9000 200 RWP:140:1.5:9000 200 RWP:110:1.8:8500 200 3GS:15:ASE 200 RWY:15:ASE:SFC
  • McCall, ID to Krassel USFS – Youtube
    • RWY:34:MYL:SFC 150 RWY:16:MYL:5200 150 SRT:1:5300 150 RWP:075:5.3:6500,1500 150 TRN:12:5:-108:7000 150 SRT:1.8:7000 150 RWP:10:1:7000 150 RWP:0:1:7500 150 RWP:5:2.3:7500 150 RWP:70:1.8:7000 150 RWP:50:2:6500 150 RWP:65:2.5:6000 150 RWP:125:2.5:6000 150 RWP:100:1.7:5500 150 RWP:180:2:4800 100 RWP:183:0.75:4300 100 6GS:17:24K 100 RWY:17:24K:SFC
  • Leadville, CO to Aspen, CO via Independence Pass – Youtube
    • RWY:16:LXV:SFC 200 RWY:34:LXV:10500 100 GPS:39.102500:-106.301167:11500 100 GPS:39.068000:-106.407500:11500 100 GPS:39.071167:-106.454000:11500 100 GPS:39.067500:-10
      6.506833:11500 100 GPS:39.083500:-106.538333:12000 100 GPS:39.102667:-106.542500:12500 100 GPS:39.109333:-106.573000:12500 100 GPS:39.108167:-106.617500:12000 100 GPS:39.117500:-10
      6.621000:11500 100 GPS:39.125167:-106.635167:11000 100 GPS:39.125500:-106.675833:10500 100 GPS:39.119000:-106.693167:10500 100 GPS:39.122833:-106.740667:10500 100 GPS:39.137333:-10
      6.768833:10000 100 GPS:39.184500:-106.803167:10000 100 GPS:39.206833:-106.842167:9000 100 GPS:39.237833:-106.857000:9000 100 GPS:39.271833:-106.872333:8500 100 3GS:15:ASE 100 RWY:1
      5:ASE:TCA

Notes:

  • The syntax must be followed exactly. Invalid entries will cause the script to crash, and it is not going to tell you why.
  • The first waypoint cannot be RWP, SRT, TRN or nGS. This should be obvious. The second waypoint cannot be SRT or TRN.
  • Don’t use this for long routes. This program is primarily intended for final approach visualization. It generates the flight path by creating a large number of intermediate waypoints for a smoother display. Longer routes will require a lot more points, and may overload the server. The script will self-terminate if it takes longer than 60 seconds.
  • This is running on a single-board computer (similar to a Raspberry Pi) with limited memory and processing power.