Outdoor Navigation mit Linux und Garmin Legend HCx
HOWTO: OSM-Karte für QLandkarteGT aufbereiten
QLandkarteGT ist ein sehr nützliches Landkartenprogramm für Linux, dass in der Lage ist, GARMIN-Karten auf dem PC darzustellen. Das Programm ist darüberhinaus in der Lage, Tracks im gpx-Format vom Garmin zu importieren und auf der Karte darzustellen. Es stellt außerdem Möglichkeiten zur Verfügung, diese Tracks zu editieren (überflüssige Teile wegschneiden etc.). QLandkarteGT kann GARMIN-Karten (gmapsupp.img) nicht direkt darstellen, sondern benötigt hierfür eine *.tdb-Datei. Ich habe bisher keinen Weg gefunden, aus einer gmapsupp.img direkt eine *.tdb zu erzeugen. Was funktioniert, ist der Umweg über eine Openstreetmap-Karte (*.osm). Naja, eigentlich ist das ja auch die Quelle der imagesupp.img. Folgende Schritte sind also notwendig:
- Download einer Openstreetmap-Karte (z. B. von GEFABRIK)
- Erzeugung einer *.tdb-Datei mit folgendem Befehl
mkgmap karte.osm --tdbfile --gmapsupp - Ggf. muss man sich das Programm mkgmap zuvor noch installieren (Homepage)
Linux (Ubuntu) Vorbereitungen
Anschluss des Navis an den Rechner via USB und Zugriff über das Dateisystem:
- Die oben verlinkten Ubuntu Einstellungen durchführen
- Auf dem Navi “Hauptmenü | Einstellungen | Schnittstelle | USB Massenspeicher” aktivieren
Das Garmin HCx verfügt allerdings nur über eine USB 1.1 Schnittstelle, d. h. dieser Weg ist nur für das Kopieren kleinerer Dateien geeignet (z. B. von Waypoints im *.gpx-Format). Für größere Uploads empfiehlt es sich, die Speicherkarte über ein Speicherkartenlesegerät direkt zu beschreiben.
HOWTO: Daten vom Navi auf den Rechner holen (und umgekehrt)
Dafür gibt es viele Möglichkeiten:
1. Mit gpbsbabel (MarchK’s Tipps hierzu)
gpsbabel -D9 -w -i garmin -f usb: -o gpx -F WP.gpx
|
Holt alle waypoints vom Garmin. |
gpsbabel -D9 -t -i garmin -f usb: -o gpx -F TP.gpx
|
Holt alle tracks vom Garmin. |
gpsbabel -t -i gpx -f route.gpx -x simplify,count=500 \ -o gpx -F route-simplified.gpx |
Reduziert die Anzahl der Waypoints einer Route / eines Tracks auf 500. |
gpsbabel -D9 -t -i gpx -f route.gpx -o garmin \
-F usb: > debug.txt
|
Sendet route.gpx als Track zum Garmin. |
gpsbabel -i gpx -f NAME.gpx -o garmin -F usb:
|
Sendet NAME.gpx (z. B. mit Waypoints oder Geocaches) zum Garmin. |
gpsbabel -t -i garmin -f usb: \
-o kml,points=0,line_color=ff0000ff \
-F Track.kml
|
Holt tracks vom Garmin und konvertiert sie in KML. |
Bei mir funktioniert das leider derzeit nur als root (dem Befehlsaufruf “sudo” voranstellen).
Die Optionen bedeuten:
- -D9 = Debuglevel (damit man Fehlermeldungen erhält, falls was schief läuft)
- -w = es geht um Waypoints
- -t = es geht um Tracks
- -i = input Typ
- -f = input Datei (oder Gerät)
- -0 = output Typ
- -F = output Datei
sieht a bisserl kompliziert aus, ist aber eigentlich einfach und logisch.
HOWTO: Massenweise Geocaches von geocache.com holen und auf das Navi schieben
Hierfür eignen sich die genialen geo-xxx-Tools von Rick Richardson hervorragend. Homepage: http://geo.rkkda.com/ . In der Tool-Suite gibt es 5 Skripte, mit denen Geocache-IDs von geocache.com abgefragt werden können:
geo-found gibt Geocache-IDs aus (gefunden von irgendeinem geocache.com-User) geo-placed gibt Geocache-IDs aus (platziert von irgendeinem geocache.com-User) geo-nearest gibt Geocache-IDs der nächstgelgegenen Geocaches aus geo-newest gibt Geocache-IDs der neuesten Geocaches aus (in einem Land) geo-keyword gibt Geocache-IDs aus, die ein "keyword" enthalten.
Optionen für die geo-xxx-Tools können sowohl auf der Kommandozeile übergeben werden, als auch in der geo-Konfigurationsdatei “.georc” abgelegt werden. Dies empfiehlt sich für Standardoptionen, die ständig gebraucht werden. Bei mir sieht diese Datei folgendermaßen aus:
# .georc Konfigurationsdatei für geo-xxx tools PASSWORD="xxx" USERNAME="schreberpeter" LAT=n52.24.059 LON=e09.45.503
Wann immer von einem der geo-xxx-Tools ein Username und ein Passwort sowie eine Positionsangabe benötigt wird, werden diese Informationen aus dieser Datei übernommen (sofern nicht explizit entsprechende Optionen auf der Kommandozeile übergeben werden). Bei dem folgenden Aufruf sind diese Optionen daher implizit schon gesetzt (spart ‘ne Menge Schreibarbeit):
geo-nearest -n 5
Der Aufruf holt die IDs der Geocaches, die den angegebenen Koordinaten (meinem zu Hause) am nächsten liegen. Die Rückgabe des Aufrufs:
GC1V522 52.40087 09.75447 Geocache-multi GC10WW9 52.39773 09.75958 Geocache-multi GC1TV9N 52.39868 09.75387 Geocache-regular GC1J494 52.39618 09.76368 Geocache-unknown GC17Y55 52.39750 09.74917 Geocache-unknow
Die anderen Tools liefern entsprechende Rückgaben. Mit Hilfe des Tools “geo-gpx” kann ich mir jetzt für eine (oder mehrere) GeoCache IDs (GXxxxxx) Detail-Informationen im gpx-Format holen:
geo-gpx -ogpx -OGC1V522.gpx GC1V522
Der Befehl liefert als Rückgabe eine Datei “GC1V522.gpx” mit alle Informationen, die ich auch auf den Webseiten von geocaching.com zum Geocache “GC1V522″ abfagen kann (im gpx-Format; einem XML-Format). Diese gpx-Datei kann nun problemlos mit gpsbabel (s. o.) auf das Navi laden.
Die folgenden beiden Befehle verketten den Vorgang: es werden in einem Schritt die 500 nächstgelegenen Geocache-IDs geholt und und die Detail-Informationen für alle 500 Geocaches in die Datei nearest.gpx geschrieben. Diese wird dann mit gpsbabel auf das Navi kopiert:
geo-gpx -ogpx -Onearest.gpx $(geo-nearest -n 500 | awk '{print $1}') sudo gpsbabel -i gpx -f nearest.gpx -o garmin -F usb:
Und Schwubs, hat man 500 Geocaches auf dem Navi
Jetzt brauchen wir noch die ausführlichen Beschreibungen Human-readable (also z. B. im HTML-Format, damit diese mit einem Browser betrachtet werden können). Hierfür gibt es zwei Möglichkeiten:
1. HTML aus GPX mit gpsbabel (diese Variante hat schwerwiegende Nachteile, s. u.)
gpsbabel -D9 -i gpx -f nearest.gpx -o html -F nearest.html # Lösung problematisch, besser: gpx2html !
Nachteil der gpsbabel-Lösung: Es wird eine (ggf. sehr große) HTML-Datei erzeugt. Das kann zu Schwierigkeiten führen, diese auf leistungsschwächeren Pocket-PC’s mit angemessener Geschwindigkeit (oder überhaupt) darzustellen. Außerdem ist es bei mir in mehreren Fällen vorgekommen, dass nur einige der GeoCaches in die HTML-Datei aufgenommen wurden und die Erstellung dann abgebrochen wurde. Dabei kam es nicht zu Fehlermeldungen, sodass ich das erst unterwegs bemerkt habe (zu meinem besonderen Verdruß, weil ich vom Geocachen unverrichteter Dinge wieder heim kehren musste).
2. HTML aus GPX mit geo-Tools (gpx2html)
gpx2html *.gpx
Die gpx2html-Lösung hat gleich mehrere Vorteile (weshalb ich sie präferiere und empfehle):
- Die Syntax des Aufrufs ist deutlich einfacher.
- Es können mit einem Aufruf gleichzeitig HTML-Dateien für mehrere geocaching-gpx-Dateien erzeugt werden
- Diese werden nicht in einer (ggf. riesigen) HTML-Datei zusammengefasst, sondern für jeden GCxxxxx wird eine eigene HTML-Datei erzeugt, sodass das Lesen auch auf schwachbrüstigen Rechnern keine Schwierigkeiten macht.
- Da hierbei ein Verzeichnis mit (u. U. sehr) vielen HTML-Dateien entsteht (und so etwas kann auf Pocket-PCs dann auch wiederum zu Schwierigkeiten führen), wird eine Hauptseite “index.html” angelegt, von der aus die einzelnen GCxxxxx.html Dateien verlinkt werden. Dieses Layout lässt sich performant und komfortabel auch auf leistungsschwächeren Geräten lesen.
- Als Convenience-Funktion werden zusätzliche Indizes erstellt:
- Nach ID sortiert
- Rückwärts nach ID sortiert
- Nach Datum des letzten Logs auf geocaching.com sortiert
- Liste von Geocaches mit Travel Bugs
- Liste der noch nie gefundenen Geocaches
- In die HTML-Dateien werden auch alle Log-Einträge aufgenommen (die manchmal ja zum Auffinden des Caches durchaus nützlich sein können)
Die HTML Beschreibungen der Geocaches kann man sich auf seinen Palm schieben, auf sein Nokia-Tablet, sein Netbook oder was immer man beim Geocachen so mitnimmt. Und hat dann alle ausführlichen Informationen (samt aller Hints!) immer dabei. Cool
HOWTO: Routen erstellen und (als Track) auf den Garmin laden
- Route auf Openrouteservice.org erstellen.
- Diese als gpx-Datei downloaden.
- Route auf max. 500 Waypoints kürzen. Das geht so:
gpsbabel -t -i gpx -f route.gpx -x simplify,count=500 -o gpx -F route-simplified.gpx - Route als Track auf den Garmin laden. Das geht so:
gpsbabel -D9 -t -i gpx -f route-simplified.gpx -o garmin -F usb: > debug.txt - Ein Upload als Route empfiehlt sich nicht (weil der Garmin das dann als hunderte von Waypoints darstellt und die Sache damit sehr unübersichtlich wird).
HOWTO: Koordinaten für eine Adresse finden
- Via Goole Maps API, z. B:
- MyGeoPosition von Daniel Filzhut: http://www.mygeoposition.com/ Sehr schön gemacht, Rückgabe der Position in allen möglichen Formaten, mit fertigen Links auf Karten, zur Einbindung in die eigene Homepage, etc. Was fehlt, ist ein Link auf Openstreetmap
! - geocaching-events.de: http://www.geocaching-events.de/pages/geocoder.html Mit Erläuterung, wie man sowas selber machen kann (unter Nutzung der Google Maps API).
- Geo Maps Locator (Tedesco): http://www.tedesca.org/geocode/
- MyGeoPosition von Daniel Filzhut: http://www.mygeoposition.com/ Sehr schön gemacht, Rückgabe der Position in allen möglichen Formaten, mit fertigen Links auf Karten, zur Einbindung in die eigene Homepage, etc. Was fehlt, ist ein Link auf Openstreetmap
Weitere Ressourcen
- Doku
- Schwarzwald-bike.de: Sehr (!) gut gemachte, informative Erklärungen zu allen praktischen Fragen rund ums Navi (untere Hälfte des Menüs, unterhalb der Überschrift “gps”)
http://www.schwarzwald-bike.de/gps.php?content=ueber_gps
- wegeundpunkte.de: Da scheinen ebenfalls die Schwarzwälder dran zu arbeiten, sieht vielversprechend aus, viele Infos und Routenberechnung (nicht nur über Google Maps sondern auch über OSM und OSM Cylce Map!)
http://www.wegeundpunkte.de/
- Schwarzwald-bike.de: Sehr (!) gut gemachte, informative Erklärungen zu allen praktischen Fragen rund ums Navi (untere Hälfte des Menüs, unterhalb der Überschrift “gps”)
- Garmin HCx Spezial
- Software
- gpsBabel – sudo apt-get install gpsbabel
- geoCaching
- gpsies.de
- Karten
- Openstreetmap (OSM): Freie Karten, gemeinschaftlich erstellt: http://www.openstreetmap.org/ (OSM-Wiki), Wikipedia Artikel zu OSM
- Überblicksartikel im OSM Wiki zu OSM-Garmin-Karten
- OSM Karten von GEOFABRIK: http://download.geofabrik.de/osm/
- OSM Karten für Garmin von Computerteddy: http://wiki.openstreetmap.org/wiki/User:Computerteddy
- OSM Karten für Garmin von na1400: http://garmin.na1400.info/routable.php
- OSM Karten für Garmin von Master: http://wiki.openstreetmap.org/wiki/DE:All_in_one_Garmin_Map
- geoclub.de-Thread: Freie Karten auf Garmin Geräten
- Routenberechnung (!) mit OSM (Uni Bonn): http://www.openrouteservice.org/ (OSM-Wiki-Artikel)
- Routenberechnung mit OSM (YOURS): http://www.yournavigation.org/ (OSM-Wiki-Artikel)
- Routenberechnung mit OSM (CloudMade): http://maps.cloudmade.com/
- Routenberechnung mit OSM und OSMCylce bei wegeundpunkte.de
- OSM Software: Ubuntuusers Artikel
- OSM Kartenbearbeitungs-Software: JOSM,
Homepage: http://josm.openstreetmap.de/,
OSM-Wiki Artikel: http://wiki.openstreetmap.org/wiki/DE:JOSM
- Tracks und Routen
- Fahrradwege in Hannover auf OSW-Wiki: http://wiki.openstreetmap.org/wiki/Hannover
- Fahrradwege in der Region Hannover aus OSW-Wiki: http://wiki.openstreetmap.org/wiki/Region_Hannover
- Online Tracks-nach-Routen-Konvertierer: http://www.gps-touren.at/trk2rte.php
- Upload von Routen auf Garmin: “sudo gpsbabel -i gpx -f laubbaum.gpx -x transform,rte=trk -r -o garmin -F usb:”
- Navigationssoftware
- gpsd: Ubuntuusers-Artikel (Daemon zur Kommunikation mit gps-Empfängern)
- tangoGPS: http://www.tangogps.org
- GpsDrive: Ubuntuusers-Artikel, Homepage: http://www.gpsdrive.de
- Geoclub.de (deutschsprachiges geocaching-Forum): http://www.geoclub.de/
Todo
- GpsDrive: http://de.wikipedia.org/wiki/GpsDrive
- Waymarking.com: http://www.waymarking.com/
- OSM composer: http://wiki.openstreetmap.org/wiki/OSM_Composer
- Make Garmin Map (Mkgmap): http://wiki.openstreetmap.org/wiki/Mkgmap
- Java Openstreetmap Editor (JOSM): http://wiki.openstreetmap.org/wiki/JOSM
Hallo, sehr schöne zusammenfassung was mit Linux/Garmin alles geht. Aber zu geo hab ich mal eine Frage, geht das nur mit einen Premium-Account von gc.com?
Gruß Jochen
Hallo das geo-xxx Tool ist Super, leider findet er bei mir dos2unix nicht, habe Ubuntu 9.10 drauf. Gibts da eine Lösung?
Gruß jochen
[...] http://blog.p-mt.net/archives/353 [...]
Hallo Jochen,
Folgende bash Aliases sollten das Problem lösen (eintragen z. B. in /etc/bash.bashrc oder in /etc/profile)
alias dos2unix=’recode ibmpc..lat1′
alias unix2dos=’recode lat1..ibmpc’
… bei Aufruf welchen Programms hast Du das Problem? … Ist mir noch nicht unter gekommen.
Liebe Grüße, Peter
Hallo Jochen,
ja, manche geo-tools setzen einen Premium-Account bei gc.com voraus. Hat mich auch gestört. Ich war aber zu faul für andere Lösungen und habe mich aus Bequemlichkeit freigekauft.
Liebe Grüße, Peter