Skip to main content

Google earth gpsd (GEgpsd)

This little python program (together with a kml file) allows real-time GPS tracking in Google Earth from any standard NMEA device. It's been initially written for GNU/Linux, but with tiny modification (namely the serial device name) it should work on other platforms that support python and have python-serial available.

It's a proof of concept rather than a fully working software, but since it is released under a Free license (GPL) you're free to tinker with it. If you improve it, please send me the patch so I can publish it here (and credit you :). Thanks!


  • (v0.1) The main python script. Start (python in the background, on "screen", from inittab, however you like it...
  • gps.kml (v0.1) Load this into Google Earth.

Default settings are:

  • creates /tmp/nmea.kml
  • default serial port is /dev/ttyUSB0 -- change it in the file.

Currently, it supports dynamic heading, angle and distance changes based on your speed. Below 10 km/h the screen is North-up with 30 degrees viewing angle. Above 10 km/h, the heading, angle and viewing distance are dynamically adjusted depending on your speed.

That's all! Tested under openSUSE 10.2, requires python-serial package (or equivalent for your GNU/Linux distribution).

Update (13/06/08): TJ has released an updated version of gegpsd. It allows you to specify configuration options at the command prompt and handles misreported fields in $GPRMC. You can have a look at it at TJworld wiki or download it below:

Update (12/06/12): Stephen Youndt sent an update to gegpsd to use the actual gpsd. It requires python-gpsd.