• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Hilfe beim ersten GSAK Macro

lostraider

Geocacher
Evtl. kann mir jemand helfen

Ich möchte ein Macro bauen, welches nacheinander folgendes macht:
1. über die GC API die neuen PQ´s (Download Pocket Queries) herunterladen und in eine bestimmte DB importieren (My all)
2. eine bestimmte PQ (die gefundenen Caches, also die "My finds") aus dem Filesystem in diese DB importieren
3. über diese komplette DB einen Refresh (refresh cacha data) laufen lassen (mittels der GC API)
4. Export aller Caches aus dieser DB mittels GarminExport.gsk auf das Garmin GPS (Dateiname = dbname.gpx, also "my all.gpx")
5. Export aller Caches aus einer anderen DB (z.B. My temp) mittels GarminExport.gsk auf das Garmin GPS (Dateiname = dbname.gpx, also "my temp.gpx")

Ich habe bisher noch kein Macro geschrieben, evtl. hat ja jemand so etwas ähnliches schon mal gemacht ?

Gruss
Lostraider
 

wmann

Geocacher
Also die My Finds PQ gibt es aktuell nicht über die API ansonsten sollte der Rest möglich sein. Ob es für das Garmin Export Macro Parameter gibt damit es automatisch läuft Weiss ich nicht.

Was hast du denn schon bisher geschrieben und wo gibt's Probleme ?

Gruß
wmann
 

Eastpak1984

Geoguru
Wie er schreibt soll es sein erstes Makro werden - unter diesen Voraussetzen dürfte es (gefühlt) sehr, sehr schwer werden - aber nicht unmöglich.

Ich persönlich würde dazu raten, erstmal ganz langsam anzufangen.
 

GeoSilverio

Geowizard
Wobei das "Refresh cache data..." ja im Prinzip genau das gleiche macht, wie die Funktion "Get geocaches...", nur eben für die ausgewählten caches (oder eben alle Caches der DB).
Wenn also die Caches in der Datenbank nicht von verschiedenen Standorten sind, könnte man den Import über PQ einfach weg lassen und die caches gleich über die API holen mit "Get geochaches..."

Vorteil der PQ wäre wiederum, dass in den GPX-Dateien dein Log zu einem gefundenen Cache immer mit geliefert wird und die Caches auch schon gleich den Found-Status haben, falls eben schon gefunden. Das würde wiederum die MyFinds-PQ einsparen. Die Caches die man über die API abruft haben zwar den Found-Status falls gefunden, das eigene Log kommt aber nur mit, falls es zufällig in der Menge der letzten X Logs ist, die man dort eben abruft.

Ich würde es, falls das Gebiet eben von einem Mittelpunkt aus im Umkreis von X km erfasst werden soll so machen, dass ich einfach regelmäßig mit "Get geocaches..." in GSAK suche und dann noch ab und zu die MyFinds-PQ importiere, wenn überhaupt...

Nachteil der Datensammelei ist, dass die Endgeräte, als das Garmin ja schnell an die Grenzen kommt. Weniger wegen der Anzahl der Caches sondern weil man irgendwann zu jedem Cache 100 Logs drin hat. Da muss man dann ohnehin wieder reduzieren auf die neuesten X Logs und hat dann seinen eigenen Fund-Log ohnehin irgendwann nicht mehr drin.
 

Angrentil

Geomaster
@lostraider:

Gehe bei deiner Macroprogrammierung genauso vor, wie du es uns angegeben hast, also Schritt für Schritt. Versuche deinen Punkt 1 zu realisieren und teste ihn aus. Erst wenn das funktioniert, gehst du zu deinem nächsten Schritt über. Vergiss nicht vorher ein Backup zu machen, falls irgendwas nicht so funktioniert, wie du dir das vorstellst, kannst du dir dann deinen alten Stand schnell wieder herstellen. Hilfreich sind auch oft temporäre Datenbanken... also neue Datenbank erstellen (zb eine Kopie der alten) und damit rumspielen... dann kannst du sie auch einfach löschen, wenn da Murks rausgekommen ist.

Ansonsten kann ich dir noch empfehlen: guck dir kleine, schon geschriebene Macros an, um zu lernen, wie dieses aufgebaut sind (im GSAK Forum wirst du fündig)... bzw einfach mal in welche reingucken, die du schon nutzt. Dann nimm aber nicht FindStatGen oder so, das ist riesig, sondern öffne welche, die nur ganz wenig Funktionalität haben, um nicht gleich erschlagen zu werden.

Desweiteren: die Hilfe ist dein Freund, also neues Macro-Fenster öffnen und dann da auf Help drücken - es öffnet sich die Macro Hilfe, in der vieles ausführlich und oft mit Beispielen erklärt wird.


