#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