User:MotorKUH
Willkommen
In Zusammenarbeit mit MotoRoute [1] gibt es auf dieser Seite Informationen, wie eine freie Garmin-Karte für den speziellen Einsatz mit dem Motorrad zu erstellen ist.
Dazu war es notwendig, sämtliche Konsolen-Programme (wie z.B. splitter.jar, mkgmap.jar usw.) in einer Art "Backmischung" zusammen zu fassen. Schließlich will der Motorradfahrer lieber fahren als sich ewig vor dem Computer zu beschäftigen.
Warum MotorKUH?
Motorradfahren begann ich mit einer BMW mit Boxer-Motor. Solche Motorräder werden scherzhaft "Gummikuh", "Kuh" oder auch nur "Q" genannt [2].
Deshalb gab es auch keinen Schutzengel sondern eine Schutzkuh. "Kuh" mit K-U-H!
Deshalb: MotorKUH :-)
Was ist die MotoRoute-Tourer-Karte? [3]
Unsere Karte ist überhaupt keine Karte. Es ist mehr eine "Backmischung". Erst Du "backst" Dir selbst Deine eigene Karte. Dazu geben wir Dir ein Programm an die Hand, das selbst nur eine Sammlung der benötigen Dateien und Werkzeuge ist. Hierfür ein herzliches Dankeschön an alle Programmierer. Diese "Backmischung" backt aus den geladenen Dateien Deine freie Garmin-Karte sowohl für Dein Garmin-Navi als auch für BaseCamp® bzw. MapSource®/RoadTrip® auf Deinen Computer, egal ob Windows-PC oder Mac.
Was unterscheidet die MotoRoute-Tourer-Karte von anderen Karten? [4]
Unsere Karte ist auf den Einsatz am Motorrad spezialisiert. Das fängt damit an, dass wir die Straßen nach Ihren Kategorien in unterschiedlichen Farben darstellen. Die kleinen Land- und Kreisstraßen werden in verschiedenen Grüntönen angezeigt, Bundesstraßen gelb, Kraftfahrstraßen unabhängig von Ihrer offiziellen Nummer zeigen wir orange an und Autobahnen in blau/weiß. Für Motorräder verbotene Straßen werden als rot-gelb-rote Linie dargestellt. Zusätzlich bietet unsere Karte noch die Anzeige der für Motorräder gesperrten Strecken-Abschnitte als zuschaltbares transparentes Overlay (Track und POI). Sämtliche Strecken, die dauerhaft (7 Tage x 24 Stunden) für Motorräder gesperrt sind, werden generell vom Routing ausgenommen.
Welche Voraussetzungen muss mein Computer haben?
Du musst entweder einen Windows-PC oder einen Mac haben. Eine Linux-Version ist in Planung.
Getestete Betriebssysteme:
- Windows XP Pro (32 Bit)
- Windows Vista Home Premium (32 Bit)
- Windows 7 Ultimate (64 Bit)
- Mac OS X 10.8.3 (Mountain Lion)
Um Europa zu „backen“ muss es ein 64 Bit Betriebssystem sein, da erst die 64 Bit-Version von Java mehr als 1500 MB RAM handhaben kann. Mit einem 32 Bit Betriebssystem und mindestens 2 GB RAM kann eine Deutschland-Karte erstellt werden. Mit weniger RAM reicht es nur für Liechtenstein.
Empfehlenswert ist ein 64 Bit Betriebssystem wie z.B. Windows 7 oder Mac OS X 10.8 (Mountain Lion) und mindestens 4 GB RAM. Ebenso muss Deine Festplatte auch noch über ausreichend freien Platz verfügen. Wir empfehlen mindestens die 6-fache Größe der zu „backenden“ Region.
Außerdem wird eine aktuelle Java-Version benötigt (ab Juni 2013 Java 7). Wenn Dein Computer noch kein Java installiert hat, dann musst Du es vorher vom Hersteller laden und installieren: http://www.java.com/de [5]
Achtung Mac-User:
Beim Upgrade auf die aktuellste Java-Version ist die Installation des Java-Runtime-Environment (JRE) nicht ausreichend! Du musst das Java-Developement-Kit (JDK) laden und installieren: http://www.oracle.com/technetwork/java/javase/downloads/index.html [6]
Wie komme ich zu meiner MotoRoute-Tourerkarte?
Du lädst Dir unsere "Backmischung". Später kommen noch die Geo-Daten Deiner Wunsch-Region, z.B. germany.osm.pbf ("Eier"), die Grenzdaten der Länder (Boundaries/"Mehl") sowie der Meere (Sea Boundaries/"Wasser") in denselben Ordner.
Die "Backmischung" für unsere MotoRoute-Tourer-Karte lädst Du im Download-Bereich unter: http://www.motorkuh.de/ [7].
Windows
1. Installation
In Deinem Download-Ordner befindet sich die Setup-Datei der „Backmischung“.
Dieses Setup führst Du aus und folgst den Schritten des Installations-Assistenten.
Alternativ kannst Du auch die zip-Version laden und in einem beliebigen Ordner entpacken.
Nach erfolgreicher Installation findest Du im neuen Ordner "MotoRoute-Tourer-Karte" in dem von Dir gewählten Pfad die Dateien wie im Bild.
2. Downloads
Jetzt lädst Du die Geo-Daten Deiner Wunsch-Region im Download-Bereich z.B. der Geofabrik im Format .osm.pbf unter http://download.geofabrik.de/ [8].
Beispiel Deutschland: http://download.geofabrik.de/europe/germany-latest.osm.pbf [9]
Tipp:
Wir empfehlen beim ersten Mal als Region Liechtenstein zu nehmen: http://download.geofabrik.de/europe/liechtenstein-latest.osm.pbf [10]
Diese Karte ist klein und damit kann schnell ein Erfolg auch auf betagten Computern mit nur 1 GB RAM erzielt werden. Für Deutschland sollte der PC mindestens 2 GB RAM verbaut haben.
Du benötigst außerdem noch die Dateien mit den Grenzdaten für Meer und Länder.
Diese beiden Dateien lädst Du unter http://www.navmaps.eu/boundaries.html [11] in den gleichen Ordner (!) wie die zuvor geladene Datei mit den Geo-Daten (.osm.pbf).
Ländergrenzen/Boundaries: http://www.navmaps.eu/boundaries.html?task=weblink.go&id=1 [12]
Aktuelle Datei: bounds_20130420.zip
Meeresgrenzen/Sea-Boundaries: http://www.navmaps.eu/boundaries.html?task=weblink.go&id=2 [13]
Aktuelle Datei: sea_20130415.zip
3. Karten-Erstellung
Wenn Du eine 64-bit Version von Windows hast, dann startest Du "Start_MRTK_64bit.exe", ansonsten "Start_MRTK_32bit.exe".
Tipp:
Wenn Du nicht weißt, welche Version richtig ist, versuche zuerst die 64-bit Version zu starten. Läuft diese nicht, hast Du ein 32-bit Windows.
Mit dem "Durchsuchen"-Knopf navigierst Du zu dem Ordner, in den Du zuvor die 3 Dateien geladen hast.
Hier wählst Du die '.osm.pbf'-Datei Deiner Wunsch-Region aus, z.B.: germany-lastest.osm.pbf. Danach klickst Du auf das Karten-Logo, um Deine MotoRoute-Tourer-Karte zu „backen“.
Da noch weitere Dateien geladen werden, musst Du noch die Frage beantworten, ob der Download-Manager 'wget.exe' bei Dir von einem Proxy-Server oder einer Firewall geblockt wird. Üblicherweise ist das nur in Firmen-Netzwerken den Fall.
Alles Weitere läuft in der Windows-Konsole.
Tipp:
Es empfiehlt sich ein Auge auf die Meldungen zu haben, ob etwas Unerwartetes wie z.B. ein nicht erreichbarer Internet-Server zu einem Absturz führt und Du am Ende keine Karte hast.
Nachdem aus den Zutaten die Karten-Dateien erstellt wurden, wird Dir ein Fenster mit weiteren Hinweisen angezeigt. Bitte bestätige mit OK-Klick.
Danach musst Du die Karte in Garmin BaseCamp® oder MapSource® installieren.
Folge bitte den Anweisungen des Installations-Assistenten. Achtung Vista-User: Bitte Installation zulassen! Wir empfehlen den vorgegebenen Ordner zu bestätigen.
Danach kannst Du in Garmin BaseCamp® (bzw. MapSource®) auf die Karte umschalten.
Außerdem hat sich noch ein Fenster des Windows-Explorers geöffnet mit dem Ordner \GARMIN\, der samt Inhalt auf eine ausreichend große SD-Karte (FAT32 formatiert) kopiert werden kann.
Hier befinden sich außer der Karten-Datei 'gmapsupp.img' noch weitere Dateien wie die POI-Datei mit den Strecken-Sperrungen sowie Hintergrund-Bilder für Dein Navi.
Hinweis:
Bei der Region „Europa“ ist die erstellte 'gmapsupp.img' größer als 4 GB! Ignoriere jetzt diesen Schritt und verwende stattdessen Garmin MapInstall® (siehe Abschnitt 4).
Am Ende wird Dir noch ein Fenster mit Verknüpfungen zu den zugrunde liegenden Lizenzen angezeigt.
Beende mittels OK-Klick.
Mac
1. Installation
Entpacke das geladene Disk-Image der "Backmischung".
Öffne das virtuelle Laufwerk "MotoRoute-Tourer-Karte" und ziehe die gleichnamige App auf Deinen Ordner "Programme".
2. Downloads
Jetzt lädst Du die Geo-Daten Deiner Wunsch-Region im Download-Bereich z.B. der Geofabrik im Format .osm.pbf unter http://download.geofabrik.de/ [14].
Beispiel Deutschland: http://download.geofabrik.de/europe/germany-latest.osm.pbf [15]
Tipp:
Wir empfehlen beim ersten Mal als Region Liechtenstein zu nehmen: http://download.geofabrik.de/europe/liechtenstein-latest.osm.pbf [16]
Diese Karte ist klein und damit kann schnell ein Erfolg auch auf betagten Computern mit nur 1 GB RAM erzielt werden. Für Deutschland sollte der PC mindestens 2 GB RAM verbaut haben.
Du benötigst außerdem noch die Dateien mit den Grenzdaten für Meer und Länder.
Diese beiden Dateien lädst Du unter http://www.navmaps.eu/boundaries.html [17] in den gleichen Ordner (!) wie die zuvor geladene Datei mit den Geo-Daten (.osm.pbf).
Ländergrenzen/Boundaries: http://www.navmaps.eu/boundaries.html?task=weblink.go&id=1 [18]
Aktuelle Datei: bounds_20130420.zip
Meeresgrenzen/Sea-Boundaries: http://www.navmaps.eu/boundaries.html?task=weblink.go&id=2 [19]
Aktuelle Datei: sea_20130415.zip
3. Karten-Erstellung
Die Mac-Version wurde unter Mac OS X 10.8 „Mountain Lion“ entwickelt und getestet.
Starte die App „MotoRoute-Tourer-Karte“.
Ziehe die zuvor geladene '.osm.pbf'-Datei Deiner Wunsch-Region direkt auf das Fenster, um Deine MotoRoute-Tourer-Karte zu „backen“.
Tipp:
Es empfiehlt sich ein Auge auf die Meldungen zu haben, ob etwas Unerwartetes wie z.B. ein nicht erreichbarer Internet-Server zu einem Absturz führt und Du am Ende keine Karte hast.
Nachdem aus den Zutaten die Karten-Dateien erstellt wurden, wird Dir ein Fenster mit weiteren Hinweisen angezeigt.
Bitte bestätige mit OK-Klick.
Danach wartet der Garmin-MapManager® darauf, dass Du die Karte in Garmin BaseCamp® bzw. RoadTrip® installierst.
Folge bitte den weiteren Schritten und beende anschließend den MapManager®.
Falls der Garmin-MapManager® nicht startet, hast Du diesen noch nicht installiert. Lade ihn im Download-Bereich bei Garmin und installiere ihn: http://www8.garmin.com/support/download_details.jsp?id=3825 [20]
Anschließend kannst Du die Karten-Datei 'osm mrtk {Deine -Region – Datum}.gmapi' manuell aus Deinem Home-Ordner '~/osm_mrtk/maps/{Deine Region}/ starten und mit dem Garmin-MapManager® installieren.
Danach kannst Du in Garmin BaseCamp® (bzw. MapSource® oder RoadTrip®) auf die Karte umschalten.
Außerdem hat sich noch ein Finder-Fenster geöffnet mit dem Ordner /GARMIN/, der samt Inhalt auf eine ausreichend große SD-Karte (FAT32-formatiert) kopiert werden kann.
Hier befinden sich außer der Karten-Datei 'gmapsupp.img' noch weitere Dateien wie die POI-Datei mit den Strecken-Sperrungen sowie Hintergrund-Bilder für Dein Navi.
Hinweis:
Bei der Region „Europa“ ist die erstellte 'gmapsupp.img' größer als 4 GB! Ignoriere jetzt diesen Schritt und verwende stattdessen Garmin MapInstall® (siehe Abschnitt 4).
Bitte beachte am Ende die zugrunde liegenden Lizenzen.
Beende mittels Klick auf Quit.
Windows & Mac
4. Protokolle
Während der Laufzeit des Programms werden Logs im Ordner /tmp/ geführt. Nach Abschluss wird der Ordner in /log/ umbenannt und bereinigt, so dass nur noch OK-Logs (.log) und Fehler-Logs (.err.log) übrig bleiben.
5. Karten-Installation mit Garmin MapInstall®
Wenn Du Deine Karte für ganz Europa erstellt hast, dann ist die Datei 'gmapsupp.img' größer als 4 GB und passt somit nicht mehr auf eine mit FAT32-formatierte SD-Karte. In diesem Fall kannst Du die gewünschten Karten-Kacheln in Garmin-MapInstall® selbst auswählen und auf eine SD installieren.
Aufgrund unterschiedlicher Auflösung zwischen den Garmin-City-Navigator-Karten® und unserer MotoRoute-Tourer-Karte werden in niedrigen Zoom-Ansichten nur die Kacheln angezeigt, jedoch nicht die Karten-Darstellung. Das macht weiter nichts. Ziehe einfach einen Rahmen über den von Dir bevorzugten Ausschnitt z.B. wie im Bild oben über Zentral- und Süd-West-Europa. Hauptsache, die ausgewählten Karten-Kacheln passen in Summe noch auf eine 4 GB SD-Karte. Möchtest Du an dieser Stelle mehr Details sehen, so musst Du eine höhere Zoom-Ansicht wählen, sonst stürzt Garmin MapInstall® leider mit einer Fehlermeldung ab.
6. Karten-Nutzung in Garmin BaseCamp®
6.1 Darstellung
Sämtliche Straßen werden gemäß Ihrer Kategorie eingefärbt, um die Nebenstraßen besser erkennen zu können. Zusätzlich werden Kraftfahrstraßen unabhängig von Ihrer Kategorie orange dargestellt. So kann ein Mofa- bzw. Mopedfahrer mit kleinem Versicherungs-Kennzeichen diese Straßen auf einen Blick erkennen.
Tracks werden gemäß Ihrer Gradierung von 1 -5 als schmale braune Linie von durchgezogen (befestigt) bis stark gestrichelt (stark unbefestigt) angezeigt. Streckenabschnitte, die zumindest für Motorräder oder sogar für Kfz. aller Art als gesperrt erfasst sind, werden als rot-gelb-rote Linie gezeichnet.
6.2 Streckensperrungen
Hier ist am Beispiel der "Schauinsland"-Straße im Schwarzwald die zeitweise Streckensperrung als Track mit POI sichtbar.
Für diese Ansicht musst Du folgende Dateien aus dem Ordner /osm_mrtk/sperrung/ in Garmin BaseCamp® importieren:
- sperrung_TRACKS.GPX (gesperrte Strecke)
- sperrung_POI.GPX (Start- und End-Punkt der Strecken-Sperrung)
Die Liste ist sortiert nach Postleitzahlen. Dann folgt die Angabe, an welchen Tagen die Sperre gilt:
- SaSo – Samstage, Sonn- und Feiertage
- So - Sonn- und Feiertage
- Voll - dauerhafte Sperrung
Die POI-Symbole bedeuten:
- Rot – Vollsperrung
- Grün-Rot – Zeitweise Sperrung
- Grün – In dieser Fahrtrichtung nicht gesperrt
Außerdem wird das Verkehrszeichen Nummer 255 für Motorrad-Streckensperrungen angezeigt, sofern es in den OpenStreetMap-Daten erfasst wurde.
7.1 Installation am Beispiel Garmin zumo550®
Falls Du im Zuge der Karten-Erstellung die Datei bereits den Ordner /GARMIN/ auf eine SD-Karte kopiert hast, kannst Du diese sofort in Dein Navi einlegen. Ansonsten kopiere jetzt den Ordner /GARMIN/ samt Inhalt aus dem Ordner /osm_mrtk/maps/{Deine Region}/SD/ auf eine ausreichend große FAT32-formatierte SD-Karte und lege diese in Dein Navi ein. Starte Dein Navi, deaktiviere unter "Einstellungen/Karten" Deine Original Garmin-City-Navigator-Karte® und aktiviere Deine soeben neu generierte MotoRoute-Tourer-Karte, am besten zusammen mit dem Overlay "Streckensperrungen"!
7.2 Routing-Option „Mofa-/Moped-Modus“ - Ausschluss-Schalter für Fahrgemeinschaftsspuren
Anders als in den Garmin-City-Navigator-Karten® wurde dem Ausschluss-Schalter für die in Europa nicht vorhandenen Fahrgemeinschaftsspuren eine neue Funktion zugewiesen. Sofern aktiviert, wird Dein Navi zukünftig vermeiden Autobahnen (blau/weiß) und Kraftfahrstraßen (orange) in Deine Route einzubauen. Dieser Schalter ist z.B. für Mofas und Mopeds mit Versicherungs-Kennzeichen notwendig, da diese "Motorräder" auf diesen Straßentypen nicht fahren dürfen.
7.3 Routing um dauerhafte Streckensperrungen
Generelle Streckensperrungen werden vom Routing ohne zusätzliche Wegpunkte ausgeschlossen, wenn OpenStreetMap diese im Karten-Material erfasst hat.
Hier ein Beispiel des für alle Zweiräder in Fahrtrichtung Süd gesperrten Tunnels zwischen Gevelsberg und Ennepetal, in dem einseitig Eisenbahn-Gleise in der Straße verlegt sind. In Fahrtrichtung Nord besteht keine Streckensperrung.
7.4 Anzeige zeitweiser Streckensperrungen
Die Anzeige von Streckensperrungen auf dem Navi hier am Beispiel der "Schauinsland"-Straße im Schwarzwald mit beschriftetem POI-Symbol.
Solche zeitweisen Streckensperrungen sind nicht vom Routing ausgenommen!
Dieses ist bei einer Routen-Planung unbedingt zu beachten!
7.5 Adress-Suche
Die Navigation mit dieser Karte befindet sich derzeit noch im experimentellen Stadium. Eine Suche nach Straßennamen ist möglich, jedoch nicht Hausnummern-genau.
7.6 Streckensperrungs-Overlay ohne Karte installieren
Wenn Du die Karten-Datei 'gmapsupp.img' mit Garmin-MapInstall® erstellt hast, dann beinhaltet diese Datei kein Karten-Overlay für Motorrad-Streckensperrungen! Für diesen Fall, oder wenn Du die Streckensperrungen nur zusätzlich zur Garmin City-Navigator-Karte® nutzen möchtest, gibt es eine weitere Datei mit Namen 'gmapsupp.img' nur mit den Motorrad-Streckensperrungen im Ordner /osm_mrtk/sperrungen/. Diese Datei kannst Du direkt kopieren und in den Ordner /Garmin/ Deines Navis einfügen.
Hintergrund-Informationen: Dein Garmin-Navi kann mit folgenden Karten-Dateien umgehen, die grundsätzlich im Ordner /GARMIN/ gespeichert sein müssen: Auf SD-Karte immer nur 1 Datei mit dem Namen 'gmapsupp.img'. Im Navi selbst können die mit dem Navi erworbene Karte 'gmapprom.img', die Basiskarte 'gmapbmap.img' und 1 weitere 'gmapsupp.img' Platz finden. Bei einem OEM-Gerät gibt es auch noch eine nicht abschaltbare Karte mit dem Namen 'gmapoem.img'.
Wo kann ich Kartenfehler melden?
Auf den Web-Seiten http://openstreetmap.org [21] oder http://openstreetbugs.org [22] können Kartenfehler (ohne Anmeldung) gemeldet werden. Die OpenStreetMap-Community wird sich dieser Meldungen annehmen. Beachte dabei die Informationen auf den Seiten! Weitere Hintergrund-Informationen: http://wiki.openstreetmap.org/wiki/DE:OpenStreetBugs#OpenStreetBugs [23]
Mein Dank geht an
- Die OpenStreetMap-Community
- Die Leute im Forum "forum.openstreetmaps.org" für meine vielen Anfänger-Fragen
- OpenStreetMap-User "WanMil" für die "precompiled"-Dateien "bounds" und "sea"
- Die Entwickler der genutzten Karten-Tools Splitter, Mkgmap, Gmapi-Builder, Gmt, Nsis, GPSBabel, Typfile-Editor
- Die Entwickler der Tools Platypus (Mac), DMG-Architect (Mac). HTA-Edit (Windows)
- Viele unbekannte Leute in verschiedenen Foren zur Unix-Shell-Programmierung am Mac sowie zum sogenannten SED-Gehacke
- http://www.mintelonline.de [24] sowie http://www.bvdm.de/sperrungen.html [25] für die Informationen der Motorrad-Streckensperrungen
- Bina und Sverre für die Initial-Zündung
- MotoRoute-Freund "Blauwagen" als Tester der Mac-Version
- MotoRoute-Freund "Kurt Bayern" als Tester der Windows-Version
- Meine Frau für Ihre Geduld
Sponsor: MotoRoute [26] Ernststrasse 6 96476 Bad Rodach Tel.: + 49 (0) 9564 – 838-0 Fax: + 49 (0) 9564 – 838-55 E-Mail: info@motoroute.de
Source-Code (Windows-Version)
@echo off
color f0
rem In Start-Ordner des Scriptes wechseln
cd %~dp0
rem Script-Variablen
set M=%~dp0osm_mrtk\tmp\meldung.vbs
set N=meldung.vbs
set L=%~dp0osm_mrtk\tmp\download.vbs
set U=%~dp0osm_mrtk\tmp\unzip.vbs
set Q=%~dp0osm_mrtk\tmp\loadsource.vbs
set H=%~dp0osm_mrtk\tmp\inserthighwaytag.vbs
set B=%~dp0osm_mrtk\bin\
set G=%~dp0osm_mrtk\gui\
set T=%~dp0osm_mrkt\tmp\
set Z=%~dp0osm_mrtk\
rem Deutsche Umlaute setzen
chcp 1252>nul
set ue=ü
set ae=ä
set oe=ö
set Uue=Ü
set Aae=Ä
set Ooe=Ö
set ss=ß
chcp 850>nul
rem MRTK-Variablen setzen
set str_Version_Nummer=1.1
set str_Version_ID=62
set str_Version_Datum=2012-09-09 - 2013-04-23
set str_FID_gbasemap=21011
set str_FID_gsperrung=21012
rem ISO-Datum
set TAG=%date:~-10,2%
set MONAT=%date:~-7,2%
set JAHR=%date:~-4%
set str_Startdatum=%JAHR%-%MONAT%-%TAG%
title MotoRoute-Tourer-Karte
:WIN_VER
rem Windows-Version ermitteln
VER | find /i "Windows 95" > NUL
IF NOT ERRORLEVEL 1 GOTO 95
VER | find /i "Windows 98" > NUL
IF NOT ERRORLEVEL 1 GOTO 98
VER | find /i "Windows Millennium" > NUL
IF NOT ERRORLEVEL 1 GOTO ME
VER | find "XP" > nul
IF %errorlevel% EQU 0 GOTO XP
VER | find "2000" > nul
IF %errorlevel% EQU 0 GOTO 2000
VER | find "NT" > nul
IF %errorlevel% EQU 0 GOTO NT
VER | find "Microsoft Windows [Version 6.0" > nul
IF %errorlevel% EQU 0 GOTO Vista
VER | find "Microsoft Windows [Version 6.1" > nul
IF %errorlevel% EQU 0 GOTO W7
VER | find "Microsoft Windows [Version 6.2" > nul
IF %errorlevel% EQU 0 GOTO W8
VER | find "Microsoft Windows [Version 5" > nul
IF %errorlevel% EQU 0 GOTO 2003
goto unknown
goto :EXIT
:unknown
set winver=Unbekannt
goto :EXIT
:95
set winver=95
goto :EXIT
:98
set winver=98
goto :EXIT
:ME
set winver=ME
goto :EXIT
:NT
set winver=NT
goto :EXIT
:2000
set winver=2000
goto :EXIT
:XP
set winver=XP
goto :CHECK_MEMORY
:Vista
set winver=Vista
goto :CHECK_MEMORY
:W7
set winver=7
goto :CHECK_MEMORY
:W8
set winver=8
goto :CHECK_MEMORY
:2003
set winver=2003
goto :CHECK_MEMORY
:CHECK_MEMORY
rem physikalischen Speicher ermitteln für Java
rem wmic-schalter:
rem totalvisiblememorysize
rem (totalvirtualmemorysize)
rem freephysicalmemory
rem (freevirtualmemory)
for /f "skip=1" %%p in ('wmic os get freephysicalmemory') do (
set mem=%%p
goto JAVA
)
rem Win XP Home hat keine WMI
rem RAM-Abfrage nicht moeglich
if NOT %ERRORLEVEL%==0 goto :NO_WMI
:NO_WMI
color 4e
cls
echo Leider kann ich nicht ermitteln, wieviel RAM Dein PC frei hat,
echo da WMI nicht installiert ist :-(
echo.
set /p memin=Wieviel RAM (in MB) sind in Deinem PC verbaut? (nur Zahlen z.B. 1024):
color 17
echo Du hast eingegeben: %memin%
echo.
set /a mem=%memin%*750
:JAVA
rem Java 32-bit Version läuft bis 1500m
set /a ram_free=%mem%/1000
for /f "skip=2 tokens=2*" %%A IN ('REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion') do set CurVer=%%B
for /f "skip=2 tokens=2*" %%A IN ('REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\%CurVer%" /v JavaHome') do set JAVA_HOME=%%B
if %CurVer% LSS 1.7 (
set java_alt=Du hast eine veraltete Java-Version %CurVer%. Du solltest aktualisieren!
) else (
set java_alt=Du hast Java %CurVer% installiert.
)
if /I %PROCESSOR_ARCHITECTURE% == AMD64 (
set /a ram=%ram_free%
set /a pc=64
rem set javapfad="%PROGRAMFILES%\Java\jre#\bin\java.exe"
)
if /I %PROCESSOR_ARCHITECTURE% == x86 (
rem Anteil RAM begrenzen
if %ram_free% GEQ 1500 (
set /a ram=1500
) else (
set /a ram=%ram_free%
)
set /a pc=32
rem set javapfad="%PROGRAMFILES(X86)%\Java\jre#\bin\java.exe"
)
set javapfad="%JAVA_HOME%\bin\java.exe"
rem Zuwenig RAM?
if %ram% LSS 256 (
goto :ABBRUCH_RAM
)
:GET_OSMPBF
if exist osmpbf.txt (
FOR /F %%i in (osmpbf.txt) do set dropfile=%%i
rem echo %dropfile%
)
echo.
echo MotoRoute-Tourer-Karte
echo Version %str_Version_Nummer%.%str_Version_ID% / %str_Version_Datum%
echo Geo-Daten von OpenStreetMap
echo Erstellt f%ue%r MotoRoute.de von Gernot Skottke
echo mailto:motoroute@motorkuh.de
echo.
echo.
echo Bitte ziehe Deine geladene '*.osm.pbf'-Datei hier rein,
echo (Vista-User vollst%ae%ndigen Pfad mit rechter Maustaste einf%ue%gen)
echo dann dr%ue%cke die "Enter"-Taste
echo.
echo oder
echo.
echo dr%ue%cke nur die "Enter"-Taste, wenn Du beenden willst.
echo.
echo.
echo %java_alt%
echo.
echo Dein Windows %winver% arbeitet mit %pc% Bit und hat %ram_free% MB freien phys. Speicher.
echo Davon werden jetzt %ram% MB an Java %ue%bergeben.
echo.
SETLOCAL enabledelayedexpansion
:DEL_OSMPBF
if [%dropfile%]==[] (
set /p dropfile=%1
) else (
if exist "osmpbf.txt" (
del "%CD%\osmpbf.txt" > nul
)
)
if [%dropfile%]==[] goto :EXIT
:DEL_LOGS
if exist "./logs" (
rmdir /s /q "./logs"
)
:GET_FILENAME_EXT
rem %filename2% mit 2 Endungen .osm.pbf
for /f "delims=" %%i in ('echo %dropfile%') do set "filename2=%%~nxi"
rem echo filename2: %filename2%
set ext=%filename2:~-8%
rem echo %ext%
:GET_DROPPATH
for /f "delims=" %%i in ('echo %dropfile%') do set "droppath=%%~dpi"
rem echo droppath: %droppath%
:RUN_OSMPBF_ONLY
if %ext% == .osm.pbf (
goto :RUN
) else (
goto :NO_OSMPBF
)
:RUN
rem %filename1% mit 1 Endung .osm
for /f "delims=" %%i in ('echo %filename2%') do set "filename1=%%~ni"
rem echo filename1: %filename1%
rem %filename% ohne Endung
for /f "delims=" %%i in ('echo %filename1%') do set "filename=%%~ni"
rem echo filename: %filename%
rem Name (ohne "-latest") und Kurzname der Region festlegen
rem set str_Region=%filename%
rem echo %str_Region%
rem echo %filename:~0,-7%
if [%filename:~0,-7%] == [] (
set str_Region=%filename%
) else if [%filename:~-7%] == [-latest] (
set str_Region=%filename:~0,-7%
) else (
set str_Region=%filename%
)
set str_Region_kurz=%filename:~0,3%
:32BIT_NO_EUROPE
if /I %PROCESSOR_ARCHITECTURE% == x86 (
if %ram_free% GEQ 1500 (
if [%str_Region%]==[europe] (
goto :ABBRUCH_32BIT
)
)
:MRTK_DIR
title MotoRoute-Tourer-Karte Step 1: %str_Region% (%str_Region_kurz%)
echo.
echo Step 1 Pr%ue%fung Ordner \osm_mrtk\
if NOT exist osm_mrtk (
md osm_mrtk
echo Ordner \osm_mrtk\ wurde angelegt.
) else (
echo Ordner \osm_mrtk\ ist vorhanden.
)
cd %Z%
:TMP_DIR
title MotoRoute-Tourer-Karte Step 2: %str_Region% (%str_Region_kurz%)
echo.
echo Step 2 Pr%ue%fung Ordner \tmp\
if NOT exist tmp (
md tmp
echo Ordner \tmp\ wurde angelegt.
) else (
echo Ordner \tmp\ ist vorhanden.
)
:MAPS_DIR
title MotoRoute-Tourer-Karte Step 3: %str_Region% (%str_Region_kurz%)
echo.
echo Step 3 Pr%ue%fung Ordner \maps\
if NOT exist maps (
md maps
echo Ordner \maps\ wurde angelegt.
) else (
echo Ordner \maps\ ist vorhanden.
)
if exist "./maps/%str_Region%" (
rmdir /s /q "./maps/%str_Region%"
)
mkdir "./maps/%str_Region%"
mkdir "./maps/%str_Region%/SD/GARMIN"
mkdir "./maps/%str_Region%/SD/GARMIN/GPX"
mkdir "./maps/%str_Region%/SD/GARMIN/POI"
:VB_SCRIPTE
title MotoRoute-Tourer-Karte Step 4: %str_Region% (%str_Region_kurz%)
echo.
echo Step 4 Scripte erzeugen
rem VB-Script aufbauen für Load
echo set fs = CreateObject("Scripting.FilesystemObject") > "%L%"
echo. >> "%L%"
echo scriptname = Wscript.ScriptFullName >> "%L%"
echo scriptpath = fs.getparentfoldername(scriptname) >> "%L%"
echo. >> "%L%"
echo set args = WScript.Arguments >> "%L%"
echo. >> "%L%"
echo 'Set your settings >> "%L%"
echo strFileURL = args.Item(0) >> "%L%"
echo strFile = args.Item(1) >> "%L%"
echo. >> "%L%"
echo 'Fetch the file >> "%L%"
echo Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") >> "%L%"
echo. >> "%L%"
echo objXMLHTTP.open "GET", strFileURL, false >> "%L%"
echo objXMLHTTP.send() >> "%L%"
echo. >> "%L%"
echo If objXMLHTTP.Status = 200 Then >> "%L%"
echo Set objADOStream = CreateObject("ADODB.Stream") >> "%L%"
echo objADOStream.Open >> "%L%"
echo objADOStream.Type = 1 'adTypeBinary >> "%L%"
echo. >> "%L%"
echo objADOStream.Write objXMLHTTP.ResponseBody >> "%L%"
echo objADOStream.Position = 0 'Set the stream position to the start >> "%L%"
echo. >> "%L%"
echo Set objFSO = Createobject("Scripting.FileSystemObject") >> "%L%"
echo If objFSO.Fileexists(strFile) Then objFSO.DeleteFile strFile >> "%L%"
echo Set objFSO = Nothing >> "%L%"
echo. >> "%L%"
echo objADOStream.SaveToFile strFile >> "%L%"
echo objADOStream.Close >> "%L%"
echo Set objADOStream = Nothing >> "%L%"
echo End If >> "%L%"
echo. >> "%L%"
echo Set objXMLHTTP = Nothing >> "%L%"
rem VB-Script aufbauen für Unzip
echo set fs = CreateObject("Scripting.FilesystemObject") > "%U%"
echo. >> "%U%"
echo scriptname = Wscript.ScriptFullName >> "%U%"
echo scriptpath = fs.getparentfoldername(scriptname) >> "%U%"
echo. >> "%U%"
echo set args = WScript.Arguments >> "%U%"
echo. >> "%U%"
echo 'Set your settings >> "%U%"
echo ZipFile = args.Item(0) >> "%U%"
echo ExtractTo = args.Item(1) >> "%U%"
echo. >> "%U%"
echo If Right(ZipFile, 3) = "zip" Then >> "%U%"
echo. >> "%U%"
echo 'The location of the zip file. >> "%U%"
echo 'ZipFile="C:\Test.Zip" >> "%U%"
echo 'The folder the contents should be extracted to. >> "%U%"
echo 'ExtractTo="C:\Test\" >> "%U%"
echo. >> "%U%"
echo 'If the extraction location does not exist create it. >> "%U%"
echo Set fso = CreateObject("Scripting.FileSystemObject") >> "%U%"
echo. >> "%U%"
echo If NOT fso.FolderExists(ExtractTo) Then >> "%U%"
echo fso.CreateFolder(ExtractTo) >> "%U%"
echo End If >> "%U%"
echo. >> "%U%"
echo 'Extract the contants of the zip file. >> "%U%"
echo set objShell = CreateObject("Shell.Application") >> "%U%"
echo set FilesInZip=objShell.NameSpace(ZipFile).items >> "%U%"
echo objShell.NameSpace(ExtractTo).CopyHere(FilesInZip) >> "%U%"
echo Set fso = Nothing >> "%U%"
echo Set objShell = Nothing >> "%U%"
echo. >> "%U%"
echo End If >> "%U%"
rem VB-Script aufbauen für Load Quelltext
echo set fs = CreateObject("Scripting.FilesystemObject") > "%Q%"
echo. >> "%Q%"
echo scriptname = Wscript.ScriptFullName >> "%Q%"
echo scriptpath = fs.getparentfoldername(scriptname) >> "%Q%"
echo. >> "%Q%"
echo set args = WScript.Arguments >> "%Q%"
echo. >> "%Q%"
echo 'Set your settings >> "%Q%"
echo strFileURL = args.Item(0) >> "%Q%"
echo strFile = args.Item(1) >> "%Q%"
echo. >> "%Q%"
echo 'Fetch the file >> "%Q%"
echo Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") >> "%Q%"
echo. >> "%Q%"
echo objXMLHTTP.open "GET", strFileURL, false >> "%Q%"
echo objXMLHTTP.send() >> "%Q%"
echo. >> "%Q%"
echo If objXMLHTTP.Status = 200 Then >> "%Q%"
echo Set objADOStream = CreateObject("ADODB.Stream") >> "%Q%"
echo 'objADOStream.Type = 1 'adTypeBinary >> "%Q%"
echo objADOStream.Type = 2 'adTypeText >> "%Q%"
echo objADOStream.CharSet = "ascii" >> "%Q%"
echo objADOStream.Open >> "%Q%"
echo. >> "%Q%"
echo objADOStream.WriteText objXMLHTTP.ResponseText >> "%Q%"
echo objADOStream.Position = 0 'Set the stream position to the start >> "%Q%"
echo. >> "%Q%"
echo Set objFSO = Createobject("Scripting.FileSystemObject") >> "%Q%"
echo If objFSO.Fileexists(strFile) Then objFSO.DeleteFile strFile >> "%Q%"
echo Set objFSO = Nothing >> "%Q%"
echo. >> "%Q%"
echo objADOStream.SaveToFile strFile >> "%Q%"
echo objADOStream.Close >> "%Q%"
echo Set objADOStream = Nothing >> "%Q%"
echo End If >> "%Q%"
echo. >> "%Q%"
echo Set objXMLHTTP = Nothing >> "%Q%"
rem VB-Script aufbauen: Insert <Highway>-Tag
echo Const ForReading = 1 > "%H%"
echo Const ForWriting = 2 >> "%H%"
echo. >> "%H%"
echo set args = WScript.Arguments >> "%H%"
echo. >> "%H%"
echo 'Set your settings >> "%H%"
echo 'strdatei = "./sperrung.osm.tmp" >> "%H%"
echo strdatei = args.Item(0) >> "%H%"
echo. >> "%H%"
echo 'strdatei2 = "./sperrung.osm" >> "%H%"
echo strdatei2 = args.Item(1) >> "%H%"
echo. >> "%H%"
echo 'Ersetzen von => nach >> "%H%"
echo von = "<tag k='name'" >> "%H%"
echo nach = "<tag k='highway' v='motorway' />" ^& vbCrLf ^& " <tag k='name'" >> "%H%"
echo. >> "%H%"
echo Set objFSO = CreateObject("Scripting.FileSystemObject") >> "%H%"
echo. >> "%H%"
echo Set objTest = objFSO.GetFile(strdatei) >> "%H%"
echo If objTest.Size > 0 Then >> "%H%"
echo Set objFile = objFSO.OpenTextFile(strdatei, ForReading) >> "%H%"
echo strText = objFile.ReadAll >> "%H%"
echo objFile.Close >> "%H%"
echo strNewText = Replace(strText, von, nach) >> "%H%"
echo Set objFile = objFSO.OpenTextFile(strdatei2, ForWriting, true) >> "%H%"
echo objFile.WriteLine strNewText >> "%H%"
echo objFile.Close >> "%H%"
echo Else >> "%H%"
echo End If >> "%H%"
echo Scripte wurden erzeugt.
:USE_WGET
title MotoRoute-Tourer-Karte Step 5: %str_Region% (%str_Region_kurz%)
echo.
echo Step 5 Pr%ue%fung Firewall/Proxy f%ue%r 'wget.exe'
>"%M%" echo WScript.Quit MsgBox( "Blockiert Deine Firewall/Dein Proxy 'wget.exe'?", vbQuestion + vbYesNo, "Download ohne WGET?" )
"%M%"
if %errorlevel%==6 (
goto :LOAD_BIN
)
:LOAD_WGET
title MotoRoute-Tourer-Karte Step 6: %str_Region% (%str_Region_kurz%)
echo.
echo Step 6 Downloader 'wget.exe' laden
cscript /nologo ./tmp/download.vbs "http://motorkuh.de/blog/download/win/wget.exe" "wget.exe" > nul
echo Downloader 'wget.exe' wurde geladen.
:LOAD_UNZIP
title MotoRoute-Tourer-Karte Step 7: %str_Region% (%str_Region_kurz%)
echo.
echo Step 7 Entpacker 'unzip.exe' laden
cscript /nologo ./tmp/download.vbs "http://motorkuh.de/blog/download/win/unzip.exe" "unzip.exe" > nul
echo Entpacker 'unzip.exe' wurde geladen.
:LOAD_BIN
title MotoRoute-Tourer-Karte Step 8: %str_Region% (%str_Region_kurz%)
echo.
echo Step 8 Binaries 'bin.zip' laden
if NOT exist bin (
if exist "wget.exe" (
wget.exe -c http://motorkuh.de/blog/download/win/bin.zip -O "./bin.zip"
unzip.exe ./bin.zip -d ./ > nul
) else (
echo Bitte warten ... Ich lade gerade Daten ...
cscript /nologo ./tmp/download.vbs "http://motorkuh.de/blog/download/win/bin.zip" "bin.zip" > nul
cscript /nologo ./tmp/unzip.vbs "%Z%bin.zip" "%Z%"
)
echo Binaries 'bin.zip' wurden geladen und entpackt.
) else (
echo Binaries-Ordner \bin\ vorhanden.
)
if exist "bin.zip" (
del "%CD%\bin.zip"
)
if exist "unzip.exe" (
del "%CD%\unzip.exe"
)
:LOAD_GUI
title MotoRoute-Tourer-Karte Step 9: %str_Region% (%str_Region_kurz%)
echo.
echo Step 9 GUI 'gui.zip' laden und entpacken
if NOT exist gui (
if exist "wget.exe" (
"%B%wget.exe" -c http://motorkuh.de/blog/download/win/gui.zip -O "./gui.zip"
) else (
echo Bitte warten ... Ich lade gerade Daten ...
cscript /nologo ./tmp/download.vbs "http://motorkuh.de/blog/download/win/gui.zip" "gui.zip" > nul
)
"%B%unzip.exe" ./gui.zip -d ./ > nul
echo GUI 'gui.zip' wurde geladen und entpackt.
) else (
echo GUI-Ordner \gui\ vorhanden.
)
if exist "gui.zip" (
del "%CD%\gui.zip"
)
:LOAD_PDF
title MotoRoute-Tourer-Karte Step 10: %str_Region% (%str_Region_kurz%)
echo.
echo Step 10 N%ue%tzliche Infos 'pdf_%JAHR%.zip' laden und entpacken
if NOT exist pdf_%JAHR% (
if exist "wget.exe" (
"%B%wget.exe" -c http://motorkuh.de/blog/download/pdf_%JAHR%.zip -O "./pdf_%JAHR%.zip"
"%B%unzip.exe" ./pdf_%JAHR%.zip -d ./ > nul
) else (
echo Bitte warten ... Ich lade gerade Daten ...
cscript /nologo ./tmp/download.vbs "http://motorkuh.de/blog/download/pdf_%JAHR%.zip" "pdf_%JAHR%.zip" > nul
"%B%unzip.exe" ./pdf_%JAHR%.zip -d ./ > nul
)
echo N%ue%tzliche Infos 'pdf_%JAHR%.zip' wurden geladen und entpackt.
) else (
echo Ordner \pdf_%JAHR%\ vorhanden.
)
if exist "pdf_%JAHR%.zip" (
del "%CD%\pdf_%JAHR%.zip"
)
:LOAD_SPLASH
title MotoRoute-Tourer-Karte Step 11: %str_Region% (%str_Region_kurz%)
echo.
echo Step 11 Download MotoRoute-Splash-Screens
if NOT exist splash (
if exist "wget.exe" (
"%B%wget.exe" -c http://motorkuh.de/blog/download/splash.zip -O "./splash.zip"
) else (
echo Bitte warten ... Ich lade gerade Daten ...
cscript /nologo ./tmp/download.vbs "http://motorkuh.de/blog/download/splash.zip" "splash.zip" > nul
)
"%B%unzip.exe" ./splash.zip -d ./ > nul
echo MotoRoute-Splash-Screens wurden geladen und entpackt.
) else (
echo MotoRoute-Splash-Screens sind vorhanden.
)
if exist "splash.zip" (
del "%CD%\splash.zip"
)
:LOAD_STYLE
title MotoRoute-Tourer-Karte Step 12: %str_Region% (%str_Region_kurz%)
echo.
echo Step 12 Neuesten 'style' ermitteln und laden
if exist "wget.exe" (
"%B%wget.exe" -L http://motorkuh.de/blog/download/style.txt -O ./tmp/style.txt
) else (
echo Bitte warten ... Ich lade gerade Daten ...
cscript /nologo ./tmp/loadsource.vbs "http://motorkuh.de/blog/download/style.txt" "./tmp/style.txt"
)
echo lese letzten Stand 'style'
SET /p style_zip=<./tmp/style.txt
echo %style_zip%
for /f "delims=" %%i in ('echo %style_zip%') do set "style=%%~ni"
if NOT exist %style% (
for /f "tokens=*" %%i in ('dir /ad /b "%CD%\style*"') do rmdir "%CD%\%%i" /s /q
echo Alter Style wurde gel%oe%scht.
if exist "wget.exe" (
"%B%wget.exe" -c http://motorkuh.de/blog/download/%style_zip% -O ./%style_zip%
) else (
echo Bitte warten ... Ich lade gerade Daten ...
cscript /nologo ./tmp/download.vbs "http://motorkuh.de/blog/download/%style_zip%" %style_zip% > nul
)
echo Style '%style_zip%' wurde geladen.
if exist "./%style%" (
rmdir /s /q %style%
)
"%B%unzip.exe" ./%style_zip% -d ./ > nul
if exist %style_zip% (
del "%CD%\%style_zip%"
)
echo Style '%style_zip%' entpackt.
) else (
echo Style '%style%' ist aktuell.
)
:LOAD_SPERRUNGEN
title MotoRoute-Tourer-Karte Step 13: %str_Region% (%str_Region_kurz%)
echo.
echo Step 13 Neueste 'sperrung' ermitteln und laden
if exist "wget.exe" (
"%B%wget.exe" -L http://motorkuh.de/blog/download/sperrung.txt -O ./tmp/sperrung.txt
) else (
echo Bitte warten ... Ich lade gerade Daten ...
cscript /nologo ./tmp/loadsource.vbs "http://motorkuh.de/blog/download/sperrung.txt" "./tmp/sperrung.txt"
)
echo lese letzten Stand 'sperrung'
SET /p sperrung_zip=<./tmp/sperrung.txt
echo %sperrung_zip%
for /f "delims=" %%i in ('echo %sperrung_zip%') do set "sperrung=%%~ni"
if NOT exist %sperrung% (
for /f "tokens=*" %%i in ('dir /ad /b "%CD%\sperrung*"') do rmdir "%CD%\%%i" /s /q
echo Alte Sperrung wurde gel%oe%scht.
if exist "wget.exe" (
"%B%wget.exe" -c http://motorkuh.de/blog/download/%sperrung_zip% -O ./%sperrung_zip%
) else (
echo Bitte warten ... Ich lade gerade Daten ...
cscript /nologo ./tmp/download.vbs "http://motorkuh.de/blog/download/%sperrung_zip%" %sperrung_zip% > nul
)
echo Sperrung '%sperrung_zip%' wurde geladen.
if exist "./%sperrung%" (
rmdir /s /q %sperrung%
)
"%B%unzip.exe" ./%sperrung_zip% -d ./ > nul
if exist %sperrung_zip% (
del "%CD%\%sperrung_zip%"
)
echo Sperrung '%sperrung_zip%' entpackt.
) else (
echo Sperrung '%sperrung%' ist aktuell.
)
:LOAD_PRECOMPILED
title MotoRoute-Tourer-Karte Step 14: %str_Region% (%str_Region_kurz%)
echo.
echo Step 14 Version ermitteln der geladenen Boundaries
echo 'precompiled bounds' und 'precompiled sea'
dir %droppath% > ./tmp/precompiled.txt
"%B%grep\grep.exe" -o "bounds_[0-9]*.zip" ./tmp/precompiled.txt > ./tmp/bounds.txt
("%B%tail.exe" -n 1 "./tmp/bounds.txt") > ./tmp/bounds1.txt
echo lese letzten Stand 'precompiled bounds'
SET /p bounds=<./tmp/bounds1.txt
if exist "%droppath%%bounds%" (
echo %bounds%
) else (
set fileexist=1
echo Vermisse zip-Datei 'precompiled bounds' im Ordner %droppath%.
)
"%B%grep\grep.exe" -o "sea_[0-9]*.zip" ./tmp/precompiled.txt > ./tmp/sea.txt
("%B%tail.exe" -n 1 "./tmp/sea.txt") > ./tmp/sea1.txt
echo lese letzten Stand 'precompiled sea'
SET /p sea=<./tmp/sea1.txt
if exist "%droppath%%sea%" (
echo %sea%
) else (
set fileexist=1
echo Vermisse zip-Datei 'precompiled sea' im Ordner %droppath%.
)
:LOAD_SPLITTER
title MotoRoute-Tourer-Karte Step 15: %str_Region% (%str_Region_kurz%)
echo.
echo Step 15 Neuesten 'splitter' ermitteln und laden
if exist "wget.exe" (
"%B%wget.exe" -L http://www.mkgmap.org.uk/download/splitter.html -O ./tmp/splitter.html
) else (
echo Bitte warten ... Ich lade gerade Daten ...
cscript /nologo ./tmp/loadsource.vbs "http://www.mkgmap.org.uk/download/splitter.html" "./tmp/splitter.html"
)
echo lese letzten Stand 'splitter'
"%B%grep\grep.exe" -o "splitter-r[0-9]*.zip" ./tmp/splitter.html > ./tmp/splitter.txt
("%B%head.exe" -n 1 "./tmp/splitter.txt") > ./tmp/splitter1.txt
SET /p splitter_zip=<./tmp/splitter1.txt
echo %splitter_zip%
set splitter=%splitter_zip:~-0,13%
if NOT exist %splitter% (
for /f "tokens=*" %%i in ('dir /ad /b "%CD%\splitter*"') do rmdir "%CD%\%%i" /s /q
echo Alter Splitter wurde gel%oe%scht.
if exist "wget.exe" (
"%B%wget.exe" -c http://www.mkgmap.org.uk/download/%splitter_zip% -O ./%splitter_zip%
) else (
echo Bitte warten ... Ich lade gerade Daten ...
cscript /nologo ./tmp/download.vbs "http://www.mkgmap.org.uk/download/%splitter_zip%" %splitter_zip% > nul
)
echo Splitter '%splitter_zip%' wurde geladen.
if exist "./%splitter%" (
rmdir /s /q %splitter%
)
"%B%unzip.exe" ./%splitter_zip% -d ./ > nul
if exist %splitter_zip% (
del "%CD%\%splitter_zip%"
)
echo Splitter '%splitter_zip%' entpackt.
) else (
echo Splitter '%splitter%' ist aktuell.
)
:LOAD_MKGMAP
title MotoRoute-Tourer-Karte Step 16: %str_Region% (%str_Region_kurz%)
echo.
echo Step 16 Neuestes 'mkgmap' ermitteln und laden
if exist "wget.exe" (
"%B%wget.exe" -L http://www.mkgmap.org.uk/download/mkgmap.html -O ./tmp/mkgmap.html
) else (
echo Bitte warten ... Ich lade gerade Daten ...
cscript /nologo ./tmp/loadsource.vbs "http://www.mkgmap.org.uk/download/mkgmap.html" "./tmp/mkgmap.html"
)
echo lese letzten Stand 'mkgmap'
"%B%grep\grep.exe" -o "mkgmap-r[0-9]*.zip" ./tmp/mkgmap.html > ./tmp/mkgmap.txt
("%B%head.exe" -n 1 "./tmp/mkgmap.txt") > ./tmp/mkgmap1.txt
SET /p mkgmap_zip=<./tmp/mkgmap1.txt
echo %mkgmap_zip%
set mkgmap=%mkgmap_zip:~-0,12%
if NOT exist %mkgmap% (
for /f "tokens=*" %%i in ('dir /ad /b "%CD%\mkgmap*"') do rmdir "%CD%\%%i" /s /q
echo Altes MkGMap wurde gel%oe%scht.
if exist "wget.exe" (
"%B%wget.exe" -c http://www.mkgmap.org.uk/download/%mkgmap_zip% -O ./%mkgmap_zip%
) else (
echo Bitte warten ... Ich lade gerade Daten ...
cscript /nologo ./tmp/download.vbs "http://www.mkgmap.org.uk/download/%mkgmap_zip%" %mkgmap_zip% > nul
)
echo MkGMap '%mkgmap_zip%' wurde geladen.
if exist %mkgmap% (
rmdir /s /q %mkgmap%
)
"%B%unzip.exe" ./%mkgmap_zip% -d ./ > nul
if exist %mkgmap% (
del "%CD%\%mkgmap_zip%"
)
echo MkGMap '%mkgmap_zip%' entpackt.
) else (
echo MkGMap '%mkgmap%' ist aktuell.
)
:CHECK
title MotoRoute-Tourer-Karte Step 17: %str_Region% (%str_Region_kurz%)
echo.
echo Step 17 Alle Dateien geladen?
echo.
echo - Region :
echo %dropfile%
echo.
echo - bounds : %bounds%
echo - sea : %sea%
echo - style : %style_zip%
echo - sperrung: %sperrung_zip%
echo - splitter: %splitter_zip%
echo - mkgmap : %mkgmap_zip%
echo.
set fileexist=0
if [%bounds%]==[] (
set fileexist=1
echo - Vermisse zip-Datei 'precompiled bounds' im Ordner %droppath%!
) else (
if NOT exist %droppath%%bounds% (
set fileexist=1
echo - Vermisse zip-Datei '%bounds%' im Ordner %droppath%!
)
)
if [%sea%]==[] (
set fileexist=1
echo - Vermisse zip-Datei 'precompiled sea' im Pfad %droppath%!
) else (
if NOT exist %droppath%%sea% (
set fileexist=1
echo - Vermisse zip-Datei '%sea%' im Pfad %droppath%!
)
)
if NOT exist ./%splitter% (
set fileexist=1
echo - Ordner '%splitter%' NICHT vorhanden!
)
if NOT exist ./%mkgmap% (
set fileexist=1
echo - Ordner '%mkgmap%' NICHT vorhanden!
)
if NOT exist ./%sperrung% (
set fileexist=1
echo - Ordner '%sperrung%' NICHT vorhanden!
)
if NOT exist ./%style% (
set fileexist=1
echo - Ordner '%style%' NICHT vorhanden!
)
if NOT exist ./splash (
set fileexist=1
echo - Ordner 'splash' NICHT vorhanden!
)
if %fileexist%==1 (
color 4e
echo.
echo ##############################################################
echo ### Die Ausf%ue%hrung wurde ABGEBROCHEN :-( ###
echo ##############################################################
echo ### Wichtige Dateien und/oder Ordner fehlen zur Ausf%ue%hrung ###
echo ##############################################################
echo.
goto :ABBRUCH
) else (
echo.
echo OK. Alles ist vorhanden. Die Ausf%ue%hrung beginnt.
)
:SPLITTER
title MotoRoute-Tourer-Karte Step 18: %str_Region% (%str_Region_kurz%)
cd %Z%
echo.
echo Step 18 splitter
if exist tiles (
rmdir /s /q tiles
)
mkdir tiles
echo.
echo Ich splitte jetzt die Datei '%filename2%'.
echo Die Laufzeit ist abh%ae%ngig von der Dateigr%oe%%ss%e.
echo Start: %date% %time% RAM: %ram%m
%javapfad% -Xmx%ram%m -jar ./%splitter%/splitter.jar ^
--output-dir=./tiles ^
%dropfile% ^
1> ./tmp/%splitter%.log 2> ./tmp/%splitter%.err.log
rem Abfrage Error-Log
("%B%head.exe" -n 1 "./tmp/%splitter%.err.log") > ./tmp/%splitter%-1.err.log
SET /p java_err=<./tmp/%splitter%-1.err.log
if "%java_err%" == "" (
goto :SPLITTER_OK
) else (
goto :ABBRUCH_JAVA
)
:SPLITTER_OK
echo Ende : %date% %time%
:GBASEMAP
title MotoRoute-Tourer-Karte Step 19: %str_Region% (%str_Region_kurz%)
echo.
echo Step 19 mkgmap: [gbasemap] als 'gmapsupp.img'
mkdir "./tiles/gbasemap"
copy "%CD%\%style%\motorout.TYP" "%CD%\tiles\gbasemap\motorout.TYP" > nul
echo TYP-File kopiert nach:
echo \osm_mrtk\tiles\gbasemap\
if exist ./tiles/gbasemap/gmapsupp (
rmdir /s /q "./tiles/gbasemap/gmapsupp"
)
echo.
echo Ich baue jetzt die Karten-Kacheln f%ue%r %str_Region%.
echo Die Laufzeit ist abh%ae%ngig von der Dateigr%oe%%ss%e.
echo Start: %date% %time% RAM: %ram%m
%javapfad% -Xmx%ram%m -jar ./%mkgmap%/mkgmap.jar ^
--bounds=%droppath%%bounds% ^
--precomp-sea=%droppath%%sea% ^
--output-dir=./tiles/gbasemap/ ^
--max-jobs ^
--style-file=./%style%/motorout_style/ ^
--description="osm mrtk "%str_Region%" "%str_Startdatum% ^
--country-name=%str_Region% ^
--country-abbr=%str_Region_kurz% ^
--family-id=%str_FID_gbasemap% ^
--product-id=1 ^
--series-name="osm mrtk "%str_Region%" "%str_Startdatum% ^
--family-name="osm mrtk "%str_Region%" "%str_Startdatum% ^
--area-name=%str_Region_kurz% ^
--code-page=1250 ^
--latin1 ^
--mapname=63240001 ^
--draw-priority=10 ^
--tdbfile ^
--add-pois-to-areas ^
--link-pois-to-ways ^
--remove-short-arcs ^
--levels=0:24,1:22,2:21,3:19,4:18,5:16 ^
--location-autofill=is_in,nearest ^
--merge-lines ^
--process-exits ^
--index ^
--route ^
--gmapsupp ^
--nsis ^
./tiles/*.osm.pbf ^
./tiles/gbasemap/motorout.TYP ^
1> ./tmp/%mkgmap%_%str_Region%.log 2> ./tmp/%mkgmap%_%str_Region%.err.log
echo Ende : %date% %time%
move "%CD%\tiles\gbasemap\gmapsupp.img" "%CD%\maps\%str_Region%\gmapsupp.img" > nul
echo 'gmappsupp.img' [gbasemap] wurde erzeugt und kopiert nach:
echo \osm_mrtk\maps\%str_Region%\gmapsupp.img
:GPSBABEL
title MotoRoute-Tourer-Karte Step 20: %str_Region% (%str_Region_kurz%)
echo.
echo Step 20 gpsbabel:
echo 'sperrung_TRACKS.GPX' zu 'sperrung.osm' konvertieren
if exist "./%sperrung%/sperrung.osm" (
del "%CD%\%sperrung%\sperrung.osm"
)
"%B%/gpsbabel/gpsbabel.exe" -i gpx -o osm ^
./%sperrung%/sperrung_TRACKS.gpx ^
./%sperrung%/sperrung.osm.tmp > nul
rem Einfügen <tag k='highway' v='motorway' />
rem Windows-Ersatz für Unix-SED-Gehacke
cscript /nologo ./tmp/inserthighwaytag.vbs "./%sperrung%/sperrung.osm.tmp" "./%sperrung%/sperrung.osm"
if exist "./%sperrung%/sperrung.osm.tmp" (
del "%CD%\%sperrung%\sperrung.osm.tmp"
)
echo 'sperrung.osm' wurde erzeugt und angepasst.
:GSPERRUNG
title MotoRoute-Tourer-Karte Step 21: %str_Region% (%str_Region_kurz%)
echo.
echo Step 21 mkgmap: [gsperrung]
mkdir "./tiles/gsperrung"
copy "%CD%\%style%\sperrung.TYP" "%CD%\tiles\gsperrung\sperrung.TYP" > nul
echo TYP-File kopiert nach:
echo \osm_mrtk\tiles\gsperrung\
echo Jetzt baue ich Deine Karten-Kacheln f%ue%r die Strecken-Sperrungen.
echo Start: %date% %time% RAM %ram%m
%javapfad% -Xmx%ram%m -jar ./%mkgmap%/mkgmap.jar ^
--output-dir=./tiles/gsperrung/ ^
--max-jobs ^
--style-file=./%style%/sperrung_style/ ^
--description="osm mrtk sperrungen "%str_Startdatum% ^
--country-name=Sperrungen ^
--country-abbr=XX ^
--family-id=%str_FID_gsperrung% ^
--product-id=1 ^
--series-name="osm mrtk sperrungen "%str_Startdatum% ^
--family-name="osm mrtk sperrungen "%str_Startdatum% ^
--area-name=XX ^
--code-page=1250 ^
--latin1 ^
--mapname=64240001 ^
--draw-priority=20 ^
--add-pois-to-areas ^
--gmapsupp ^
--location-autofill=0 ^
--transparent ^
./%sperrung%/sperrung.osm ^
./tiles/gsperrung/sperrung.TYP ^
1> ./tmp/%mkgmap%_sperrung.log 2> ./tmp/%mkgmap%_sperrung.err.log
echo Ende : %date% %time%
move "%CD%\tiles\gsperrung\gmapsupp.img" "%CD%\sperrung\gmapsupp.img" > nul
echo 'gmapsupp.img' [gsperrung] wurde erzeugt und kopiert nach:
echo \osm_mrtk\sperrung\gmapsupp.img
:GMT
title MotoRoute-Tourer-Karte Step 22: %str_Region% (%str_Region_kurz%)
echo.
echo Step 22 gmt: 2 'gmapsupp.img' zusammenkleben
echo [gbasemap + gsperrung]
"%B%/gmt/gmt.exe" -jo ./maps/%str_Region%/SD/GARMIN/gmapsupp.img ^
./maps/%str_Region%/gmapsupp.img ^
./%sperrung%/gmapsupp.img 1> ./tmp/gmt.log 2> ./tmp/gmt.err.log
echo 'gmapsupp.img' [gbasemap + gsperrung] kopiert nach:
echo \osm_mrtk\maps\%str_Region%\SD\GARMIN\
:POI
title MotoRoute-Tourer-Karte Step 23: %str_Region% (%str_Region_kurz%)
echo.
echo Step 23 sperrung_POI.GPI kopieren
copy "%CD%\%sperrung%\sperrung_POI.GPI" ^
"%CD%\maps\%str_Region%\SD\GARMIN\POI\sperrung_POI.GPI"
echo 'sperrung_POI.GPI' kopiert nach:
echo '\osm_mrtk\maps\%str_Region%\SD\GARMIN\POI\
:SPLASH
title MotoRoute-Tourer-Karte Step 24: %str_Region% (%str_Region_kurz%)
echo.
echo Step 24 MotoRoute-Splash-Screens kopieren
copy "%CD%\splash\zumo550_splash_MR_OSM_255.jpg" ^
"%CD%\maps\%str_Region%\SD\GARMIN\zumo550_splash_MR_OSM_255.jpg"
copy "%CD%\splash\zumo660_splash_MR_OSM_255.jpg" ^
"%CD%\maps\%str_Region%\SD\GARMIN\zumo660_splash_MR_OSM_255.jpg"
echo Splash-Screens kopiert nach:
echo \osm_mrtk\maps\%str_Region%\SD\GARMIN\
:MAKENSIS
title MotoRoute-Tourer-Karte Step 25: %str_Region% (%str_Region_kurz%)
echo.
echo Step 25 makensis: Map-Installer erzeugen
echo.
echo Start: %date% %time%
echo Ich erzeuge jetzt die Installations-Datei f%ue%r
echo Garmin MapSource© und Garmin BaseCamp©
echo Die Laufzeit ist abh%ae%ngig von der Dateigr%oe%%ss%e.
"%B%nsis\makensis.exe" "./tiles/gbasemap/osmmap.nsi" 1> ./tmp/makensis.log 2> ./tmp/makensis.err.log
rem Quiet-Mode
rem "%B%nsis\makensis.exe" /V1 "./tiles/gbasemap/osmmap.nsi"
rem Window-Mode
rem "%B%nsis\makensisw.exe" "./tiles/gbasemap/osmmap.nsi"
echo Ende : %date% %time%
move "%CD%\tiles\gbasemap\osm mrtk %str_Region% %str_Startdatum%.exe" "%CD%\maps\%str_Region%" > nul
echo.
echo EXE-Installer fuer Garmin MapSource© und BaseCamp© wurde erzeugt.
title MotoRoute-Tourer-Karte: %str_Region% (%str_Region_kurz%)
"%G%\Hinweis.exe"
:MAPINSTALL
title MotoRoute-Tourer-Karte Step 26: %str_Region% (%str_Region_kurz%)
echo.
echo Step 26 nsis: Karten-Installation f%ue%r Garmin MapSource© starten
echo Ich starte jetzt den Karten-Installations-Assistenten.
echo Folge bitte dessen Aufforderungen.
echo Beachte: Es wird immer nur eine 'osm mrtk'-Karte angezeigt.
echo Falls n%oe%tig, bitte andere Karten vorher l%oe%schen.
if %winver%==Vista (
echo.
echo ################################################
echo ### Vista-User: Bitte Installation zulassen. ###
echo ################################################
echo.
)
rem Wenn die Karte ohne Benutzer-Interaktion installiert werden soll:
rem Silent-Install einschalten mit Option "/S"
rem "osm mrtk region JJJJ-MM-TT.exe" /S
"%CD%\maps\%str_Region%\osm mrtk %str_Region% %str_Startdatum%.exe"
:SD_INSTALL
title MotoRoute-Tourer-Karte Step 27: %str_Region% (%str_Region_kurz%)
echo.
echo Step 27 Installation auf SD-Karte
echo Ich %oe%ffne den Ordner der Region %str_Region%.
echo Bitte kopiere den Ordner 'GARMIN' samt Inhalt
echo auf eine ausreichend gro%ss%e SD-Karte.
explorer %CD%\maps\%str_Region%\SD\
:CLEANUP
title MotoRoute-Tourer-Karte Step 28: %str_Region% (%str_Region_kurz%)
echo.
echo Step 28 Aufr%ae%umen
if exist "wget.exe" (
del "%CD%\wget.exe"
)
if exist "./tmp" (
del "%CD%\tmp\*.vbs"
del "%CD%\tmp\*.txt"
del "%CD%\tmp\*.html"
del "%CD%\tmp\*-1.err.log"
rem 0-Byte-Dateien/Leere Error-Logs loeschen
for %%f in ("%CD%\tmp\*.*") do if %%~zf==0 del "%%f"
if exist "./logs" (
rmdir /s /q "./logs"
)
ren tmp logs
)
echo Tempor%ae%re Dateien wurden gel%oe%scht.
goto :COPYRIGHT
:ABBRUCH
title MotoRoute-Tourer-Karte ABBRUCH: %str_Region% (%str_Region_kurz%)
echo MsgBox ( "Wichtige Dateien zur Ausführung fehlen!" ^& vbCrLf ^& "Bitte zuerst laden!" ), vbCritical, "ABBRUCH" > "%M%" & "%M%"
goto :ENDE
:ABBRUCH_32BIT
title MotoRoute-Tourer-Karte ABBRUCH: %str_Region% (%str_Region_kurz%)
echo MsgBox ( "Mit einem 32-Bit-System können nur einzelne Europa-Länder gebaut werden!" ), vbExclamation, "ABBRUCH" > "%N%" & "%N%"
goto :ENDE
ABBRUCH_RAM
title MotoRoute-Tourer-Karte ABBRUCH: %str_Region% (%str_Region_kurz%)
echo MsgBox ( "Dein PC hat für diese Aufgabe zu wenig freien RAM-Speicher!" ^& vbCrLf ^& "Für Java werden mind. 256 MB benötigt." ^& vbCrLf ^& "Du hast leider nur %ram% MB frei." ), vbCritical, "ABBRUCH :-(" > "%N%" & "%N%"
goto :ENDE
:ABBRUCH_JAVA
title MotoRoute-Tourer-Karte ABBRUCH: %str_Region% (%str_Region_kurz%)
color 4e
echo.
echo ############################################
echo ### Die Ausf%ue%hrung wurde ABGEBROCHEN :-( ###
echo ############################################
echo.
echo Java-hat Fehler erzeugt:
echo %java_err%
echo MsgBox ( "Java hat Fehler erzeugt." ^& vbCrLf ^& "Die Ausführung wird abgebrochen." ), vbCritical, "ABBRUCH" > "%M%" & "%M%"
goto :CLEANUP
:NO_OSMPBF
title MotoRoute-Tourer-Karte ABBRUCH: %str_Region% (%str_Region_kurz%)
cd tmp
echo MsgBox ( "Du hast keine '*.osm.pbf'-Datei geladen." ^& vbCrLf ^& "Die Ausführung wird abgebrochen." ), vbCritical, "ABBRUCH" > "%M%" & "%M%"
goto :ENDE
:COPYRIGHT
title MotoRoute-Tourer-Karte: %str_Region% (%str_Region_kurz%)
"%G%\Lizenz.exe"
goto :ENDE
:ENDE
title MotoRoute-Tourer-Karte ENDE: %str_Region% (%str_Region_kurz%)
if exist "meldung.vbs" (
del "%CD%\meldung.vbs"
)
echo.
echo Um zu Beenden . . .
pause
:EXIT
exit
--MotorKUH (talk) 14:06, 6 May 2013 (UTC)