Labcaches Schritt für Schritt in GSAK und FindStatGen integrieren

LabcacheZum Thema „Labcaches“ habe ich ja schon öfter mal etwas geschrieben. Allerdings fehlte noch eine Anleitung, die Schritt für Schritt erklärt, wie man als (noch) unwissender Anwender Labcaches in GSAK und vor allem in FindStatGen intergrieren kann. Dazu muß man wissen, daß Groundspeak die Labcaches leider etwas stiefmütterlich behandelt und man einiges anpassen muß, damit die Integration in die Statistiken wirklich funktioniert. „Out of the Box“ – sprich: einfach nur das GPX in GSAK einlesen – geht das zwar mehr schlecht als recht. Aber das Ganze soll sich ja nahtlos einfügen und so einen klitzekleinen Hang zur Perfektion darf ja dann doch auch mal haben 🙂

Ich gehe hier also von einem Anwender aus, der von einem Event heimkommt und dann diese Labcaches in GSAK verwalten und in seiner Statistik angezeigt haben will. Dazu klappert man einfach die folgenden Punkte nacheinander ab und braucht sich am Ende keine weiteren Gedanken mehr um schon geloggte Labcaches mehr zu machen.

Grundvoraussetzungen

Ich gehe hier von folgenden Voraussetzungen aus:

– Eine aktuelle Version von GSAK. Bei mir ist das heute 8.5.1.40.

– FindStatGen in der Beta-Version 4.5. Benötigt wird mindestens die Version vom 07.09.2014, am besten aber natürlich die aktuellste vom 18.01.2015.

– FindStatGen muß eingerichtet sein. Wie du welche Statistik anzeigen willst, mußt du selber wissen. Hier geht es einzig und allein um die Integration der Labcaches.

– Natürlich Labcaches. Ich verwende hier testweise die 10 Labcaches der Terezinske hry 2015 / Terezin games 2015.

Bezug der Daten als GPX

Die Daten der Labcaches liegen auf der jeweiligen Seite auf labs.geocaching.com als GPX vor und können dort heruntergeladen werden. Normalerweise sieht das so aus:

GPX DownloadHier haben wir aber bereits das erste Problem: Aus welchen Gründen auch immer verschwindet der Downloadlink nach sehr kurzer Zeit. Da sitzt man also einige Tage nach einem Mega Event endlich zuhause, will in Ruhe loggen und kommt nicht mehr an die Daten… Ganz toll gemacht!

Zum Glück ist der Link aber nur ausgeblendet, man kann die GPX-Dateien auch weiterhin downloaden. Einfach in der URL der Labcache-Übersicht „Details“ durch „DetailsAsGpx“ ersetzen. Mit Hilfe des Greasemonkey-Scripts „Lab-Cache GPX Downloader“ gehts noch einfacher. Hier wird direkt ein Link eingeblendet. Wer also öfter mal länger mit seinen Logs braucht, der sollte sich das Script (oder alternativ GC little helper, das die Funktionalität auch bietet) installieren.

GPX-Download mit Greasemonkeyscipt
Die GPX-Datei wird wie gewohnt in GSAK eingelesen. Das würde jetzt erstmal ausreichen, aber wirklich „sauber“ ist das noch nicht.

Nötige Änderungen

Wenn man sich jetzt einmal anschaut, welche Daten über die GPX-Datei in GSAK landen, wird man feststellen, daß die Datensätze unvollständig und teilweise auch unbrauchbar sind.

Ausgangsansicht

Es müssen also Anpassungen vorgenommen werden:

1. Der GC-Code. In der GPX steht zwar einer, der beginnt aber mit „LB“. Damit funktioniert FindStatGen später nicht bzw. die Labcaches werden nicht als Geocaching.com-Geocaches gezählt. Das Ergebnis wäre dann etwas a la „1234 Geocaches & 25 weitere Caches“. Deshalb muß dem GC-Code ein „GC“ vorangestellt werden. Aus LB1JQCKCV wird dann einfach GCLB1JQCKCV.

Anmerkung: Die Änderung wird neuerdings wohl nicht mehr benötigt, da FindStatGen die Labcaches scheinbar anhand der Cacheart und nicht anhand des GC-Codes erkennt und richtigerweise Geocaching.com zuweist.

2. Jeder Labcache bekommt einen Ownernamen (der auch in das Feld „Versteckt von“ eingegeben wird) und eine Owner-ID. Die Owner-ID erhält man übrigens, wenn man dem Link „See the Forum Posts for This User“ auf der Profilseite des Owners folgt. Es ist die Zahl hinter „&mid=“.

