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

Wegpunktdatei -> Caches runterladen ohne PQ

N.N.

Geocacher
Salü,

ich würde gern folgendes automatisieren:

Ich habe diverse GPX-Dateien, in denen Waypoints (POIs) abgelegt sind. Von jedem einzelnen dieser Wegpunkte aus möchte ich die Caches im Umkreis von X Kilometern runterladen und in einer DB speichern.

Also quasi theoretisch ein Aufruf von https://www.geocaching.com/seek/nea...at=XXX&origin_long=YYY&dist=10&submit3=Search - jeweils pro WP - und natürlich statt XXX und YYY die jeweiligen WP-Koordinaten eingesetzt und Speicherung dann in einer DB.

Gibt's sowas (schon) als Makro?
Wenn nein, hat mir vielleicht zufällig jemand einen Codeschnipsel, den ich dann anpassen könnte? Bin grundsätzlich programmiertechnisch nicht ganz unbedarft, habe mich allerdings mit der Makroprogrammierung im GSAK noch nicht befasst.

Danke schonmal vorab!
 

8812

Geoguru
Um was für Wegpnkte (Gipfel, Hütten, andere Unterkünfte, etc.) handelt es sich denn? Und wie weit liegen die in der Regel auseinander?
Gehe ich recht in der Annahme, daß die Distanz 10 km betragen soll?
Ich hätte ein in den letzten zwei Tagen hierfür erstelltes Makro zur Hand. ;)

Voraussetzung:
1. Du lädst alle Wegpunkte in eine leere DB.
2. Du erstellt im Load-Dialog eine gesicherte Einstellung mit abgeschalteter Summary (sehr wichtig) und benennst sie "Add only - No Summary".
Beispiel:
cee7b7a4a8bbe087f1e61995fdaabc98.png


Das Makro erstellt für jeden Wegpunkt einen temporären Centerpoint, lädt dann die Caches runter und macht in User2 den Eintrag: "Download OK". Geht dann zum nächsten WP und so weiter ...

Hans
 
OP
N.N.

N.N.

Geocacher
Ah, das hört sich sehr gut an! So habe ich mir das vorgestellt.
Bei den Input-GPX-Dateien handelt es sich um Gipfel, Kletterfelsen etc. - Abstand unterschiedlich, zwischen wenigne hundert Metern und mehreren Kilometern. Sollte aber letztendlich kein Problem sein.

Preisfrage nun: Woher krieg ich das tolle Makro?
 

8812

Geoguru
Der Download mit 10 km-Umkreis um Wegpunkte, die nur wenige hundert Meter auseinanderliegen scheint mir ziemlich sinnfrei. Außerdem verbraucht man damit ziemlich schnell sein Api-Limit. Aber letztendlich ist ja jeder für sich selbst verantwortlich. ;)

Hans

NB: Das Makro gibt es nicht mehr. Ich habe es gerade durch dämliches Pasten und sichern zerschrotet. :zensur: Sorry.
 

8812

Geoguru
:roll: Fehlalarm.

Code:
#*************************************************
# MacVersion = 0.6
# MacDescription = Circle Load from every Waypoint
# MacAuthor = HHL
# MacFileName = GetCachesWpCenter.gsk
# MacUrl =
#*************************************************
  MACROFLAG type=clear range=all

  Goto Position=Top
  While not($_Eol)

  Mfilter Where=User2='' and not(Created = Date("now","localtime") )  

  IF $_FilterCount = 0
  Cancel
  ENDIF 
  Center

#  Pause Msg=" Cache/Waypoint: $d_name $_NewLine Now do something useful with "GcGetCaches"."

  $Lat = SysInfo("gsakini;LastCenter;Lat")
  $Lon = SysInfo("gsakini;LastCenter;Lon")
  $c="$Lat,$Lon"

  $GetCaches = $GcGeocaches
  $GetCaches = Replace("~~CENTER~~",$c,$GetCaches)

  MACROSET Dialog=GcGeocaches VarName=$GetCaches
  GCGETCACHES Settings=<macro>

  $d_user2="Download OK"

  Goto Position=Next

  EndWhile

<data> VarName=$GcGeocaches
[GcGeocaches]
cbxDifMax.Text=5.0
cbxDifMin.Text=1.0
cbxLoadSettings.Text=Add only - No Summary
cbxTerMax.Text=5.0
cbxTerMin.Text=1.0
chkArchived.Checked=True
chkFoundByMe.Checked=True
chkLarge.Checked=True
chkMicro.Checked=True
chkNotChosen.Checked=True
chkOther.Checked=True
chkPremium.Checked=True
chkRegular.Checked=True
chkSmall.Checked=True
chkVirtual.Checked=True
edtHiddenBy.Text=
edtLogsPerCache.Text=10
edtMax.Text=5000
edtNotFoundBy.Text=
rbtFull.Checked=True
rbtLite.Checked=False
cbxref.Text=~~CENTER~~
edtDistance.Text=10
d1.Checked=True
d2.Checked=False
edtNotHiddenBy.Text=
edtbbBottom.Text=
rbtRectangle.Checked=False
rbtCircle.Checked=True
edtbbtop.Text=
edtFavmin.Text=0
edtFavMax.Text=99999
rbtCode.Checked=False
edtCodes.Text=
cbxPublishDate.Text=Not applicable
edtDuringDays.Text=
NotCacheTypes=~
edtPublishFrom=1899-12-30
edtPublishTo=1899-12-30
<enddata>
 

8812

Geoguru
Ich persönlich würde ein Makro verwenden, welches um die Wegpunkte eine Bounding-Box erzeugt (so ein Makro gibt es - zu finden im GSAK Makro-Index) und dann die zwei relevanten Werte für einen Rectangle-Download per Api verwenden. Das hängt natürlich von der regionalen Häufung deiner Wegpunkte ab, welcher Methode man den Vorzug geben möchte.

Hans
 
OP
N.N.

N.N.

Geocacher
Viiieeelen Dank! :gott2:
Muss ich gleich mal ausprobieren...

Das mit dem 10km-Radius war mal nur so der erste Gedanke - ich muss mir das Ergebnis in der Praxis (= Anzahl ÜBerschneidungen = mehrfach runtergeladene Caches) mal anschauen und dann ggf. das Makro entsprechend anpassen.
 
OP
N.N.

N.N.

Geocacher
Funktioniert irgendwie nicht. Jetzt hab ich meine Waypoints in der Datenbank stehen, User-Flags werden gesetzt und dann tut sich nix mehr.
 

8812

Geoguru
Mit "irgendwie" kann ich leider nichts anfangen, Sorry.
Ich habe es eben mit einer Test-Db laufen lassen: funtioniert.
Hast Du eine frische, leere Db angelegt? User2 muß leer sein.

Hans
 
OP
N.N.

N.N.

Geocacher
8812 schrieb:
Mit "irgendwie" kann ich leider nichts anfangen, Sorry.
Ich habe es eben mit einer Test-Db laufen lassen: funtioniert.
Hast Du eine frische, leere Db angelegt? User2 muß leer sein.

Also, das mit dem "User2" half mir schonmal weiter. Lustigerweise war das Feld bei allen WP leer, nur die Spalte war in der Ansicht nicht eingeblendet. Nachdem ich das behoben hatte, lief das Makro - aber kein zweites Mal.
Offensichtlich liegt's an meiner GSAK-Installation, wo's hakt.
Ich bleib aber mal dran...
 

8812

Geoguru
chalkviech schrieb:
8812 schrieb:
[...] Nachdem ich das behoben hatte, lief das Makro - aber kein zweites Mal.
Offensichtlich liegt's an meiner GSAK-Installation, wo's hakt.
Ich bleib aber mal dran...
Das ist Absicht. Dieser Filter:
Code:
Mfilter Where=User2='' and not(Created = Date("now","localtime") )
sorgt dafür, daß Caches, um die herum soeben neue Caches gesaugt wurden, nicht noch einmal verwendet werden. (Machte ja auch keine Sinn)
Es ist allerdings nach wie vor Unsinn, um Wegpunkte, die nur wenige hundert Meter auseinander liegen, einen 10 km-Download zu tätigen.

Hans
 
Oben