Liebes Forum,
gibt es die Möglichkeit, bei dem neuen Garmin Etrex 10 die Base Karte zu tauschen ?
Sie ist ja nicht wirklich für etwas zu gebrauchen …
Und wenn ja, vielleicht ist es mit einer OSM Karte möglich
Danke für jeden Hinweis
LG
Peter
Willkommen im Forum!
Eher nicht:
Quelle: https://buy.garmin.com/shop/shop.do?pID=87768
Beim Etrex 20 und 30 kann man eigene Karten installieren.
Gruß,
Mondschein
Es ist halt nur ein aktualisiertes eTrex H ( https://buy.garmin.com/shop/shop.do?pID=8705 )
Edbert (EvanE)
mh, danke für die Infos. Ich habe allerdings irgendwo im Netz gelesen, das es da doch vielleicht einen Trick gibt.
Ich dachte eher an so etwas.
OSM in einem bestimmten Format downloaden .
Und dann sozusagen die Base Karte des etrex10 und die OSM Karte austauschen.
Danke und LG
Peter
man kann sehr gut Karten auf den Etrex 10 laden. Es gibt viele Anleitungen dazu im Netz und auf dem Gerät machen sich die Maps sehr gut! Besorge Dir erstmal von Geofabrik eine .osm Deutschlandkarte. Aus dieser kannst du dann mit einem Programm einen bestimmten Bereich herausschneiden. Etwa eine Stadt oder ähnliches. Du erhälst dann eine kleine stadt.osm. Diese kannst du dann mit mkgmap ins garmin-Format .img umwandeln. Dabei kannst du auch Pois, die du nicht benötigst einfach herausrechnen lassen. Das spart Speicherplatz. Das Programm josm kann Dir auch einen bestimmten Kartenausschnitt downloaden,das funktioniert sogar entlang eines Tracks.Planst du also eine lange Fahrradtour, kannst du entlang der Tour in einem definierten Radius die Karte herunterladen.
OSM-Karten auf dem eTrex 10 funktionieren. Auf meiner Website findest du dazu einige Anleitungen und Beispiele:
http://gps.maroufi.net/etrex10map.shtml
Gruß
unixasket
Wobei man auch dazu sagen muss, dass man nicht einfach eine normale OSM-Garminkarte nehmen sollte und davon nur eine Kachel oder so übertragen. Diese Karten sind von ihrer Darstellung und Datendichte nicht wirklich für das Etrex 10 geeignet.

Wobei man auch dazu sagen muss, dass man nicht einfach eine normale OSM-Garminkarte nehmen sollte und davon nur eine Kachel oder so übertragen. Diese Karten sind von ihrer Darstellung und Datendichte nicht wirklich für das Etrex 10 geeignet.
Richtig, deswegen biete ich auf meiner Website auch ein angepaßtes Style für das eTrex10 an. Genaugenommen sind es sogar 2 Styles: Eines für ein komplettes Wegenetz (ohne POIs und Flächen) und eines als Basiskarte für größere Gebiete mit nur den Städten und Dörfern. Ich hatte sogar mal noch einige Zwischenstadien erstellt, wie etwa Styles bei denen alles von highway=motorway bis highway=secondary dargestellt wurde, aber nichts kleineres mehr, etc. Man kann mit der darzustellenden Menge auf einem eTrex 10 rumspielen bis man das richtige für sich gefunden hat. Das größte Problem ist aus meiner Sicht aber nicht das S/W-Display des eTrex 10 sondern der geringe Speicherplatz.
Gruß
unixasket
Etrex 10 downloader
hier biete ich euch den Quellcode für Autoit für einen automatisierten Download an.
vorweg, vielen Dank an unixasket (und anderen) für die Anregung zu diesem Projekt.
Funktion:
nach Eingabe der begrenzenden Koordinaten, lädt es von einem overpass-Server die gewünschten Daten (Strassen, Wasserwege, Ortsnamen)
und erzeugt die gmapsupp.img innerhalb weniger Sekunden.
was ist neu?
ich habe keine einfache Möglichkeit im Netz gefunden, es gibt batch Dateien und Scripte, ich wollte aber ein Möglichkeit für Computerlaien haben.
auch habe ich bisher nur Anleitungen gefunden mittels ‘osmosis’ aus heruntergeladenen grossen Karten kleine auszuschneiden, dieses
Script verwendet die XAPI Overpass Schnittstelle um sich in Sekunden nur die benötigten Daten herunterzuladen.
was wird benötigt?
Autoit mit Scite Editor
osmconvert
mkgmap
wie erzeugt man eine lauffähige Version?
zunächst ein Verzeichnis anlegen in das man den Quelltext in ein Textfile ‘Etrex.au3’ speichert
ein Unterverzeichnis ‘tool’ anlegen und dorthin osmconvert verschieben und mkgmap entpacken.
(in ‘tool’ befinden sich jetzt osmconvert.exe und mkgmap.jar)
Die ‘Etrex.au3’ im Editor Scite öffnen.
F7 drücken, daraufhin wird eine Anwendung (exe) erstellt.
wie nutzt man es?
Die ‘Etrex.exe’ ausführen.
Der Button ‘OSM-Export’ öffnet die openstreetmap Seite.
den gewünschten Kartenbereich markieren
die vier Koordinaten in die 4 Felder eintragen
Button ‘Start!’ drücken
was fehlt noch?
die abschliessende Funktion, kopieren auf Etrex ist noch nicht drin,
das mach man noch per Hand.
Viel Spass beim ausprobieren, bei mir funktioniert es…
nogonogo
(da ich eine Anwendung erstellen wollte, die auch Anfänger nachvollziehen können, habe ich Autoit gewählt,
das gibt es leider nicht für Linux, Java beherrsche ich aber leider nicht, sorry!)
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Process.au3>
$Form1_1 = GUICreate("Form1", 615, 438, 349, 256)
$Input_Left = GUICtrlCreateInput("10.3429", 184, 128, 137, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input_Bottom = GUICtrlCreateInput("53.7966", 320, 152, 137, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input_Right = GUICtrlCreateInput("10.4103", 456, 128, 137, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input_Top = GUICtrlCreateInput("53.8204", 320, 104, 137, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Button_DL_OSM = GUICtrlCreateButton("Start!", 384, 304, 91, 41)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$CheckboxStrassen = GUICtrlCreateCheckbox("Strassen", 344, 200, 97, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetTip(-1, "sollen Strassen mit importiert werden?")
$CheckboxWasser = GUICtrlCreateCheckbox("Wasserstrassen", 344, 232, 121, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetTip(-1, "sollen Wasserwege mit importiert werden?")
$CheckboxOrte = GUICtrlCreateCheckbox("Ortsnamen", 344, 264, 110, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetTip(-1, "sollen die Ortsnamen mit importiert werden?")
$Label1 = GUICtrlCreateLabel("Etrex 10 downloader", 160, 16, 244, 33)
GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("1. die begrenzenden Koordinaten eingeben. z.B. durch OSM ermittelt:", 48, 64, 409, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Bt_open_OSM = GUICtrlCreateButton("OSM-Export", 496, 56, 75, 25)
$Label3 = GUICtrlCreateLabel("2. hier eintragen:", 48, 131, 101, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("3. welche Information soll die Karte enthalten", 48, 200, 264, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("4. download, Garminkonvert, kopieren auf etrex 10", 48, 312, 298, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Group1 = GUICtrlCreateGroup("", 8, 392, 601, 41)
$Label_Status = GUICtrlCreateLabel("Status", 15, 403, 594, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
Local $Left, $bottom, $right, $top, $BB
Local $success, $merge_files
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Bt_open_OSM
ShellExecute("http://www.openstreetmap.org/export")
Case $Button_DL_OSM
Download_OSM()
EndSwitch
WEnd
Func Download_OSM()
$Left = StringReplace(GUICtrlRead($Input_Left), ",", ".")
$bottom = StringReplace(GUICtrlRead($Input_Bottom), ",", ".")
$right = StringReplace(GUICtrlRead($Input_Right), ",", ".")
$top = StringReplace(GUICtrlRead($Input_Top), ",", ".")
$BB= $Left & "," & $bottom & "," & $right & "," & $top
$merge_files = ''
FileDelete("tools\raw_highway.osm")
FileDelete("tools\raw_waterway.osm")
FileDelete("tools\raw_place.osm")
;~ ;Abfrage welche Bestandteile in die map sollen
;~ ;erst die Wege
If GUICtrlRead($CheckboxStrassen)= $GUI_CHECKED Then
GUICtrlSetData($Label_Status, "Download Wege ")
$success= (InetGet("http://overpass.osm.rambler.ru/cgi/xapi_meta?way[highway=*][bbox="& $BB &"]", "tools\raw_highway.osm"))
If $success = 0 Then
GUICtrlSetData($Label_Status, "Download Wege gescheitert!")
Else
GUICtrlSetData($Label_Status, "Download Wege erfolgreich!")
EndIf
EndIf
;dann die Wasserstrassen
If GUICtrlRead($CheckboxWasser)= $GUI_CHECKED Then
GUICtrlSetData($Label_Status, "Download Flüsse ")
$success= (InetGet("http://overpass.osm.rambler.ru/cgi/xapi_meta?way[waterway=*][bbox="& $BB &"]", "tools\raw_waterway.osm"))
If $success = 0 Then
GUICtrlSetData($Label_Status, "Download Flüsse gescheitert!")
Else
GUICtrlSetData($Label_Status, "Download Flüsse erfolgreich!")
EndIf
EndIf
;dann die Ortsnamen
If GUICtrlRead($CheckboxOrte)= $GUI_CHECKED Then
GUICtrlSetData($Label_Status, "Download Ortsnamen ")
$success= (InetGet("http://overpass.osm.rambler.ru/cgi/xapi_meta?node[place=*][bbox="& $BB &"]", "tools\raw_place.osm"))
If $success = 0 Then
GUICtrlSetData($Label_Status, "Download Ortsnamen gescheitert!")
Else
GUICtrlSetData($Label_Status, "Download Ortsnamen erfolgreich!")
EndIf
EndIf
;die einzelnen OSM-Dateien verbinden
If GUICtrlRead($CheckboxStrassen) = $GUI_CHECKED Then
$merge_files = "tools\raw_highway.osm"
EndIf
If GUICtrlRead($CheckboxWasser) = $GUI_CHECKED Then
$merge_files = $merge_files & " tools\raw_waterway.osm"
EndIf
If GUICtrlRead($CheckboxOrte) = $GUI_CHECKED Then
$merge_files = $merge_files & " tools\raw_place.osm"
EndIf
GUICtrlSetData($Label_Status, "starte merge")
_RunDos('tools\osmconvert.exe ' & $merge_files & ' -o=tools\osm.osm')
GUICtrlSetData($Label_Status, "merge ende")
GUICtrlSetData($Label_Status, "erstelle gmapsupp.img")
_RunDos('java -jar tools\mkgmap.jar --latin1 --description="OSM Karte" --family-id=9999 --gmapsupp tools\osm.osm')
GUICtrlSetData($Label_Status, "Beendet!")
EndFunc
Ich habe den Etrex 10 Downloader angepasst:
Benötigt wird?
Autoit und den Autoit Editor (beides findet man direkt auf AutoitScript.com)
wie erzeugt man eine lauffähige Version?
zunächst ein Verzeichnis anlegen, in das man den Quelltext in ein Textfile ‘Etrex.au3’ speichert
Die ‘Etrex.au3’ im Editor Scite öffnen.
F7 drücken, daraufhin wird eine Anwendung (exe) erstellt.
Anwendung
Die Anwendung braucht nur die Eingabe des OSM- Rechtecks vom Nutzer. Wenn ein Garmin- device
am Rechner hängt, wird die Karte automatisch hinüberkopiert.
Das Skript läuft bei mir seit Jahren reibungslos, mit kleinen Anpassungen an veränderte Download- Adressen:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Process.au3>
#include <array.au3>
$Form1_1 = GUICreate("Form1", 615, 438, 349, 256)
$Input_Left = GUICtrlCreateInput("10.1907", 184, 128, 137, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input_Bottom = GUICtrlCreateInput("54.0733", 320, 152, 137, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input_Right = GUICtrlCreateInput("10.3064", 456, 128, 137, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input_Top = GUICtrlCreateInput("54.1356", 320, 104, 137, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Button_DL_OSM = GUICtrlCreateButton("Start!", 384, 356, 91, 41)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$CheckboxStrassen = GUICtrlCreateCheckbox("Strassen", 344, 200, 97, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetTip(-1, "sollen Strassen mit importiert werden?")
$CheckboxWasser = GUICtrlCreateCheckbox("Wasserstrassen", 344, 232, 121, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetTip(-1, "sollen Wasserwege mit importiert werden?")
$CheckboxGebaeude = GUICtrlCreateCheckbox("Gebäude", 344, 328, 121, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetTip(-1, "sollen Gebäude mit importiert werden?")
$CheckboxSeeUndMeer = GUICtrlCreateCheckbox("See und Meer", 344, 296, 121, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetTip(-1, "sollen Seen und Küsten mit importiert werden?")
$CheckboxOrte = GUICtrlCreateCheckbox("Ortsnamen", 344, 264, 110, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetTip(-1, "sollen die Ortsnamen mit importiert werden?")
$Label1 = GUICtrlCreateLabel("Etrex 10 downloader", 160, 16, 244, 33)
GUICtrlSetFont(-1, 18, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("1. die begrenzenden Koordinaten eingeben. z.B. durch OSM ermittelt:", 48, 64, 409, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Bt_open_OSM = GUICtrlCreateButton("OSM-Export", 496, 56, 75, 25)
$Label3 = GUICtrlCreateLabel("2. hier eintragen:", 48, 131, 101, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("3. welche Information soll die Karte enthalten", 48, 200, 264, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("4. download, Garminkonvert, kopieren auf etrex 10", 48, 368, 298, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Group1 = GUICtrlCreateGroup("", 8, 392, 601, 41)
$Label_Status = GUICtrlCreateLabel("", 15, 403, 594, 25)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
Local $Left, $bottom, $right, $top, $BB
Local $success, $merge_files
Local $download_tools = False
;zunächst klären, ob die tools alle an Bord sind
If (Not FileExists("tools\osmconvert.exe")) Or (Not FileExists("tools\mkgmap.jar")) or (Not FileExists("tools\wget.exe")) Then
If MsgBox(1, "Tools unvollständig", "Sollen die Tools mkgmap, wget und/oder osmconvert heruntergelanden werden?") = 1 Then
$download_tools = True
DirCreate("download") ;legt ein neues Verzeichnis an, wenn es noch nicht vorhanden ist
If Not FileExists("tools\mkgmap.jar") Then
InetGet("http://www.mkgmap.org.uk/snapshots/mkgmap-latest.zip", "download\mkgmap-latest.zip")
GUICtrlSetData($Label_Status, "Download mkgmap vollständig")
_ExtractZip(@ScriptDir & "\download\mkgmap-latest.zip", @ScriptDir)
GUICtrlSetData($Label_Status, "mkgmap entpackt")
DirMove(@ScriptDir & "\"& FileFindNextFile(FileFindFirstFile("mkgmap*")), @ScriptDir & "\tools", 1)
EndIf
If Not FileExists("tools\osmconvert.exe") Then
InetGet("https://eternallybored.org/misc/wget/current/wget.exe", "tools\wget.exe")
GUICtrlSetData($Label_Status, "Download wget vollständig")
EndIf
If Not FileExists("tools\osmconvert.exe") Then
InetGet("http://m.m.i24.cc/osmconvert.exe", "tools\osmconvert.exe")
GUICtrlSetData($Label_Status, "Download osmconvert vollständig, Es kann losgehen!")
EndIf
;DirRemove(@ScriptDir & "\download",1)
EndIf
EndIf
If FileExists("tools\osmconvert.exe") And FileExists("tools\mkgmap.jar") And FileExists("tools\wget.exe") Then
GUICtrlSetData($Label_Status, "Download Tools vollständig, Es kann losgehen!")
Else
MsgBox(0, "Fehler", "Tools nicht vollständig")
Exit
EndIf
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Bt_open_OSM
ShellExecute("http://www.openstreetmap.org/export")
Case $Button_DL_OSM
Download_OSM()
EndSwitch
WEnd
Func Download_OSM()
$Left = StringReplace(GUICtrlRead($Input_Left), ",", ".")
$bottom = StringReplace(GUICtrlRead($Input_Bottom), ",", ".")
$right = StringReplace(GUICtrlRead($Input_Right), ",", ".")
$top = StringReplace(GUICtrlRead($Input_Top), ",", ".")
$BB = $Left & "," & $bottom & "," & $right & "," & $top
$merge_files = ''
FileDelete("tools\raw_highway.osm")
FileDelete("tools\raw_waterway.osm")
FileDelete("tools\raw_place.osm")
;~ ;Abfrage welche Bestandteile in die map sollen
;~ ;erst die Wege
If GUICtrlRead($CheckboxStrassen) = $GUI_CHECKED Then
GUICtrlSetData($Label_Status, "Download Wege")
;leider ist autoit closed source, daher kann nicht nachvollzogen werden, warum downloads größerer Datenmengen mit 'InetGet' scheitern!
;auch ObjCreate("Adodb.Stream") funktioniert nur bei kleineren Ausschnitten
RunWait(@ComSpec & " /c " & 'tools\wget.exe http://overpass-api.de/api/xapi_meta?way[highway=*][bbox=' & $BB & '] -O tools\raw_highway.osm', "")
If FileExists("tools\raw_highway.osm") Then
GUICtrlSetData($Label_Status, "Download Wege erfolgreich!")
Else
MsgBox(0,"Fehler", "Download Wege gescheitert")
Exit
EndIf
EndIf
;dann die Wasserstrassen
If GUICtrlRead($CheckboxWasser) = $GUI_CHECKED Then
GUICtrlSetData($Label_Status, "Download Flüsse")
RunWait(@ComSpec & " /c " & 'tools\wget.exe http://overpass-api.de/api/xapi_meta?*[waterway=*][bbox=' & $BB & '] -O tools\raw_waterway.osm', "")
If FileExists("tools\raw_waterway.osm") Then
GUICtrlSetData($Label_Status, "Download Flüsse erfolgreich!")
Else
MsgBox(0,"Fehler", "Download Flüsse gescheitert")
Exit
EndIf
EndIf
;dann See und Meer
If GUICtrlRead($CheckboxSeeUndMeer) = $GUI_CHECKED Then
GUICtrlSetData($Label_Status, "Download See und Meer")
RunWait(@ComSpec & " /c " & 'tools\wget.exe http://overpass-api.de/api/xapi_meta?*[natural=water][bbox=' & $BB & '] -O tools\raw_seeundMeer.osm', "")
If FileExists("tools\raw_seeundMeer.osm") Then
GUICtrlSetData($Label_Status, "Download See und Meer erfolgreich!")
Else
MsgBox(0,"Fehler", "Download See und Meer gescheitert")
Exit
EndIf
EndIf
;dann Gebäude
If GUICtrlRead($CheckboxGebaeude) = $GUI_CHECKED Then
GUICtrlSetData($Label_Status, "Download See und Meer")
RunWait(@ComSpec & " /c " & 'tools\wget.exe http://overpass-api.de/api/xapi_meta?way[building=*][bbox=' & $BB & '] -O tools\raw_buildings.osm', "")
If FileExists("tools\raw_buildings.osm") Then
GUICtrlSetData($Label_Status, "Download Gebäude erfolgreich!")
Else
MsgBox(0,"Fehler", "Download Gebäude gescheitert")
Exit
EndIf
EndIf
;dann die Ortsnamen
If GUICtrlRead($CheckboxOrte) = $GUI_CHECKED Then
GUICtrlSetData($Label_Status, "Download Ortsnamen")
RunWait(@ComSpec & " /c " & 'tools\wget.exe http://overpass-api.de/api/xapi_meta?node[place=*][bbox=' & $BB & '] -O tools\raw_place.osm', "")
If FileExists("tools\raw_place.osm") Then
GUICtrlSetData($Label_Status, "Download Ortsnamen erfolgreich!")
Else
MsgBox(0,"Fehler", "Download Ortsnamen gescheitert")
Exit
EndIf
EndIf
;die einzelnen OSM-Dateien verbinden
If GUICtrlRead($CheckboxStrassen) = $GUI_CHECKED Then
$merge_files = "tools\raw_highway.osm"
EndIf
If GUICtrlRead($CheckboxWasser) = $GUI_CHECKED Then
$merge_files = $merge_files & " tools\raw_waterway.osm"
EndIf
If GUICtrlRead($CheckboxSeeUndMeer) = $GUI_CHECKED Then
$merge_files = $merge_files & " tools\raw_seeundMeer.osm"
EndIf
If GUICtrlRead($CheckboxOrte) = $GUI_CHECKED Then
$merge_files = $merge_files & " tools\raw_buildings.osm"
EndIf
If GUICtrlRead($CheckboxOrte) = $GUI_CHECKED Then
$merge_files = $merge_files & " tools\raw_place.osm"
EndIf
GUICtrlSetData($Label_Status, "starte merge")
_RunDos('tools\osmconvert.exe ' & $merge_files & ' -o=tools\osm.osm')
GUICtrlSetData($Label_Status, "merge ende")
GUICtrlSetData($Label_Status, "erstelle gmapsupp.img")
;erstellen der Karte mit mkgmap
;mit besonderem Dank an René Maroufi
;_RunDos('java -jar tools\mkgmap.jar --latin1 --style-file=mystyle10.zip --description="OSM Karte" --family-id=9999 --gmapsupp tools\osm.osm tools\e10.TXT')
_RunDos('java -Xmx512M -Xms64M -jar tools\mkgmap.jar --latin1 --description="OSM Karte" --family-id=9999 --gmapsupp tools\osm.osm')
If FindeGarmin()= "" Then
GUICtrlSetData($Label_Status, "Kein Garmin angeschlossen! gmapbmap.img im Programmverzeichnis.")
FileMove("gmapsupp.img", "gmapbmap.img", 1)
Else
If FileGetSize("gmapsupp.img")/1048576 > 5 Then
MsgBox(0, "Fehler", "Kartendatei grösser als 5 Mb, kopieren wird abgebrochen")
FileMove("gmapsupp.img", "gmapbmap.img", 1)
GUICtrlSetData($Label_Status, "Beendet! gmapbmap.img im Programmverzeichnis.")
Else
GUICtrlSetData($Label_Status, "Kopiere gmapbmap auf etrex")
FileCopy("gmapsupp.img", FindeGarmin()& "\Garmin\gmapbmap.img", 1)
GUICtrlSetData($Label_Status, "Beendet! gmapbmap.img auf dem etrex.")
EndIf
EndIf
EndFunc ;==>Download_OSM
;vielen Dank trancexx
Func _ExtractZip($sZipFile, $sDestinationFolder, $sFolderStructure = "")
Local $i
Do
$i += 1
$sTempZipFolder = @TempDir & "\Temporary Directory " & $i & " for " & StringRegExpReplace($sZipFile, ".*\\", "")
ConsoleWrite(@CRLF & $sTempZipFolder)
Until Not FileExists($sTempZipFolder) ; this folder will be created during extraction
Local $oShell = ObjCreate("Shell.Application")
If Not IsObj($oShell) Then
Return SetError(1, 0, 0) ; highly unlikely but could happen
EndIf
Local $oDestinationFolder = $oShell.NameSpace($sDestinationFolder)
If Not IsObj($oDestinationFolder) Then
DirCreate($sDestinationFolder)
;~ Return SetError(2, 0, 0) ; unavailable destionation location
EndIf
Local $oOriginFolder = $oShell.NameSpace($sZipFile & "\" & $sFolderStructure) ; FolderStructure is overstatement because of the available depth
If Not IsObj($oOriginFolder) Then
Return SetError(3, 0, 0) ; unavailable location
EndIf
Local $oOriginFile = $oOriginFolder.Items();get all items
If Not IsObj($oOriginFile) Then
Return SetError(4, 0, 0) ; no such file in ZIP file
EndIf
; copy content of origin to destination
$oDestinationFolder.CopyHere($oOriginFile, 20) ; 20 means 4 and 16, replaces files if asked
DirRemove($sTempZipFolder, 1) ; clean temp dir
Return 1 ; All OK!
EndFunc ;==>_ExtractZip
Func FindeGarmin ()
Local $colItems, $objWMIService, $objItem, $Ziel
Global $wbemFlagReturnImmediately = 0x10, _
$wbemFlagForwardOnly = 0x20
Dim $aDiskDrive[49], $i = 1
$objWMIService = ObjGet("winmgmts:\\" & @ComputerName & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) Then
For $objItem In $colItems
ReDim $aDiskDrive[UBound($aDiskDrive) + 1]
$aDiskDrive[$i] = $objItem.VolumeName
if $aDiskDrive[$i] = 'GARMIN' Then
$Ziel = $objItem.Name
EndIf
$i += 1
Next
$aDiskDrive[0] = UBound($aDiskDrive) - 1
If $aDiskDrive[0] < 1 Then
SetError(1, 1, 0)
EndIf
Else
SetError(1, 2, 0)
EndIf
Return $Ziel
EndFunc
Zuerst einmal hallo. Unser neues Hobby Geocaching und das für ein Apfel und ein Ei erstandene Etrex10 haben mich hierher geführt.
Vielen Dank fürs Programm. Toll.
Was bei mir nicht funktioniert sind die Gebäude. Strassen und Wege werden angezeigt, Gebäude nicht. Mach ich etwas falsch?
Gruss & vielen Dank
Sofern du ein Smartphone besitzt, wäre das womöglich die bessere Wahl für’s Geocachen.
Gruß Klaus
Mag sein. Ich cache lieber mit dem Etrex10 wie mit dem Iphone 6 plus.
Die Geschmäcker sind verschieden…
Ich kann leider zum Etrex10 nichts sagen, das hat ja gegenüber den anderen Etrex-Modellen deutlich eingeschränkte Kartenmöglichkeiten. Mit meinem Etrex20 bin ich sehr zufrieden und nutze ausschließlich diverse OSM-Karten.
Was Deine Frage zu den Gebäuden betrifft: Sind die denn in der Karte, die Du draufgeladen hast, überhaupt enthalten? Ich habe für mein Etrex20 teilweise auch Karten auf dem Gerät, die Gebäude nicht enthalten.
Das ist ja das tolle. Kollege “nogonogo” hat weiter oben ein Programm zum herstellen kleiner Karten, welche die lausige Etrex10 Basiskarte ersetzen, zur Verfügung gestellt. Meine Frage bezieht sich explizit auf dieses Programm.
Mit solchen Karten (grössenmässig natürlich aufgrund des kleinen Speichers begrenzt) und einem PQ lässt es sich prima cachen. Natürlich gibt es Besseres, Grösseres und auch Tolleres. Mein Etrex ist klein, billig, genau und ruiniert mich nicht gleich, wenn es mal runterfällt. So kann das iPhone getrost im Rucksack bleiben.