3. Ich setze die Behältergröße auf „Virtuell“. Das ist sicherlich Geschmackssache, aber ich habe das bei meinen ersten Labcaches so gemacht und dann beibehalten. Standardmäßig steht bei Labcaches die Behältergröße auf „unknown“, das sonst aber nur für Events verwendet wird.

4. Land, Bundesland und ggf. Landkreis werden eingetragen. Dieser Punkt kann entfallen, wenn das generell beim Import einer GPX-Datei in GSAK geschieht.

5. Die Höhe in Metern über NN wird eingelesen.

6. Zu guter Letzt wird natürlich auch geloggt. Zu beachten ist dabei, daß das eigentlich Loggen auf der Website der Labcaches geschieht. In GSAK wird das Log nur ergänzt, damit GSAK und FindStatGen wissen, daß der Labcache geloggt wurde und wann.

Anpassen und ergänzen der Daten in GSAK

Die Punkte 1 bis 3 können quasi in einem Aufwasch erledigt werden. Einfach mit der rechten Maustaste auf den ersten Eintrag klicken und „bearbeiten“ auswählen. Danach kann man dann durch alle Caches blättern.

Achtung! Manchmal enthalten die GPX-Dateien keine Terrain-/Difficulty-Wertung. Diese sollte dann auch in dieser Ansicht auf D1/T1 (oder eine Wertung nach Wahl, die die eigene Statistik nicht zu arg verwässert) geändert werden.

Änderungen vornehmen
Sollte Punkt 4 noch nicht beim Einlesen der GPX-Datei passiert sein, dann verwendet man am besten das CountryStateCounty-Makro, um die Eintrage für Land, Bundesland und Landkreis zu füllen.

Die Höhe kann über das GSAK-Menü „Datenbank“ und den Punkt „Höhe aktualisieren“ eingetragen werden.

Loggen

Eigentlich loggt man hier nicht „richtig“: Ein Labcache wird ja geloggt, indem man eine Art Lösungswort auf der Labcache-Website eingibt. Das muß man natürlich auch weiterhin so machen. Der Fundzähler auf Geocaching.com steigt, GSAK kann allerdings nichts vom Fund wissen, da die Labcache-GPX-Datei keine Logs enthält. Daher ist es nötig, ein „internes“ Fund-Log anzulegen, um GSAK den Fund zu vermitteln. Dies erledigt man über das Makro CreateLog.gsk.

Loggen
Das Makro ist eigentlich selbsterklärend: Als Logtyp wird natürlich „Found it“ ausgewählt, Datum und Uhrzeit des Fundes sowie der eigene Username und UserID eingetragen. Da der Text nirgendwo gepostet wird, ist es prinzipiell egal, was im unteren Feld steht. „Labcache von Mega XY“ reicht vollkommen aus.

Achtung! Geloggt wird mit einem Klick auf „Add + Update“. Nur dort wird ein Log angelegt und dem Labcache gleichzeitig auch der richtige Status (in diesem Fall „Gefunden“) zugewiesen. Der Button „Add“ legt lediglich ein Log an.

Gefüllte Datensätze
Die Datensätze sind alle gefüllt und FindStatGen kann gestartet werden und Statistiken erstellen. Hat alles wie geplant funktioniert, sollte die Auflistung der Funde nach Typ so ähnlich aussehen wie auf diesem Screenshot:

Funde nach Typ
Und beim nächsten Mal?

Diese Punkte müssen leider bei jedem neuen Labcache durchgeführt werden. Der Aufwand ist natürlich etwas größer als bei anderen Cachearten, die man einfach nur einliest und ggf. auch direkt über GSAK loggen kann. Aber wenn man einmal weiß, wie es geht, dann ist die Mehrarbeit minimal. Ich habe für die 30 Labcaches vom Giga Event GeoXantike vielleicht 30 Minuten benötigt.

Wo finde ich nochmal die Labcaches vom Event XY?

Leider gibt es keine Übersichtsseite, auf der die bisher ungeloggten Labcaches aufgelistet werden. Alle geloggten findet man unter https://labs.geocaching.com/Logs. Für alle anderen gibt es einen Thread im Goundspeak-Forum, in dem die Labcaches, inklusive dem Link zu der jeweiligen GPX-Datei, gesammelt werden.

Fehler gefunden? Verbesserungsvorschlag?

Wenn du einen Fehler gefunden haben solltest oder einen Ergänzungswunsch hast, dann schreibe einen Kommentar.

