flattr this!

HowTo: Garmin Oregon und OC-GPX

Geschrieben von +Maik Bischoff am 5. Mai 2010 um 14:32

Achtung: Das Problem besteht nicht mehr, da bei OC das GPX-Schema geändert wurde und die Dateien somit jetzt direkt im Oregon funktionieren.

Nachdem mir kürzlich ein Garmin Oregon 550 ganz versehentlich in den Einkaufskorb gefallen war, stand ich vor einem kleinen Problem. Paperless Geocaching mit dem Oregon ist ja eigentlich ganz nett, man hat nicht nur alle Caches, sondern auch gleich deren Beschreibungen und die letzten Logs dabei. Aber eines störte ganz gewaltig: Garmin setzt hier auf das groundspeakeigene GPX-Format, das eben mit den Groundspeak-Extensions daherkommt.

Nimmt man nun ein GPX-File von opencaching.de, das man im Übrigen ganz im Gegensatz zu den GPX-Files von geocaching.com jederzeit und kostenlos bekommt, dann “frisst” das Oregon diese Datei nicht. Klar, die Wegpunkte sind da, aber sie werden nicht als Geocaches sondern nur als gewöhnliche Wegpunkte gewertet. Und dabei bleiben natürlich sowohl die Beschreibung als auch die letzten Logs auf der Strecke.

Abhilfe kann man hier jedoch auf vielerlei Wegen schaffen. Eine Möglichkeit ist die Verwendung von GSAK, was aber ein installiertes Windows benötigt. Unter Linux mit wine läuft es eher hakelig bis gar nicht, bleibt für Linuxer nur die VirtualMachine. Und auch die Ausgabe von GSAK genügt noch nicht, da GSAK keine IDs für die Caches vergibt. Das bedeutet dann, das von dem mit GSAK erzeugten GPX jeweils nur der erste Cache im Oregon angezeigt wird. Um alle angezeigt zu bekommen, muss man dann noch einen Schritt weiter gehen. Man muß nämlich die GPX-Files mit einem speziellem Makro (Garmin Colorado/Oregon Export, ColoradoExport.GSK) erzeugen lassen, dann erst funktionieren sie auch vollwertig im Oregon.

Eine weitere Lösung ist die Verwendung von CacheWolf. CacheWolf kann seine Daten ebenfalls ins GPX-Format exportieren. Leider fehlen dann die letzten Logs, was oftmals auch schlecht ist. Also ist diese Lösung auch eher eine Notlösung, wenngleich eine deutlich schnellere als der Umweg über die Kombination GSAK/Makro. Aber es gibt eine wirklich schnelle Lösung, die sowohl unter Windows als auch unter Linux funktioniert: oc2garmin.

Dabei handelt es sich um ein kleines Perlscript von fogg, das ganz fix alle Daten ins richtige Format bringt. Ein kurzer Aufruf

perl /pfad/zu/oc2garmin.pl <filename>.gpx

und schon wird das GPX-File umgebaut, so das es im Oregon (Colorado, Dakota) problemlos funktioniert.

Und unter Linux (mit Nautilus als Dateimanager) geht es dann gleich ganz besonders komfortabel: Ich selbst habe mir daraus gleich ein kleines Userscript für Nautilus gebaut, so dass ich ab sofort die Dateien direkt über das Kontextmenü in Nautilus umwandeln kann. Dabei genügt es dann, kurz mit der rechten Maustaste in das Verzeichnis zu klicken, in dem sich die umzuwandelnden Dateien befinden, das Script wird ausgewählt und ab dafür:

#!/bin/sh
for i in `ls $i`; do perl /home/schrottie/geolog/oc2garmin.pl $i ; done

Schwupp ist alles umgewandelt. Dabei spielt es dann auch keine Rolle wenn noch andere Dateien im betreffenden Verzeichnis sind, da sich das Perlscript daran die Zähne ausbeißen würde, bricht es einfach ab und bekommt die nächste Datei vorgeworfen. Ein direkter Aufruf des Perlscriptes mit einem kürzeren:

#!/bin/sh
perl /home/schrottie/geolog/oc2garmin.pl $1

