Garmin Etrex 10 - Karte ändern,laden

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.

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

OSM-Karten bereit für Garmin eTrex 10 http://etrex10.ru/en

Ich habe den Etrex 10 Downloader angepasst:

EtrexDownloader bbcode Etrex10

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.