4 Gedanken zu “Labcaches Schritt für Schritt in GSAK und FindStatGen integrieren

  1. Vielen Dank für deine Anleitung, und wie das ganze am besten in GSAK auszusehen hat! 🙂
    Da ich mir soetwas gerne nochmals vereinfache, habe ich mir da einen passenden Weg überlegt.

    **************************************************************************************************************
    ACHTUNG! Jeder Fehler kann die Datenbank auch zerstören!! Am besten erst mal in einer Testdatenbank testen!!!
    **************************************************************************************************************

    Nun den SQL-Lite Manager starten. Nachdem die Lab Caches eingelesen wurden, kann man sich diese mit folgendem select ausgeben lassen:

    select * from caches where code like ‚lb%‘
    -> Mit F9 führt man den Befehl aus.

    Ich persönlich habe für meine Lab Caches eine D/T Wertung von 2 festgelegt. Mit folgendem Update Befehl legt man genau dies fest und setzt automatisch den Behälter auf Virtual. Und das bei ALLEN (!) Caches die mit LB beginnen. Also allen Lab Caches in der Datenbank.

    update caches set difficulty = ‚2.0‘, terrain = ‚2.0‘, container = ‚Virtual‘ where code like ‚lb%‘

    Für das Owner festlegen benötigen wir nun erst einmal die ganzen Codes. Als Beispiel hab ich das Müncher Giga hergenommen. Wobei irgendwo im Cachename MIA SAN vorkommen kann. Hier zuerst die Ausgabe:

    select * from caches where code like ‚lb%‘ and name like ‚%mia san%‘

    Am besten kopiert man sich die Codes heraus, und setzt diese in 1 Zeile mit ‚ am Anfang und am Ende sowie mit Komma getrennt:

    ‚LB1FF9195′,’LB1FF9196′,’LB1FFE8BH‘,’LB1FFE8BJ‘,’LB1FFE8BK‘,’LB1FFKXKM‘,’LB1FFKXKN‘,’LB1FFKXKP‘,’LB1FFKXKQ‘,’LB1FFKXKR‘,’LB1BZEX6N‘,’LB1BZEX6P‘,’LB1BZEX6Q‘,’LB1BZEX6R‘,’LB1BZEX6T‘,’LB1BZEX6V‘,’LB1BZEX6W‘,’LB1BZM4B7′,’LB1BZM4B8′,’LB1BZM4B9′,’LB1DJQH4J‘,’LB1DJQH4K‘,’LB1DJQH4M‘,’LB1DJQH4N‘,’LB1DJQH4P‘,’LB1DJQH4Q‘,’LB1DJQH4R‘,’LB1DJQH4T‘,’LB1DJQH4V‘,’LB1DJQH4W‘

    Ich habe mal die für mich relevanten Owner, Codes sowie die SQL Befehle (als Beispiele) herausgesucht und hier aufgeführt:
    (Event) -> (Owner / Placed by) (UserID)

    Mega am Meer -> Mega am Meer 8483326
    Geoxantike -> CacherTeamGeldern 6843309
    Mainz Gutenberg 2015 -> Gutenberg-Team 8949297
    Big Äppel -> GCRheinMain 7764646
    Block Party 2013 -> Geocaching HQ 41118
    Microbrew Excursion -> Geocaching HQ 41118
    Mia san Giga -> Munich Giga Event Team 7034850

    Nun wird es etwas Trickreich. Nachdem die Codes passend herausgesucht wurden, kann man mit folgendem Befehl die fehlenden Felder zuordnen:

    Mia san Giga:
    update caches set PlacedBy = ‚Munich Giga Event Team‘, OwnerName = ‚Munich Giga Event Team‘, OwnerId = 7034850 where code in (‚LB1FF9195′,’LB1FF9196′,’LB1FFE8BH‘,’LB1FFE8BJ‘,’LB1FFE8BK‘,’LB1FFKXKM‘,’LB1FFKXKN‘,’LB1FFKXKP‘,’LB1FFKXKQ‘,’LB1FFKXKR‘,’LB1BZEX6N‘,’LB1BZEX6P‘,’LB1BZEX6Q‘,’LB1BZEX6R‘,’LB1BZEX6T‘,’LB1BZEX6V‘,’LB1BZEX6W‘,’LB1BZM4B7′,’LB1BZM4B8′,’LB1BZM4B9′,’LB1DJQH4J‘,’LB1DJQH4K‘,’LB1DJQH4M‘,’LB1DJQH4N‘,’LB1DJQH4P‘,’LB1DJQH4Q‘,’LB1DJQH4R‘,’LB1DJQH4T‘,’LB1DJQH4V‘,’LB1DJQH4W‘)

    Explore the Block
    update caches set PlacedBy = ‚Geocaching HQ‘, OwnerName = ‚Geocaching HQ‘, OwnerId = 41118 where code in
    (‚LB168C0XZ‘,’LB168C0Y0′,’LB168C0Y1′,’LB168C0Y2′,’LB168C0Y3′,’LB168C0Y4′,’LB168C0Y5′,’LB1Y6D3QW‘,’LB1Y6D3QX‘,’LB1Y6JB8Y‘,’LB1Y6JB8Z‘,’LB1Y6JB90′)

    Mega am Meer
    update caches set PlacedBy = ‚Mega am Meer‘, OwnerName = ‚Mega am Meer‘, OwnerId = 8483326 where code in
    (‚LB1W7MRXV‘,’LB1W7MRXW‘,’LB1W7V11P‘,’LB1W7V11Q‘,’LB1W7V11R‘,’LB1W7V11T‘,’LB1W7V11V‘,’LB1W7V11W‘,’LB1W819E3′,’LB1W819E4′)

    Gutenberg / Maze
    update caches set PlacedBy = ‚Gutenberg-Team‘, OwnerName = ‚Gutenberg-Team‘, OwnerId = 8949297 where code in
    (‚LB1GYFW7K‘,’LB1GYFW7M‘,’LB1GYFW7N‘,’LB1GYFW7P‘,’LB1GYFW7Q‘,’LB1GYFW7R‘,’LB1GYFW7T‘,’LB1GYFW7V‘,’LB1GYFW7W‘,’LB1GYFW7X‘,’LB1JF5GJ6′,’LB1JF5GJ7′,’LB1JF5GJ8′,’LB1JF5GJ9′,’LB1JF5GJA‘,’LB1JF5GJB‘,’LB1JF5GJC‘,’LB1JF5GJD‘,’LB1JF5GJE‘,’LB1JFAR3Q‘,’LB1MBTX4N‘,’LB1MBTX4P‘,’LB1MBTX4Q‘,’LB1MBTX4R‘,’LB1MBTX4T‘,’LB1MBTX4V‘,’LB1MBTX4W‘,’LB1MBTX4X‘,’LB1MC048V‘,’LB1MC048W‘)

    Big Äppel
    update caches set PlacedBy = ‚GCRheinMain‘, OwnerName = ‚GCRheinMain‘, OwnerId = 7764646 where code in
    (‚LB1AQB8E4′,’LB1AQB8E5′,’LB1AQB8E6′,’LB1AQB8E7′,’LB1AQB8E8′,’LB1AQGFHT‘,’LB1AQGFHV‘,’LB1AQGFHW‘,’LB1AQGFHX‘,’LB1AQGFHY‘)

    Geoxantike
    update caches set PlacedBy = ‚CacherTeamGeldern‘, OwnerName = ‚CacherTeamGeldern‘, OwnerId = 6843309 where code in
    (‚LB1NX3GTH‘,’LB1NX3GTJ‘,’LB1NX3GTK‘,’LB1NX3GTM‘,’LB1NX8QYW‘,’LB1NX8QYX‘,’LB1NX8QYY‘,’LB1NX8QYZ‘,’LB1NX8QZ0′,’LB1NX8QZ1′,’LB1QKVABJ‘,’LB1QKVABK‘,’LB1QKVABM‘,’LB1QKVABN‘,’LB1QKVABP‘,’LB1QKVABQ‘,’LB1QKVABR‘,’LB1QKVABT‘,’LB1QKVABV‘,’LB1QKVABW‘,’LB1TGTG1Q‘,’LB1TGTG1R‘,’LB1TGTG1T‘,’LB1TGTG1V‘,’LB1TGTG1W‘,’LB1TGTG1X‘,’LB1TGTG1Y‘,’LB1TGTG1Z‘,’LB1TGTG20′,’LB1TH1GVC‘)

    Jeweils den ganzen SQL Befehl reinkopieren, nix markieren und F9 drücken, damit wirklich ALLES ausgeführt wird.

    Prüfen kann man das Ergebnis dann hiermit:

    select * from caches where code like ‚lb%‘

    Wenn man das ganze mal verstanden hat, geht der rest ziemlich einfach. Mit den Aufgeführten Makros:
    http://gsak.net/board/index.php?showtopic=10074&st=0&#entry65322
    http://gsak.net/board/index.php?showtopic=6527&st=0&#entry213272

    erledigt man nun den Rest.

    Bei Fragen dazu könnt ihr mich gerne über die geocaching Seite anschreiben. 🙂

    Viele Grüße und Danke für den Ansatz!
    vipwarrior

Schreibe einen Kommentar