Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Das Programm GSAK

Das Schweizer Taschenmesser für Cachebeschreibungen.

Moderator: Schnueffler

Vater und Sohn
Geomaster
Beiträge: 836
Registriert: Do 17. Jun 2004, 08:38
Kontaktdaten:

Beitrag von Vater und Sohn » Di 17. Jan 2006, 15:43

HHL hat geschrieben:
blondie hat geschrieben:und wo bekomme ich das macro her?
das ist alles im installpaket mit drin.

happy downloading.
und wenn nicht...dann hier: http://gsak.net/Macros.php

oder hier:

Code: Alles auswählen

# -------------------------------------------------------------------------
# Version 1.1 - January 2006
# -------------------------------------------------------------------------
# History of changes:
# 1.1: added choice of waypoint identification
# 1.0: initial release
# -------------------------------------------------------------------------

debug status="off"
vsub  status="on"

# determine path of export file and make sure that folder exists

$outPath = $_Install + "\exports"
$BatFile = $_Install + "\babel.bat"
If .not. FolderExists($outPath)
 $result = PutFile($BatFile, "MD " + quote($outPath))
 FileOpen File="$BatFile" Wait=yes
EndIf

$outFile = "$outPath\gsak.kml"

# regexp used to determine valid characters in cacheName
# if you choose to have the cache name cleaned by GSAK, only those valid characters will remain
#  \w   any alphanumeric character, including _
#  \s   any space
#  \x21-\x25, \x27-\x2E any character between chr(33) and chr(46) (numbers, round brackets, calculation symbols (except / ),...)
#      \x26 is excluded from the valid characters, it's the & symbol
#  \xBA-\xFF  any character between chr(186) and chr(255) (accented and special chars)

$validchars = "[°€{}\w\s\x21-\x25\x27-\x2E\xBA-\xFF]*"

# sort db on cache type (in order to create a folder per cache type)

sort by="cachetype"
goto position=top

# ask how to output the cache names
choose msg="Choose waypoint identification" opt1="GCxxxx" opt2="Waypoint Name" opt3="Smart Name"
$id = "$result"

# write head of output file

$res = PutFile($outFile,$header)
$previousCacheType = "-"

$totalRecordCount   = $_Count
$currentRecordCount = 1