täte es auch, dann aber nur im Kontextmenü für einzelne Dateien. Wenn man aber oft und viele GPX-Files bearbeiten will, dann ist die Methode mit dem verzeichnisweiten Umwandeln wohl die bessere.

Geocaches im Oregon OC-Cache im Oregon

Wie man sieht: Die Caches werden nun allesamt im Oregon angezeigt. :-)

Nachtrag: Für alle die zu faul sind die Kommentare zu lesen, hier noch schnell ein Hinweis wie man die Sache mit dem Kontextmenü auch für den Windows Explorer hinbekommt. Vielen Dank dafür an Surrogard!

Im Registrierungseditor unter HKEY_Classes_Root/gpx/shell einen neuen Schlüssel anlegen (Name unwichtig sinnvoll wäre aber OC2Garmin zum wiedererkennen ). Darunter dann einen weiteren Schlüssel namens command anlegen und diesem den Wert:

“C:\Pfad\zur\OC2Garmin.exe” “%1″

zuweisen. Das wars.

Übrigens: Im Registrierungseditor herumfummeln sollte nur derjenige, der auch weiß was er da tut. Anders als die Lösung für Linux, die nur auf Benutzerebene arbeitet, sind Fummeleien in der Registrierdatenbank von Windows Eingriffe ins System und können alles zerlegen. Es kann also im schlimmsten Fall passieren, das Windows dann noch schlechter läuft als ohnehin schon. *g*

Und noch ein Nachtrag: Teamintern sind wir bereits dran eine Lösung für dieses Problem zu finden schaffen, wenn alles klappt, dann sollten demnächst auch die GPX-Files die OC ausliefert out-of-the-box im Oregon (Colorado, Dakota) funktionieren.

flattr this!

Kommentare

