DE:Using GPSBabel from the command line
Diese Seite beschreibt, wie das Programm GPSBabel von der Kommandozeile aus aufgerufen werden kann. Wie es mit vielen mächtigen Tools der Fall ist, sind es die Kommandozeilenparameter, die vieles der interessanten Funktionen zugreifbar machen. Der Preis dafür ist ein wenig Lernaufwand. Für GUI-Alternativen siehe GPSBabel oder Convert GPS tracks.
Basis-Kommando
Das Basis Kommando zum Aufruf von GPSBabel sieht so aus:
gpsbabel [options] -i INTYPE -f INFILE -o OUTTYPE -F OUTFILE
wobei ‘INTYPE’ und 'OUTTYPE' die Formate sind, die GPSBabel beherrscht, und 'INFILE' und ‘OUTFILE’ sind die jeweiligen Ein- und Ausgabedateien. Dies können jeweils Dateien oder Gerätedateien sein (bspw. ein angeschlossener GPS-Empfänger). Ein am seriellen Port angeschlossenes Gerät könnte unter Windows über 'com1' angesprochen werden und unter Linux per '/dev/ttyS0'.
Angenommen, es liegen Breitengrad, Längengrad und der Wegpunktname in einer CSV-Datei namens 'way.csv' vor:
40.70175, -103.68998, First Waypoint 39.28553, -123.79357, Another point 42.49638, -108.72995, And a third
Um diese im GPX-Format in die Datei way.gpx zu konvertieren:
gpsbabel -i csv -f way.csv -o gpx -F way.gpx
Das '-i csv' gibt an, dass es sich bei der Eingabedatei um eine CSV-Datei handelt.
Mit '-f way.csv' (Beachte, das ist ein kleines 'f'!) gibt man "way.csv" als Eingabedatei an (das könnte also auch eine serielle Schnittstelle sein, s.o.).
Per '-o gpx' sagt man, dass die Ausgabedatei im GPX-Format sein soll.
Schließlich gibt man mit '-F way.gpx' (Beachte: großes 'F') den Namen der gewünschten Ausgabedatei an (oder eben die gewünschte Gerätedatei, falls die Ausgabe direkt an ein angeschlossenes Gerät gehen soll)
Lesen von Wegpunkten von einem GPS-Gerät
GPSBabel unterstützt unter anderem GPS-Geräte von Garmin, Magellan und Wintec. Schließe Dein Gerät je nach Typ per USB oder am seriellen Anschluss an (Zum Anschluss serieller Geräte per USB siehe GPS Serial to USB). Ein serielles Garmin-Gerät wird per -i garmin angegeben, ein Magellan per -i magellan. Mit den Parametern -f und -F gibt man dann den entsprechenden seriellen Port an. Nutze -f zum Lesen vom GPS und -F zum Schreiben auf das GPS. (Beachte dabei: falls die folgenden Befehle auf einem Garmin-Gerät nicht funktionieren, überprüfe ob das auf dem Gerät eingestellte Schnittstellen-Protokoll "GARMIN" oder "GARMIN DGPS" ist).
Mehr Informationen über die Optionen von gpsbabel bekommst du mit
gpsbabel -?
, und durch Studium der README-Datei.
Hier sind einige Beispiele:
Um Wegpunkte von einem Garmin GPS-Empfänger zu lesen und sie in eine GPX-Datei namens 'waypoint.gpx' zu schreiben:
Windows
Angenommen, der GPS-Empfänger ist am ersten seriellen Port angeschlossen:
gpsbabel -i garmin -f com1 -o gpx -F waypoint.gpx
Hiermit wird das Eingabeformat als Garmin-Protokoll angegeben, welches am ersten seriellen Port gelesen wird. Die Ausgabe ist eine Datei im GPX-Format, die 'waypoint.gpx' heißt.
Falls das Gerät am USB-Anschluss angeschlossen ist:
gpsbabel -i garmin -f usb: -o gpx -F waypoint.gpx
Linux
Wenn der GPS-Empfänger am ersten seriellen Port angeschlossen ist (Beachte, dass der ausführende Benutzer die entsprechenden Rechte zum Lesen vom seriellen Anschluss hat, eventuell nutze sudo):
gpsbabel -i garmin -f /dev/ttyS0 -o gpx -F waypoint.gpx
Falls das Gerät per USB angeschlossen ist, versuche /dev/ttyUSB0
or usb:
gpsbabel -i garmin -f /dev/ttyUSB0 -o gpx -F waypoint.gpx
#odeer
gpsbabel -i garmin -f usb: -o gpx -F waypoint.gpx
Siehe auch: http://www.gpsbabel.org/os/Linux_Hotplug.html, USB Garmin on GNU/Linux
Ein GPSBabel Bash-Script zum Laden von Tracks, Wegpunkten, Routen gibt es bei Benutzer: gerkin
Mac OSX
Angenommen auf OSX ist ein GPS-Empfänger an einem Seriell-zu-USB Adapter angeschlossen:
gpsbabel -i garmin -f /dev/cu.usbserial0 -o gpx -F waypoint.gpx
Track Logs
Um Track Logs zu lesen gib ein '-t' vor dem (-i) an, das das Eingabeformat angibt. Um die Tracklogs unter Windows zu lesen also:
gpsbabel -t -i garmin -f com1 -o gpx -F tracklog.gpx
Routen
Genauso kann man mit dem -r-Parameter Routen lesen oder schreiben:
gpsbabel -r -i garmin -f com1 -o gpx -F route.gpx
Hinweis: Beim Schreiben einer Route wird für jeden Routenpunkt ein Wegpunkt erzeugt. Dies nervt, denn da Wegpunkte einen globalen Namensraum haben, werden diese umbenannt, falls in einer anderen Route derselbe Name bereits existiert (Ein klassischer Fall sind da numerische Wegpunktnamen, wie "1" "2" die dann zu "1 1" "2 1" usw. werden). Um das zu verhindern, kannst Du John Dally's patch for gpsbabel nutzen.
Senden von Daten auf ein GPS-Gerät
Indem man die Ein- und Ausgabeparameter vertauscht, kann man Tracklogs, Wegpunkte und Routen auch wieder auf das GPS-Gerät schreiben. Beispielsweise um Wegpunkte aus der Datei waypoint.gpx unter Windows auf einen GPS-Empfänger von Garmin zu schreiben, der am ersten seriellen Port angeschlossen ist:
gpsbabel -i gpx -f waypoint.gpx -o garmin -F com1
Die Benutzung von Filtern
Unter DE:using filters with GPSBabel ist die Benutzung von Filtern mit GPSBabel beschrieben.