Joa und dann ran an den Speck. :)
Da du es ja selbst schreiben willst, werden wir dir jetzt sicher nicht fertigen Code servieren. :D Hier trifft ja auch der bekannte Spruch zu: learning by doing.

Aber um die Anfangsplanlosigkeit zu nehmen, geb ich dir mal einen kleinen Hint: ;)

Suche in der Hilfe nach: GcGetPQ und schau dir an wie das aufgebaut ist.
Versuche damit deine PQs herunterzuladen.
Wenn du das hast, kannst du an den Schritt gehen die gezielt in neue DB einzuladen.

Meld dich wenn es Probleme gibt und poste dann einfach deinen Code und deine Fragen. Viel Erfolg! :up:
 
OP
L

lostraider

Geocacher
Prima, danke für eure vielen Hinweise

Ich habe mir die Macro Beschreibungen angesehen...ist schon relativ viel möglich. Ist auch sehr praktisch, da man die Macros mit den bereits existierenden GSAK Settings, Filtern etc. kombinieren kann.

Einen Teil meiner gewünschten Punkte: Laden der PQ vom Filesystem, Laden der PQ mittels der API, Refresh der DB mittels der API habe ich gerade gebaut.

Was mir jetzt noch fehlt ist das automatisierte Downloaden der myfounds.gpx von gc.com. Hatte früher pqdl, aber das hat irgendwann nicht mehr funktioniert.

Richtig schwierig wird es dann wohl beim Aufrufen von "fremden Macros" z.B. GCVoteGrabber.gsk oder das GarminExport.gsk, diese kann ich zwar starten aber wahrscheinlich kann ich dort keine Variablen / Settings mitgeben. Oder was sagt ihr dazu ?
 

Angrentil

Geomaster
Der Download der MyFinds wird leider im Moment nicht durch die API unterstützt... das musst du also nach wie vor Old School machen...

Ansonsten:
Den automatisierten Aufruf von Macros muss man individuell betrachten... für manche geht es, für manche nicht. Wenn du das realisieren möchtest, würde ich an deiner Stelle zu dem jeweiligen Support Thread gehen und da nachschauen, ob es schon realisiert wurde. Wenn nicht, kannst du da nachfragen, ob die Ersteller das Macro so für dich umschreiben, dass es geht. Ich habe einmal lignumaqua gebeten, das Elevation Macro zu automatisieren... zwei Tage später war die neue Version da, die das möglich gemacht hat. :^^:

Für GcVote zB geht es, da habe ich ein eigenes Macro, in dem steht:

Code:
#Grab Votes for filtered caches
$macro=$_AppData + "\Macros\GCVoteGrabber.gsk?grab"
macro file=$macro

Das könntest du 1:1 übernehmen. Ansonsten, guck in den Support Thread, da steht drin was noch unterstützt wird. ;)
 
OP
L

lostraider

Geocacher
@angrentil

Super, habs gerade probiert. Dein Macro funktioniert einwandfrei.

Im "GarminExport macro thread" im GSAK Forum habe ich mein Anliegen wg. der Parameterübergabe geposted. Mal sehen was da kommt...

Dann bleibt eigentlich nur noch die Sache mit der "MyFounds.gpx". Es gibt ein Programm , welche PQ´s automatisch downloaden kann (PQDL.exe, www.leoluk.de), diese funktioniert aber leider nicht mehr.
 

Angrentil

Geomaster
Das mit der MyFinds ist halt so 'ne Sache... da hängt Groundspeak einfach noch hinterher, da kann GSAK nicht viel machen.

Ich mache es so, dass ich die Datei manuell in einen bestimmten Ordner runterlade. Wenn die Datei dort einmal gespeichert ist, kann ich den Rest über ein Einlade-Macro weiterverarbeiten.

Code:
DATABASE Name="Default" Action=select

#Load MyFinds in Default database
LOAD Settings="Load MyFind" database="Default" ShowStats=No Notes=Prompt

In den Settings ist dann natürlich der gleiche Ordner gespeichert, wie der wo ich die MyFinds hinlade. Ebenfalls angehakt ist, dass die Datei nach dem Einladen gelöscht wird. Dadurch wird der Ordner immer wieder automatisch geleert.
 

ChiefController

Geocacher
lostraider schrieb:
Es gibt ein Programm , welche PQ´s automatisch downloaden kann (PQDL.exe, http://www.leoluk.de), diese funktioniert aber leider nicht mehr.

Wieso soll das nicht mehr funktionieren? Läuft doch noch einwandfrei. Man kann damit sogar den MyPQ-Download triggern.
 
Oben