Dieser Blogeintrag ist primär für mich selbst, damit ich nicht später nicht wieder alles neu raussuchen muss.
Bei der Suche nach einer Möglichkeit, alle Caches einer Umgebung als gpx-Datei abspeichern zu können (für das Outdoor-Navi und das Smartphone), ohne die wirklich katastrophale und darüberhinaus kostenpflichtige Variante der Personal Queries von Groundspeak zu verwenden, bin ich auf “geo-*: Rick Richardson’s Linux tools for geocaching” gestoßen.
Als Kurzzusammenfassung kann ich schonmal festhalten: kein Clicki-Bunti (oder wie der Autor schrieb: “clickly-clicky-scroll-clicky-clicky messes”), sondern wirklich ein brauchbarer Werkzeugkasten für alle möglichen cachologischen Bedürfnisse.
Unter Linux tar-Archiv herunterladen, auspacken, kompilieren. Sollte in etwa so aussehen:
# als root
cd /opt
wget http://geo.rkkda.com/geo-13-05-05-10-32-06.tar.gz
tar xvfz geo-*.tar.gz
chown -R {user} geo
# als {user}
cd /opt/geo
make
PREFIX=/opt/geo make install
export PATH=${PATH}:/opt/geo/bin
Dann die Datei $HOME/.georc (wird automatisch beim ersten Aufruf eines der Tools generiert) editieren/ausfüllen. Achtung: beim Passwort berücksichtigen, dass Sonderzeichen prozentkodiert werden müssen (hat mich einigen Code-Review gekostet, das herauszufinden).
Wenn alles glattgegangen ist, kann man nun z.B. alle max. 500 Geocaches vom Typ “traditional” im Umkreis von 5 Meilen um das Zentrum von Ottawa (N45.422069, W75.684801) folgendermaßen suchen:
geo-nearest -f -m -s -n500 -r5M -H /tmp/geo/ottawa 45.422069 -75.684801 trad
# -f Do not report any found or unavailable caches
# -m Do not report any members-only caches
# -s Output short names for the caches (gpsbabel option)
# -n num Return "num" caches [20]
# -r radius Display only caches with radius (e.g. -r 25M)
# -H htmldir Also fetch the printable HTML pages (slowly)
Durch das “-H” werden die Druck-HTML-Seiten geladen und gespeichert (während des Programmlaufes zunächst in $HOME/.geo/caches
; erst wenn alle Seiten geladen wurden, werden die Dateien ins angegebene HTML-Verzeichnis kopiert – um einen Fortschritt zu sehen, muss man also erstgenanntes Verzeichnis überwachen).
Um nun aus diesen HTML-Dateien eine GPX-Datei zu erzeugen, ist ein weiterer Schritt nötig:
geo-html2gpx -b -w /tmp/geo/ottawa/*.html > /tmp/geo/ottawa.gpx
# -b Normalize output by postprocessing with gpsbabel
# -w Do not add "Additional Waypoints" to the GPX output
Das “-b” ist wichtig! Nur dann kann man die GPX-Datei auch unter Android in c:geo einlesen, was ungemein wichtig ist, falls man in ein Gebiet ohne Netzabdeckung fährt (oder wie in meinem Fall in ein Gebiet, für das man keine SIM-Karte hat).
Bin bis jetzt begeistert von den Tools und gespannt, wie weit ich in Kanada mit den generierten GPX-Dateien komme…