while .not. $_EOL

 $msg = "Processing record $currentRecordCount of $totalRecordCount..."
 ShowStatus msg="$msg"
 $currentRecordCount = $currentRecordCount + 1
 
 # determine cache type and prepare folder name and icon number
 $icon = 8
 $currectCacheType = "Other"

 if $d_CacheType = "B"
   $icon = 5
   $currectCacheType = "Letterbox"
 endif

 if $d_CacheType = "C"
   $icon = 13
   $currectCacheType = "Cache In Trash Out"
 endif

 if $d_CacheType = "E"
   $icon = 6
   $currectCacheType = "Event"
 endif

 if $d_CacheType = "G"
   $icon = 8
   $currectCacheType = "Benchmark"
 endif

 if $d_CacheType = "L"
   $icon = 4
   $currectCacheType = "Locationless"
 endif

 if $d_CacheType = "M"
   $icon = 3
   $currectCacheType = "Multi"
 endif

 if $d_CacheType = "O"
   $icon = 8
   $currectCacheType = "Other"
 endif

 if $d_CacheType = "R"
   $icon = 8
   $currectCacheType = "Earth"
 endif

 if $d_CacheType = "T"
   $icon = 2
   $currectCacheType = "Traditional"
 endif

 if $d_CacheType = "U"
   $icon = 8
   $currectCacheType = "Unknown"
 endif

 if $d_CacheType = "V"
   $icon = 4
   $currectCacheType = "Virtual"
 endif

 if $d_CacheType = "W"
   $icon = 11
   $currectCacheType = "Webcam"
 endif

 # is this the first cache of a new type (traditional, multi,...)
 if $previousCacheType <> $currectCacheType
   # close previous folder (unless this is the first folder in the output file)
   if $previousCacheType <> "-"
     $res = AppendFile($outFile,$endOfFolder)
   endif
   # create the new folder
   $Folder = replace("[FOLDER]",$currectCacheType,"<Folder><name>[FOLDER]</name>",true)
   $res = AppendFile($outFile,$Folder)
 endif

 $previousCacheType = $currectCacheType 

 $body = $bodyTemplate

 $ident = $d_Code
 if $id = "2"
   $ident =$d_Name
 endif
 if $id = "3"
   $ident =$d_SmartName
 endif

 #clean up the cache identification by removing invalid characters 
 
 $count = RegExCount($validChars, $ident)
 $cleaned = ""
 $x = 1
 while $x <= $count
   $good = RegExData($validChars,$ident,$x)
   $cleaned = $cleaned + $good
   $x = $x + 1
 endwhile
 $ident = $cleaned

 $body = replace("[IDENT]",$ident,$body,true)
 $body = replace("[ICON]","$icon",$body,true)
 $cacheName = $d_Name
 $placedBy  = $d_PlacedBy
 $diff      = $d_Difficulty
 $terrain   = $d_Terrain
 
 #clean up the cache name by removing invalid characters 
 
 $count = RegExCount($validChars, $cacheName)
 $cleaned = ""
 $x = 1
 while $x <= $count
   $good = RegExData($validChars,$cacheName,$x)
   $cleaned = $cleaned + $good
   $x = $x + 1
 endwhile
 $cacheName = $cleaned
 
 #clean the name of the owner by removing invalid characters 
 
 $count = RegExCount($validChars, $placedBy)
 $cleaned = ""
 $x = 1
 while $x <= $count
   $good = RegExData($validChars,$placedBy,$x)
   $cleaned = $cleaned + $good
   $x = $x + 1
 endwhile
 $placedBy = $cleaned
 
 $body = replace("[DESCRIPTION]", "$cacheName", $body,true)
 $body = replace("[TYPE]", "$currectCacheType", $body,true)
 $body = replace("[PLACEDBY]", "$placedBy", $body,true)
 $body = replace("[DIFF]", "$diff", $body,true)
 $body = replace("[TERRAIN]", "$terrain",$body,true)
 
 $y = $d_Latitude
 $body = replace("[LAT]","$y",$body,true)
 $y = $d_Longitude
 $body = replace("[LON]","$y",$body,true)

 $res = AppendFile($outFile,$body)
 goto position="next"

endwhile

ShowStatus msg="Finished processing $totalRecordCount records."

# write the tail of the file
$res = AppendFile($outFile,$footer)

sort by="description"
goto position="top"

$msg = $outFile + $launchGoogle
input msg="$msg" default="Y"
if upper($result) = "Y"
openfile file=$outFile
endif

#-----------------------------------------------------------------------

<data> varname=$header
<?xml version="1.0" encoding="ISO-8859-1"?>
<kml creator="GSAK Google Earth Creator" xmlns="http://earth.google.com/kml/2.0">
<Folder>
<name>GSAK</name>
<visibility>1</visibility>
<enddata>

<data> varname=$footer
</Folder>
</Folder>
</kml>
<enddata>

<data> varname=$bodyTemplate
<Placemark>
<name>[IDENT]</name>
<styleUrl>defaultStyle</styleUrl>
<Style><IconStyle><Icon><href>http://www.geocaching.com/images/kml/[ICON].png</href></Icon></IconStyle></Style>
<description><![CDATA[<a href='http://www.geocaching.com/seek/cache_details.aspx?wp=[GCCODE]'>[DESCRIPTION]</a>, [TYPE] ([DIFF]/[TERRAIN]) by [PLACEDBY]]]></description>
<Point><coordinates>[LON], [LAT]</coordinates></Point>
</Placemark>
<enddata>

<data> varname=$endOfFolder
</Folder>
<enddata>

<data> varname=$launchGoogle

has been created.

Do you want to launch Google Earth and open your file?

Please enter: (Y)es or (N)o
<enddata>



