PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GPS-Tracks in Google Earth darstellen



Skipper
11.09.06, 19:01
Neulich erstand ich einen Garmin Edge 205 (http://www.garmin.de/Produktbeschreibungen/Edge205.php), der speziell für Radfahrer entwickelt wurde. Neben einer Vielzahl von Trainingsdaten speichert das Gerät auch die abgeradelten Strecken. Die beiliegende Software funktioniert natürlich nur unter Windows, und enthält leider auch keine brauchbare Kartendarstellung. Letzteres können wir aber auch unter Linux mit Google Earth machen:

Das folgende gilt speziell für Garmin-GPS Empfänger mit USB-Schnittstelle, sollte aber ähnlich mit anderen Geräten funktionieren, die vom Kernel und GPSBabel unterstützt werden.

1) GPS-Gerät anschliessen

Zuerst schließen wir den den GPS-Empfänger an die USB-Schnittstelle an und schauen uns die Ausgabe von dmesg an. Wenn das passende Kernelmodul vorhanden ist und Hotplug funktioniert, sollte folgendes zu sehen sein:


usb 1-1: new full speed USB device using uhci_hcd and address 2
usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
drivers/usb/serial/usb-serial.c: USB Serial support registered for Garmin GPS usb/tty
garmin_gps 1-1:1.0: Garmin GPS usb/tty converter detected
usb 1-1: Garmin GPS usb/tty converter now attached to ttyUSB0
usbcore: registered new driver garmin_gps
drivers/usb/serial/garmin_gps.c: garmin gps driver v0.23

Wir merken uns gleich, unter welchem Device das Gerät ansprechbar ist, in diesem Fall ttyUSB0. Wird das Kernelmodul nicht automatisch beim Anstecken geladen, versuchen wir es manuell (als Root):


# modprobe garmin_gps

Sollte das Modul nicht vorhanden sein, müssen wir den Kernel mit den entsprechenden Optionen neu bauen. Unter Device Drivers ---> USB support ---> USB Serial Converter support wählen wir <M> USB Garmin GPS driver und installieren den neuen Kernel und die Module.


2) Tracks herunterladen und in Google Earth Format übersetzen

Als nächstes installieren wir GPSBabel (http://www.gpsbabel.org). Das Programm kann die verschiedensten GPS-Dateiformate ineinander umwandeln und auch direkt mit dem Garmin kommunizieren.

Wir schreiben noch ein kleines Script zum herunterladen und umwandeln der Tracks, das wir z.B. unter dem Namen garmin2kml abspeichern und mit chmod 755 garmin2kml ausführbar machen. Die Schnittstellenbezeichnung muß evtl. angepasst werden:


#!/bin/bash

gpsbabel -t -i garmin -f /dev/ttyUSB0 -o kml -F ${1}.kml

Aufgerufen wird es mit dem Namen, den die zu erzeugende Google Earth Datei haben soll:


$ ./garmin2kml tour10092006

Dies sollte ohne Fehlermeldungen ausgeführt werden und die Datei tour10092006.kml erzeugen.


3) Tracks in Google Earth bewundern

Wer es noch nicht hat, lädt es hier (http://earth.google.de/download-earth.html) herunter.

Jetzt starten wir Google Earth und laden die Datei mit File -> Open.... Google Earth sollte jetzt automatisch auf die geladenen Tracks zoomen. Unter Places -> Temporary Places -> GPS device -> Tracks machen wir noch das Häkchen bei Points weg, da die Punkte nur stören. Fertig.

Jetzt können wir noch den Path im Menü links markieren und mit Tools -> Play Tour aus der Vogelperspektive abfliegen :-).

Die modernen GPS-Geräte und scheinbar auch die Google Karten sind wirklich unglaublich genau! Oft liegt der Track exakt auf der Straße, und die Abweichung ist selten mehr als ein paar Meter: