#------------------------------------------------------------------------------------ # # GSAK2PDAexporter # # Version: V1.01 # Autor: crazi4 # Datum: 15.3.07 # # v1.00 Original # V1.01 Löschen der alten target_*.asc und *.tk Files eingebaut # MFiler setzt vor dem Export automatisch den Filter auf die User Flag = True # V1.02 Zeigt eine Fehlermeldung wenn keine User Flag gesetzt sind und bricht ab. # # Das Ziel war für Geocaching Touren eine automatisierte Verbindung zwischen GSAK # und dem PDA Programmen GLOPUS und GPXSonar zu erstellen. # # So habe ich diese Export Routine für den Datenexport aus GSAK nach Glopus POI- # und Track Files erstellt und mit einen GPX Export für GPXSonar ergänzt. # # Folgende Files werden durch den GSAK2PDAexporter aus allen angezeigten Records erstellt: # - ASCII File - Files pro Cache Type # - ASCII Track - Files pro Cache mit Childs Name = $d_SmartName # - GPX File - Mit den im GSAK definierten Export Settings "Target" # # nach eine run des GSAK2PDAexporter kann es in den beiden Zielfolder so aussehen: # ...\asc\GC10B1X-RundUmDe.tk # ...\asc\GCT3H8-Holzbrc4.tk # ...\asc\GCXXJD-JuPiter.tk # ...\asc\GCYRCJ-AmatisGe.tk # ...\asc\GCZ5RH-Amatis34.tk # ...\asc\Target_Multi.asc # ...\asc\Target_Mystery.asc # ...\asc\Target_Traditional.asc # ...\gpx\target.gpx # # Jetzt muss nur noch für jeden Cache Type eine entsprechendes BMP ins gleiche Verzeichnes # gestellt werden und man sieht auf der Map in GLOPUS sofort was man vor sich hat. # Zum Beispiel so: # Target_Other.bmp # Target_Webcam.bmp # Target_Letterbox_Hybrid.bmp # Target_cito.bmp # Target_Virtual.bmp # Target_Mystery.bmp # Target_Event.bmp # Target_Multi.bmp # Target_Locationless.bmp # Target_Event_Cache.bmp # Target_Earth.bmp # Target_Traditional.bmp # Target_Virtual_Cache.bmp # Target_Letterbox.bmp # Target_Found.bmp # Target_Earthcache.bmp # Target_Webcam_Cache.bmp # # Glopus Track Files: # Für alle Caches für welche Childs existieren werden einzelne Dateien mit dem # Namen aus den Variablen $d_cParent und $d_SmartName erstellt. Diese können später # beim Suchen eines Caches als Track im Glopus gelanden werden. # # Glopus POI Dateien: # Für jeden Cache Type wir eine eigene Datei erstellt. Die Namen werden aus # "Traget_" + Cache Type ($Ctype) erstellt. Werden diese auf dem PDA ins POI Verzeichnis von # Glopus kopiert, können diese pro Type einzeln angewählt werden. # Damit man später bei geocaching sehen kann, wird bei allen die Childs habe ein TK an # den Anzeigenamen gehängt ($d_code + " TK"). # # GPXSonar: # Im GSAK habe ich die EXport Settings entsprechend eingestellt und diese dann mit dem # Namen "Target" gespeichert. Der EXPORT ruft diese Settings auf und erstellt eine GPX # Datei mit dem Namen "Target.gpx" # # #------------------------------------------------------------------------------------ #Traget Folder setzen #Set $Folder = "S:\private\Diverses\Geocaching\93 test\asc" #Set $FolderGPX = "S:\private\Diverses\Geocaching\93 test\gpx" Set $Folder = "S:\Private\Diverses\Geocaching\01 asc files for PDA" Set $FolderGPX = "S:\Private\Diverses\Geocaching\02 GPX files for PDA" $Type1 = "TUVEWBLMCGOR" # cache types in full $TypeFull = "Traditional~Mystery~Virtual~Event~WebCam~Letterbox~Locationless~Multi~CITO~Benchmark~Other~Earth" # Weil AppendFile() an bestehenden Files anhängt, müssen diese zuerst gelöscht werden. Nur # so kann verhindert werden, dass bei mehrmaligem aufrufen mehrfache einträge entstehen. # Alle alten POI Files mit dem Filenamen Target_*.asc löschen $EraseFiles = $folder + "\Target_*.asc" If FileExists($EraseFiles) FileErase File=$EraseFiles EndIf $EraseFiles = $folder + "\All-found-Chaches.asc" If FileExists($EraseFiles) FileErase File=$EraseFiles EndIf $EraseFiles = $folder + "\*.tk" If FileExists($EraseFiles) FileErase File=$EraseFiles EndIf # set a filter on all caches with user flag set MFILTER Expression=$d_UserFlag = .true. # Abbrechen wenn keine Records mir User Flag markiert sind If .not. $d_UserFlag Cancel msg="Keine User Flag gesetzt!" EndIf $ThisRecord = 0 Goto Position=Top While .not. $_eol $ThisRecord = $ThisRecord + 1 $message = "Now processing: " + "$ThisRecord" + " of " + "$_Count" ShowStatus msg="$message" #Cache Type ermitteln und Variable cType entsprechend setzen $Ctype = "Unknown" $index = at($d_CacheType,$type1) If $index > 0 $Ctype = Extract($TypeFull,"~",$index) EndIf # den cache mit einem TK (für Track) markieren, damit man auf dem Display sieht, # dass es ein Track File dazu gibt. if TotChild("parent") > 0 $out = $d_longitude + ", " + $d_latitude + "," + quote($d_name + " " + $d_code + " TK") + $_NewLine else $out = $d_longitude + ", " + $d_latitude + "," + quote($d_name + " " + $d_code) + $_NewLine EndIf If $d_Found $FileName = "\All-found-Chaches" else $FileName = "\Target_" + $Ctype EndIf $FileName = "\" + $FileName + ".asc" $error = AppendFile($Folder + $FileName, $out) ############## Child Export - Start ##################### if TotChild("parent") > 0 table active=waypoints scope=parent $c_FileName = "\" + $d_cParent + "-" + $d_SmartName + ".tk" $EraseFiles = $Folder + $c_FileName If FileExists($EraseFiles) FileErase File=$EraseFiles EndIf $i = 0 while not($_eol) $c_out = $d_cLat + ", " + $d_cLon + ", " + quote( str($i, 2, 0) + ", " + $d_cName + " (" + $d_cType + ")") +$_NewLine $error = AppendFile($Folder + $c_FileName, $c_out) $i = $i + 1 Goto Position=Next EndWhile Table active=caches EndIf ############## Child Export - End ##################### Goto Position=Next EndWhile Goto Position=Top ############## GPX Export - Start ##################### #Alle Records als gpx exportieren (Achtung MFilter ist aktiv) set $Filename = $FolderGPX + "\target.gpx" EXPORT Type=GPX Settings="Target" File=$Filename ############## GPX Export - End ##################### # clear a filter on the database CANCELFILTER