Werbung:
Benutzeravatar
radioscout
Geoking
Beiträge: 23524
Registriert: Mo 1. Mär 2004, 00:05
Wohnort: Aachen

Beitrag von radioscout » Mi 18. Jan 2006, 02:09

blondie hat geschrieben:Eben! Und das bin ich noch nicht.
Hätte ja sein können, wußte ich natürlich nicht.
Bild
Wir hätten nie uns getraut doofe Dosen anzumelden schon aus Respekt vor diesem geheimnisvollen Spiel (Dosenfischer, Die goldenen Jahre)

Benutzeravatar
Muelaka
Geocacher
Beiträge: 25
Registriert: Do 29. Dez 2005, 22:11

Beitrag von Muelaka » Mi 18. Jan 2006, 13:25

@Vater und Sohn
Ein großes Danke. Diese Variante kannte ich noch nicht.

Vater und Sohn
Geomaster
Beiträge: 836
Registriert: Do 17. Jun 2004, 08:38
Kontaktdaten:

Beitrag von Vater und Sohn » Mi 18. Jan 2006, 14:23

Muelaka hat geschrieben:@Vater und Sohn
Ein großes Danke. Diese Variante kannte ich noch nicht.
Immer wieder gern :)

Jurgen & co
Geomaster
Beiträge: 613
Registriert: Fr 26. Aug 2005, 00:16
Wohnort: 26131 Oldenburg

Beitrag von Jurgen & co » Mi 18. Jan 2006, 17:44

Was ist der name von diese macro?

Dragon-Cacher
Geomaster
Beiträge: 352
Registriert: Di 7. Jun 2005, 14:11
Wohnort: Essen, NRW
Kontaktdaten:

Beitrag von Dragon-Cacher » Mi 18. Jan 2006, 18:33

Hi Jürgen,
Jurgen & co hat geschrieben:Was ist der name von diese macro?
offensichtlich ist heute ne neue Version rausgekommen.
Sie trägt den Namen "GoogleEarth-v1.5.zip", ganz unten.

Die "alte" Version nannte sich nur "ge.txt" und bei der klappte es bei mir nicht in GoogleEarth den Cache durch anklicken aufzurufen. Als Parameter in der URL wurden keine WayPointNamen übergeben, mal schauen ob das mit der jetzigen Version behoben wurde...

Viele Grüße
Mathias :wink:
Team Dragon-Cacher

Bild Bild

Vater und Sohn
Geomaster
Beiträge: 836
Registriert: Do 17. Jun 2004, 08:38
Kontaktdaten:

Beitrag von Vater und Sohn » Mi 18. Jan 2006, 22:14

Dragon-Cacher hat geschrieben:Die "alte" Version nannte sich nur "ge.txt" und bei der klappte es bei mir nicht in GoogleEarth den Cache durch anklicken aufzurufen. Als Parameter in der URL wurden keine WayPointNamen übergeben, mal schauen ob das mit der jetzigen Version behoben wurde...
Es geht - sehr gut sogar :D
Zuletzt geändert von Vater und Sohn am Mi 18. Jan 2006, 23:15, insgesamt 1-mal geändert.

Benutzeravatar
Black-Jack-Team
Geomaster
Beiträge: 983
Registriert: Do 6. Mai 2004, 00:02

Beitrag von Black-Jack-Team » Mi 18. Jan 2006, 23:03

Das neue Makro ge.txt aus Version 1.5 muss normalerweise für deutsche Verhältnisse editiert werden:
Die Zeile

Code: Alles auswählen

$iconPath = "C:/Program Files/Google/Google Earth/res/geocaching.png"
muss editiert werden in (bei mir):

Code: Alles auswählen

$iconPath = "C:/Programme/Google/Google Earth/res/geocaching.png"
Also aus "Program Files" "Programme" machen.
Übrigens: Ich geh' jetzt cachen ... :)
Tut ihr es auch, oder wollt ihr nur darüber reden? :D
Bild

Antworten