22 Reaktionen zu “HowTo: Garmin Oregon und OC-GPX”

  1. Max

    Hmm, ist ja interessant, dass Du sagst, dass die OC-GPX nur als Wegpunkt daher kommt.
    Ich hatte ja gestern anderes festgestellt, aber da ich die GPXe nicht direkt aufs Gerät spielen kann, sondern nur mit einem extra Programm, bemerkte ich da keinen Unterschied. In EasyGPS wird eine OC-GPX auch als GeoCache-Wegpunkt dargestellt. Unabhängig von den Groundspeak-Extensions und der Beschreibung ist ja dafür das Sym-Tag zuständig, wenn da Geocache drinsteht, erscheints ja auch als Kiste im GPS, zumindest bei mir im eTrex.

    Aber die Sache werde ich mir mal merken, für den Fall, dass mir auch ein Oregon rein zufällig in den Einkaufskorb fällt ;)

  2. Surrogard

    Zum Nautilus user script:
    So weit schon gut, aber vielleicht sollte man noch die folgende Variante erwähnen:
    —–
    FILES=”`echo ${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}`”
    for FILE in “${FILES}” ; do
    perl /pfad/zur/oc2garmin.pl “${FILE}”
    done
    —–
    Somit werden auch mehrere selektierte Dateien umgewandelt, und auch nur diese…

  3. Schrottie

    @Max:Kann gut sein das Dein Problem auch damit zu tun hat, immerhin sehen die OC-GPX ja etwas anders aus, eben wie echte GPX. Was Groundspeak rausreicht ist ja eigenes Gekasper, blöderweise macht Garmin diesen Unfug dann auch noch mit.

    @Surrogard: Hmm, klingt interessant, aber irgendwo hakt es. Hier jedenfalls tut Deine Variante nicht.

  4. mo-cacher

    Wenn man da eh noch erst was umwandeln muss wäre das vielleicht geschickter gleich alle GPXe von OC in ein POI zu schreiben. Und wenn das so einfach ist, warum liefert OC die GPXe nicht gleich Garmin-kompatibel aus, das wird doch wohl Perl auf dem Server sein?

  5. Max

    @mo-cacher: nicht jeder möchte die Caches als POI haben, sondern lieber als Wegpunkt, speziell als Geocache-Wegpunkt. An dem kann ich nach einem Fund auch erkennen, dass ich den schon gefunden habe, bei POIs ja erstmal nicht bzw. erst nach einem erneuten GSAK-POI-Transfer, wie ich hörte.

  6. roamer_ge

    Beim Export mit cachewolf kann man doch auswählen wieviele Logs man mit exportieren will (default:5).
    Was ist jetzt da dein Problem?

  7. Klotzi

    Hallöchen,

    kann mir evtl. jemand sagen, wie ich das ganze unter Windows hinbekommen? Evtl. auch als Kontextmenüeintrag?
    Benötige ich da noch weitere Software oder versteht die Windose das Pearlscript von Hause aus? Kann ich mir eigentlich nicht vorstellen; aber Wunder gibt’s ja immer wieder. :angel:

  8. Max

    @Klotzi: das oc2garmin gibbet auch als Windows-Exe unter dem oben genannten Link

  9. Klotzi

    Ok! Wie es mit einem Direktaufruf funktioniert habe ich herausgefunden.
    Weiß jemand wie man es unter Windows ins Kontextmenü des Dateimanagers implementiert?

  10. Klotzi

    Gibt es auch ein Programm OC-GPXse für Cacheberry (Blackberry) lesbar zu machen? da funktionieren die mit oc2garmin umgewandelten GPX nämlich nicht. Gehe ich aber über GSAK funktionierts.

    Danke für jeden Hinweis. Gruß Klotzi.

  11. Surrogard

    @Schrottie: habs mal hochgeladen so wie es eigentlich funktionieren sollte http://salowsky.net/dateien/oc2garmin
    Ich denke dass das WordPress die Anführungszeichen durcheinander gebracht hat…

    @Klotzi: Im Registryeditor unter HKEY_Classes_Root->gpx->shell einen neuen Schlüssel anlegen (Name unwichtig sinnvoll wäre aber “OC2Garmin” zum wiedererkennen ;) )
    darunter dann einen weiteren schlüssel anlegen namens “command” und in diesem rechts bei Wert dann
    “C:\Pfad\zur\OC2Garmin.exe” “%1″
    eingeben.

  12. Schrottie

    @mo-cacher: Klar, POI sind schon eine Möglichkeit, aber dann können ja die tollen Geocachingfunktionen des Oregano nicht genutzt werden. Dafür muss es nämlich GPX sein.

    @roamer_ge: Bei meinem Versuch hat CW kein einziges Log exportiert. Aber gut, wenn er es kann, dann umso besser. Allerdings ist die Lösung über das Perlscript wesentlich eleganter und vor allem schneller. :-)

    @Surrogard: Das tut immer noch nicht. Ist aber halb so wild, eine funktionierende Lösung habe ich ja.

  13. Surrogard

    @Schrottie: habs mir nochmal angeschaut, und der Fehler ist im oc2garmin-Script, es nimmt den angegebenen Pfad und schreibt ein “Garmin” davor, was bei einem Pfad mit Verzeichnissen natürlich Blödfug ergibt.
    Hab das Nautilusscript angepasst, jetzt funzt es trotz fehlerhaftem Perlscript…

  14. Schrottie

    Das ‘Garmin’ wird vor die neue Datei geschrieben, das ist doch auch gut so.

  15. roamer_ge

    Das oc2garmin script funktioniert aber bei mir nur mit gpx dateien, die nur einzelne caches enthalten.
    Wenn ich bei OC z.B eine Umkreissuche mache (vgl. einer PQ) und das Suchergebnis als gpx runterlade klappt klappt da smit dem script nicht.

  16. Schrottie

    Hmm, hier geht das problemlos. Suche bei OC, aller Ergebnisse in einem GPX herunterladen, oc2garmin drüberlaufen lassen, alles hübsch.

    Aber wie oben im Text inzwischen angemerkt: Wir sind intern dran hier ein wenig umzubauen, so das die GPXe von OC auch ohne nachträgliche Bearbeitung funktionieren. Nur müssen da noch ein paar rechtliche Kleinigkeiten geklärt werden. Denn einfach so ein GPX mit den Groundspeak-Extensions ausgeben ist nicht. Man kann sich hier zwar für den Hausgebrauch damit behelfen, so wie es das Script auch tut, aber alles andere ist so nicht zulässig, da hier ja Groundspeak die Hände drauf hat.

    Kurzum: Alles wo die Groundspeak-Extensions im GPX sind, darf normalerweise nur von Groundspeak selbst ausgeliefert werden. Das Perlscript fällt hier wohl unter geduldeten Hausgebrauch, denn man bekommt ja eigentlich kein GPX geliefert, was Cachewolf und GSAK machen ist schon rechtliche Grauzone mit Tendenz zum Dunkelgrau, denn da sind ganz klar die Groundspeak-Extensions enthalten und die Daten werden von einem Programm aus einer eigenen Datenbank erzeugt. Auf eine entsprechende Anfrage von mic@ bei Groundspeak meinte Bryan Roth (Vice President/Co-Founder) einst:

    If the data is not originating from the geocaching.com website, it should not have the Groundspeak extensions. If the GPX data contains Groundspeak extensions, it must be safe for consumers to assume that the data has originated from Groundspeak. It is for these reasons that we do not permit third parties to generate GPX files using the Groundspeak extensions if the geocache data does not originate from the geocaching.com website.

    Im Klartext darf also nichtmal oc2garmin.pl diese Extensions verwenden, denn die Daten kommen in dem Falle ja nicht von Groundspeak. Allerdings ist hier die Grauzone um einiges heller, denn im Grunde wird hier ja kein GPX erzeugt, sondern es wird vom User selbst nur “umgebaut”. Anders ist es da eben schon bei Cachewolf/GSAK, da werden aus eigenen Datenbanken die GPX-Files erzeugt, weshalb hier auf jeden Fall “…we do not permit third parties to generate GPX files using the Groundspeak extensions…” greift. Es wird wohl nur trotz der Dunkelheit in der Grauzone geduldet, da Groundspeak ja selbst GSAK empfiehlt und es als tolle Ergänzung zum Premiumpaket anpreist. Schließlich sollen ja auch alle die Supporter ohne Oregon/Colorado/Dakota die PQ in vollem Umfang nutzen können und eben deswegen auch PM werden…

  17. Klotzi

    Lösung für Cacheberry in Sicht! Der Chef von Cacheberry verspricht Abhilfe zu schaffen!

    siehe: http://www.zitafarm.com/forum/viewtopic.php?f=7&t=777

  18. Schrottie

    Ähh, Klotzi:

    The requested topic does not exist.

    Aber nicht so schlimm, wie ich oben schon schrieb, wir arbeiten daran die GPX ein wenig umzubauen, damit sie auch im Garmin und damit vermutlich auch im Cacheberry laufen.

  19. Klotzi

    Ja, ja, ich weiß. Das gehört hier nicht hin. Aber ich hatte weiter oben erwähnt, dass sich auch die per Script veränderte Datei nicht in Cacheberry lesen läßt. Nun wollte ich nur der Vollständig halber auch erwähnen, dass der Programmierer von Cacheberry eine Datei von OC erhalten hat, sich angesehen hat, und festgestellt hat: Cacheberry so zu verändern, dass auch GPX von OC gelesen werden können, sei nicht so schwer und stehe auf der TODO!!
    Kann ja sein, dass noch mehr Cacheberry-User deinen Blog lesen :blush:

    Schönen Gruß, Klotzi.

  20. Schrottie

    Nein, nicht das es hier nicht hingehört, es ist hier schon ganz richtig. Ich meine nur, das die GPX von OC bald anders aussehen, und dann eben Cacheberry auch so damit klarkommt. Im schlimmsten Fall macht sich die Änderung im Cacheberry dann so bemerkbar, das es wieder nicht funktioniert.

    Hast Du da Kontakt zum Programmierer?

  21. Klotzi

    @Schrottie:

    Ja, ich habe Kontakt zu dem Programmierer (Bruce) über sein Forum, in dem er auch sehr schnell reagiert! Vielleicht nimmt Cacheberry die (neuen) GPX von OC ja dann auch so wie die von GC?! Erst einmal abwarten.

  22. Teamblog

    Geändertes GPX-Schema…

    Zuweilen erreichte den Support von opencaching.de der Hinweis, das die GPX-Dateien von opencaching.de nicht mit aktuellen GPS-Geräten der Firma Garmin funktionieren. Dies betraf dann in erster Linie die Geräte der Baureihen Oregon, Dakota und Colorado,…

Loading Facebook Comments ...