User:MotorKUH

From OpenStreetMap Wiki
Jump to: navigation, search
MotoRouteMapBuilderIcon.png

Willkommen

MotoRouteLogo.png

In Zusammenarbeit mit MotoRoute 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.

News

- 11.01.2016 Neue Anleitung zum Download: http://motoroute.de/de/content/motoroute-openstreetmap

Warum MotorKUH?

MotorKUH Klaerchen.jpg

Motorradfahren begann ich mit einer BMW mit Boxer-Motor. Solche Motorräder werden scherzhaft "Gummikuh", "Kuh" oder auch nur "Q" genannt.

Aus diesem Grund gab es auch keinen Schutzengel sondern eine Schutzkuh. "Kuh" mit K-U-H!

Deshalb: MotorKUH :-)

Was ist MotoRoute-OpenStreetMap?

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 PC mit Windows, Mac oder Linux.

Aufmerksame Anwender werden bemerkt haben, dass aus der MotoRoute-Tourer-Karte nun die MotoRoute-OpenStreetMap wurde. Uns wurde schon lange empfohlen, das Wort "Open" im Namen zu tragen, aber uns gefiel "OpenMotoRouteMap" ebenso wenig wie "MotoRoute-OpenMap" oder "OpenMotoMap". Und da beides - OpenStreetMap und MotoRoute - inzwischen sehr bekannte Markennamen sind, haben wir einfach beide zusammengeführt: MotoRoute-OpenStreetMap

http://motoroute.de/de/content/motoroute-openstreetmap.

Was unterscheidet die MotoRoute-Tourer-Karte von anderen Karten?

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 PC mindestens mit Windows Vista oder Linux bzw. einen Mac haben.

Getestete Betriebssysteme:

  • Windows Vista Home Premium (32 Bit)
  • Windows 7 Professional (64 Bit)
  • Windows 8.1 (64 Bit)
  • Windows 10 Pro (64 Bit)
  • Mac OS X 10.11.2 (El Capitan)

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. mindestens Windows 7 oder Mac OS X 10.10 (El Capitan) mit 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

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

Wie komme ich zu meiner MotoRoute-OpenStreetMap?

Du lädst Dir unsere "Backmischung" unter http://motoroute.de/de/content/motoroute-openstreetmap sowie die Geo-Daten Deiner Wunsch-Region, z.B. germany-latest.osm.pbf im Download-Bereich der Geofabrik: http://download.geofabrik.de/.

Alles Weitere (sea.zip, splitter, mkgmap, Streckensperrungen) wird während der Laufzeit aus dem Internet geladen.

Wo kann ich Kartenfehler melden?

Auf der Web-Seite http://openstreetmap.org können Kartenfehler (ohne Anmeldung) gemeldet werden. Die OpenStreetMap-Community wird sich dieser Meldungen annehmen. Beachte dabei die Informationen auf der Seite!

Mein Dank geht an

  • Die OpenStreetMap-Community
  • Die Leute im Forum "forum.openstreetmap.org" für meine vielen Anfänger-Fragen
  • 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 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
Ernststrasse 6
96476 Bad Rodach
Tel.: + 49 (0) 9564 – 838-0 
Fax: + 49 (0) 9564 – 838-55
E-Mail: info@motoroute.de

== Source-Code ==

- Mac & Linux -

   1 #!/bin/bash
   2 export TERM=${TERM:-dumb}
   3 export PATH=.:$PATH
   4 MRTKPATH=$HOME/osm_mrtk
   5 
   6 # Mac
   7 # Dieses Script läuft nur richtig im Paket der App!
   8 
   9 # (Ubuntu-)Linux
  10 # 1. Dieses Script ausführbar machen: chmod +x "MRTK_1.6.84.sh"
  11 # 2. Java "OpenJDK-Java-7-Laufzeitumgebung" installieren: 
  12 #    sudo apt-get install openjdk-7-jre
  13 # 3. "zlib1g-dev" installieren: 
  14 #    sudo apt-get install zlib1g-dev
  15 # 4. "gpsbabel" installieren: 
  16 #    sudo apt-get install gpsbabel
  17 # 5. "gmt" laden unter http://www.gmaptool.eu/en/content/linux-version
  18 #    und in den Ordner dieses Scripts entpacken
  19 #    dann "gmt" ausführbar machen: 
  20 #    chmod +x ./lgmt08186/gmt
  21 # 6. optional "nsis" (Windows-Installer) installieren: 
  22 #    sudo apt-get install nsis
  23 
  24 # Inhalt "parameter.txt"
  25 # 1 par_Version       : 1.6.84
  26 # 2 par_MRTK_Server   : http://motoroute.de/sites/default/files/
  27 # 3 par_Seazip_Server : http://osm2.pleiades.uni-wuppertal.de/sea/latest/sea.zip
  28 # 4 par_mkgmap_Server : http://www.mkgmap.org.uk/download/
  29 # 5 par_Preprocessor  : uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreprocessor
  30 # 6 par_Style         : style-r008.zip
  31 # 7 par_Sperrung      : sperrung_2016.zip
  32 # 8 par_convert_Server: http://m.m.i24.cc/
  33 # 9 par_MR_Website    : http://motoroute.de/de/content/motoroute-tourer-karte
  34 #10 par_bin           : bin-r002_0.zip (Windows)
  35 #11 par_Version       : 1.6.84 (Windows)
  36 
  37 # MRTK-Variablen setzen
  38 str_Version="1.6.84"
  39 str_Version_Datum="2012-09-09 - 2015-12-16"
  40 # Die Family-ID wird ab Version 1.5.82 aus den rechten 3 Stellen 
  41 # des modifizierten Julianischen Datums (MJD) der .osm.pbf und einer Zufallszahl generiert
  42 str_FID_gbasemap="21011" 
  43 str_FID_gsperrung="21012" 
  44 str_Parameter="http://motoroute.de/sites/default/files/parameter.txt"
  45 
  46 # Maske aufbauen
  47 str_Maske_01="MotoRoute-OpenStreetMap (Version "$str_Version" / "$str_Version_Datum")"
  48 str_Maske_02="Mac OS X 10.11.1 (El Capitan) - Ubuntu-Linux 14.04 (32-bit)"
  49 str_Maske_03=""
  50 str_Maske_04="Geo-Daten von OpenStreetMap"
  51 str_Maske_05="Erstellt für MotoRoute.de von Gernot Skottke (motorkuh@web.de)"
  52 str_Maske_06=""
  53 str_Maske_07=""
  54 str_Maske_08="Lade die Daten Deiner Wunsch-Region im Format '.osm.pbf' unter"
  55 
  56 # Mac
  57 if [ "$(uname)" == "Darwin" ]; 
  58 then
  59 	str_Maske_09="http://download.geofabrik.de/"
  60 
  61 # Linux     
  62 elif [ "$(uname)" == "Linux" ]; 
  63 then
  64 	str_Maske_09="http://download.geofabrik.de/ in den Ordner dieses Scripts."
  65 fi
  66 str_Maske_10=""
  67 str_Maske_11="• Land-Boundaries (bounds) werden während der Laufzeit kompiliert."
  68 str_Maske_12="• Option: bounds.zip manuell in Ordner 'osm_mrkt' speichern."
  69 str_Maske_13="• Vorhandene bounds.zip werden alle 30 Tage neu geladen."
  70 str_Maske_14="• Sea-Boundaries (sea.zip) werden automatisch alle 30 Tage neu geladen."
  71 str_Maske_15="" 
  72 
  73 # Mac
  74 if [ "$(uname)" == "Darwin" ]; 
  75 then
  76 	str_Maske_16="Zieh die '.osm.pbf'-Datei der zu bauenden Region hier rein!"
  77 	str_Maske_17="Ich warte ..."
  78 # Linux     
  79 elif [ "$(uname)" == "Linux" ]; 
  80 then
  81 	str_Maske_16=""
  82 	str_Maske_17="Bist Du bereit?  (Abbruch mit [Ctrl]-C)"
  83 fi
  84 str_Maske_18=""
  85 str_Maske_19=""
  86 
  87 
  88 Mapbuilder() 
  89 {
  90 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
  91 # Zu bauende Region ermitteln
  92 
  93 # Mac
  94 if [ "$(uname)" == "Darwin" ]; 
  95 then
  96 	str_FileExt="$filename"
  97 	
  98 # Linux
  99 elif [ "$(uname)" == "Linux" ]; 
 100 then
 101 	echo "MRTK: Verwende zuerst gefundenen Dateinamen mit Endung '.osm.pbf'"
 102 	ls | grep ".osm.pbf$" > $pathname/region.txt
 103 	str_FileExt=$(head -n 1 $pathname/region.txt)
 104 	rm -rf $pathname/region.txt
 105 	if [ ! -f ./$str_FileExt ];
 106 	then
 107 		MissingOsmPbf
 108 	fi
 109 fi
 110 #echo "MRTK: Dateiname mit  Extension: "$str_FileExt
 111 
 112 # MRTK-Variablen setzen	{
 113 str_Startdatum=$(date "+%Y-%m-%d")
 114 str_Jahr=$(date "+%Y")
 115 str_JMT=$(date "+%Y%m%d")
 116 		
 117 # Name (ohne "-latest") und Kurzname der Region festlegen 
 118 str_File="${str_FileExt%%.*}"
 119 # echo "MRTK: Dateiname ohne Extension: "$str_File
 120 
 121 str_Region=${str_File%-*}
 122 # echo "MRTK: Region                  : "$str_Region
 123 	
 124 # Region in Teil-Worte zerlegen (rheinland-pfalz in $1:rheinland, $2:pfalz)
 125 IFS="-"
 126 set - $str_Region
 127 if [ "${#2}" -eq 0 ];
 128 then
 129 	str_RegionLaenge=${#str_Region}
 130 	if [ "${str_RegionLaenge}" -gt 2 ];
 131 	then
 132 		str_Region_kurz=${str_Region:0:3} # bayern = bay
 133 	else
 134 		str_Region_kurz=$str_Region 
 135 	fi
 136 else
 137 	str_Region_kurz=${1:0:1}${2:0:1} # rheinland-pfalz = rp
 138 fi
 139 
 140 IFS=" "
 141 # klein in GROSS Buchstaben
 142 str_Region=`echo "$str_Region" | tr '[:lower:]' '[:upper:]'`
 143 str_Region_kurz=`echo "$str_Region_kurz" | tr '[:lower:]' '[:upper:]'`
 144 
 145 echo " "
 146 echo "MRTK: Zu bauende Region: "$str_Region "("$str_Region_kurz")"
 147 
 148 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 149 # Zeitstempel '.osm.pbf'-Datei
 150 
 151 str_Region_Date=$("$osmconvert" "$pathname/$str_FileExt" --out-timestamp)
 152 str_Region_Date=${str_Region_Date:0:10}
 153 
 154 echo " "
 155 echo "MRTK: '"$str_FileExt"': "$str_Region_Date
 156 
 157 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 158 # Family-ID
 159 if [ "$conf_FIDb" == "" ]; 
 160 then
 161 	# Gregorian to Julian Day Number
 162 	gtojdn ${str_Region_Date:8:2} ${str_Region_Date:5:2} ${str_Region_Date:0:4} 
 163 	typeset -i num
 164 	num=$(($RANDOM % 9+1))
 165 	str_FID_gbasemap=$mjd$num
 166 	# echo str_FID_gbasemap : $str_FID_gbasemap
 167 	num=$num-1
 168 	str_FID_gsperrung=$mjd$num
 169 	# echo str_FID_gsperrung: $str_FID_gsperrung
 170 else
 171 	str_FID_gbasemap=$conf_FIDb
 172 	# echo str_FID_gbasemap : $str_FID_gbasemap
 173 	str_FID_gsperrung=$conf_FIDx
 174 	# echo str_FID_gsperrung: $str_FID_gsperrung
 175 fi
 176 
 177 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 178 # Prüfung Ordner /maps/
 179 
 180 echo " "
 181 if [ -d $MRTKPATH/maps ];
 182 then
 183 	echo "MRTK: Ordner /maps/ vorhanden"
 184 else
 185 	mkdir $MRTKPATH/maps/
 186 	echo "MRTK: Ordner /maps/ angelegt"
 187 fi
 188 
 189 if [ -d $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap ];
 190 then
 191 	rm -rf $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap
 192 fi
 193 
 194 mkdir $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap
 195 mkdir $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap/SD
 196 mkdir $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap/SD/GARMIN
 197 mkdir $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap/SD/GARMIN/GPX
 198 mkdir $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap/SD/GARMIN/POI	
 199 
 200 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 201 # 'style' ermitteln und laden
 202 
 203 style=$par_Style
 204 stylefolder=$(basename $style .zip)
 205 
 206 echo " "
 207 if [ -d $MRTKPATH/$stylefolder ];
 208 then
 209 	echo "MRTK: Style '"$style"' aktuell"
 210 else
 211 	rm -rf $MRTKPATH/style*
 212 	./wget -c $par_MRTK_Server$style -O $MRTKPATH/$style
 213 	
 214 	unzip -q $MRTKPATH/$style -d $MRTKPATH
 215 	if [ -f $MRTKPATH/$style ];
 216 	then
 217 		rm -rf $MRTKPATH/$style
 218 	fi
 219 	echo "MRTK: Style '"$style"' geladen und entpackt"
 220 fi
 221 
 222 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 223 # 'sperrung' ermitteln und laden
 224 
 225 sperrung=$par_Sperrung
 226 sperrungfolder=$(basename $sperrung .zip)
 227 
 228 echo " "
 229 if [ -d $MRTKPATH/$sperrungfolder ];
 230 then
 231 	echo "MRTK: Sperrung '"$sperrung"' aktuell"
 232 else
 233 	rm -rf $MRTKPATH/sperrung*
 234 	./wget -c $par_MRTK_Server$sperrung -O $MRTKPATH/$sperrung
 235 	unzip -q $MRTKPATH/$sperrung -d $MRTKPATH
 236 	if [ -f $MRTKPATH/$sperrung ];
 237 	then
 238 		rm -rf $MRTKPATH/$sperrung
 239 	fi
 240 	echo "MRKT: Sperrung '"$sperrung"' geladen und entpackt"
 241 fi
 242 
 243 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 244 # 'splitter' ermitteln und laden
 245 
 246 ./wget -L $par_mkgmap_Server"splitter.html" -q -O $MRTKPATH/tmp/splitter.html 
 247 
 248 grep -o 'splitter-r[0-9]*.zip' $MRTKPATH/tmp/splitter.html > $MRTKPATH/tmp/splitter.txt
 249 splitter=$(sed -n '1p' $MRTKPATH/tmp/splitter.txt)
 250 splitterfolder=$(basename $splitter .zip)
 251 
 252 echo " "
 253 if [ -d $MRTKPATH/$(basename $splitter .zip) ];
 254 then
 255 	echo "MRTK: '"$(basename $splitter .zip)"' aktuell"
 256 else
 257 	rm -rf $MRTKPATH/splitter-r*
 258 	# echo "MRTK: 'splitter' gelöscht."
 259 	./wget -c $par_mkgmap_Server$splitter -O $MRTKPATH/$splitter
 260 	unzip -q $MRTKPATH/$splitter -d $MRTKPATH
 261 	if [ -f $MRTKPATH/$splitter ];
 262 	then
 263 		rm -rf $MRTKPATH/$splitter
 264 	fi
 265 	echo "MRTK: '" $splitter"' geladen und entpackt"
 266 fi
 267 
 268 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 269 # 'mkgmap' ermitteln und laden"
 270 
 271 ./wget -L $par_mkgmap_Server"mkgmap.html" -q -O $MRTKPATH/tmp/mkgmap.html 
 272 
 273 grep -o 'mkgmap-r[0-9]*.zip' $MRTKPATH/tmp/mkgmap.html > $MRTKPATH/tmp/mkgmap.txt
 274 mkgmap=$(sed -n '1p' $MRTKPATH/tmp/mkgmap.txt)
 275 mkgmapfolder=$(basename $mkgmap .zip)
 276 	
 277 echo " "
 278 if [ -d $MRTKPATH/$(basename $mkgmap .zip) ];
 279 then
 280 	echo "MRTK: '"$(basename $mkgmap .zip)"' aktuell"
 281 else
 282 	rm -rf $MRTKPATH/mkgmap-r*
 283 	# echo "MRTK: 'mkgmap' gelöscht."
 284 	./wget -c $par_mkgmap_Server$mkgmap -O $MRTKPATH/$mkgmap
 285 	unzip -q $MRTKPATH/$mkgmap -d $MRTKPATH
 286 	if [ -f $MRTKPATH/$mkgmap ];
 287 	then
 288 		rm -rf $MRTKPATH/$mkgmap
 289 	fi
 290 	echo "MRTK '"$mkgmap"' geladen und entpackt"
 291 fi
 292 
 293 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 294 # gpsbabel
 295 
 296 echo " "
 297 echo "MRTK: gpsbabel: 'sperrung_TRACKS.gpx' konvertieren"
 298 
 299 if [ -f $MRTKPATH/$sperrungfolder/sperrung.osm ];
 300 then
 301 	rm -rf $MRTKPATH/$sperrungfolder/sperrung.osm
 302 fi
 303 
 304 "$gpsbabel" \
 305 	-i gpx -o osm \
 306 	$MRTKPATH/$sperrungfolder/sperrung_TRACKS.GPX \
 307 	$MRTKPATH/$sperrungfolder/sperrung.osm.tmp
 308 
 309 # Einfügen <tag k='highway' v='motorway' /> 
 310 sed -e 's/'\<'tag k='\''name'\''/'\<'tag k='\''highway'\'' v='\''motorway'\''\/'\>'\'$'\n    '\<'tag k='\''name'\''/g' \
 311 	$MRTKPATH/$sperrungfolder/sperrung.osm.tmp > $MRTKPATH/$sperrungfolder/sperrung.osm
 312 
 313 ### Nächste Zeile - Einfügen <tag k='highway' v='motorway' /> 
 314 # sed -e 's/'\<'tag k='\''name'\''/'\<'tag k='\''highway'\'' v='\''motorway'\''\/'\>'|    '\<'tag k='\''name'\''/g' \
 315 #	$MRTKPATH/$sperrungfolder/sperrung.osm > $MRTKPATH/$sperrungfolder/sperrung.osm.tmp
 316 ### Nächste Zeile - Ersetzen der temporären Pipe | in Zeilenumbrüche
 317 #sed -e 's/|/\'$'\n/g' $MRTKPATH/$sperrungfolder/sperrung.osm.tmp > ~/osm_mrkt/$sperrungfolder/sperrung.osm
 318 
 319 rm -rf $MRTKPATH/$sperrungfolder/sperrung.osm.tmp
 320 
 321 echo "MRTK: 'sperrung.osm' erzeugt und angepasst"
 322 
 323 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 324 # Sea-Boundaries 'sea.zip' laden
 325 
 326 ZipAge "sea"
 327 
 328 if [ "`echo "$zip_age < 100" | bc -l`" = "1" ] ; 
 329 then
 330 	echo "MRTK: Geladene 'sea.zip' wird verwendet"
 331 else
 332 	if [ "`echo "$zip_age == 999" | bc -l`" = "1" ] ; 
 333 	then
 334 		echo "MRTK: 'sea.zip' wird geladen"
 335 	else
 336 		echo "MRTK: Geladene 'sea.zip' zu alt - wird neu geladen"
 337 		rm -rf $MRTKPATH/sea.zip
 338 	fi		
 339 	./wget -c $par_Seazip_Server -O $MRTKPATH/sea.zip
 340 	echo "MRTK: 'sea.zip' geladen"
 341 	ZipAge
 342 fi
 343 
 344 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 345 # Boundaries kompilieren
 346 
 347 if ! [ -f $MRTKPATH/bounds.zip ];
 348 then
 349 
 350 	echo " "
 351 	echo "MRTK: Boundaries "$str_Region" kompilieren"
 352 
 353 	cd $MRTKPATH/tmp/
 354 
 355 	echo "MRTK: 1. Start osmconvert: "`date +%d.%m.%Y\ %H:%M:%S`
 356 	"$osmconvert" \
 357 		"$pathname/$str_FileExt" \
 358 		-o=$str_Region.o5m \
 359 		1> $MRTKPATH/tmp/osmconvert_$str_Region.log 2> $MRTKPATH/tmp/osmconvert_$str_Region.err.log
 360 	echo "MRTK:    Ende  osmconvert: "`date +%d.%m.%Y\ %H:%M:%S`
 361 	echo "MRTK: "$str_Region".o5m erzeugt"	
 362 
 363 	echo " "
 364 	echo "MRTK: 2. Start osmfilter: "`date +%d.%m.%Y\ %H:%M:%S`
 365 	"$osmfilter" \
 366 			$MRTKPATH/tmp/$str_Region.o5m \
 367 			--keep-nodes= \
 368 			--keep-ways-relations="boundary=administrative =postal_code postal_code=" \
 369 			-o=$str_Region-boundaries.o5m \
 370 			1> $MRTKPATH/tmp/osmfilter_$str_Region.log 2> $MRTKPATH/tmp/osmfilter_$str_Region.err.log
 371 	echo "MRTK:    Ende  osmfilter: "`date +%d.%m.%Y\ %H:%M:%S`
 372 	echo "MRTK:" $str_Region"-boundaries.o5m erzeugt"
 373 
 374 	# Freies RAM neu zuteilen
 375 	RAMfree
 376 
 377 	echo " "
 378 	echo "MRTK: 3. Start Boundary-Preprocessor: "`date +%d.%m.%Y\ %H:%M:%S`" (RAM: "$val_RAM"m)"
 379 	java -Xmx$val_RAM"m" -cp $MRTKPATH/$mkgmapfolder/mkgmap.jar \
 380 		$par_Preprocessor \
 381 		$MRTKPATH/tmp/$str_Region-boundaries.o5m \
 382 		$MRTKPATH/bounds \
 383 		1> $MRTKPATH/tmp/$mkgmapfolder"_BoundaryPreprocessor_"$str_Region.log 2> $MRTKPATH/tmp/$mkgmapfolder"_BoundaryPreprocessor_"$str_Region.err.log
 384 	echo "MRTK:    Ende  Boundary-Preprocessor: "`date +%d.%m.%Y\ %H:%M:%S`
 385 	echo "MRTK: Boundaries "$str_Region" erzeugt"
 386 
 387 	rm -rf $MRTKPATH/tmp/*.o5m
 388 	echo "MRTK: Temporäre '.o5m'-Dateien gelöscht"
 389 	
 390 	bounds_zip=""
 391 	
 392 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 393 # ODER bei vorhandener 'bounds.zip' wie 'sea.zip' ueberpruefen und alle 30 Tage neu laden 
 394 else
 395 	ZipAge "bounds"
 396 	
 397 	if [ "`echo "$zip_age < 100" | bc -l`" = "1" ] ; 
 398 	then
 399 		echo "MRTK: Geladene 'bounds.zip' wird verwendet"
 400 	else
 401 		if [ "`echo "$zip_age == 999" | bc -l`" = "1" ] ; 
 402 		then
 403 			echo "MRTK: 'bounds.zip' wird geladen"
 404 		else
 405 			echo "MRTK: Geladene 'bounds.zip' zu alt - wird neu geladen"
 406 			rm -rf $MRTKPATH/bounds.zip
 407 		fi
 408 		${par_Seazip_Server//sea/bounds}
 409 		./wget -c ${par_Seazip_Server//sea/bounds} -O $MRTKPATH/bounds.zip
 410 		echo "MRTK: 'bounds.zip' geladen"
 411 		ZipAge
 412 	fi
 413 	bounds_zip=".zip"
 414 
 415 fi
 416 
 417 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 418 # splitter
 419 
 420 rm -rf $MRTKPATH/tiles
 421 mkdir $MRTKPATH/tiles
 422 
 423 # Freies RAM neu zuteilen
 424 RAMfree
 425 
 426 echo " " 
 427 echo "MRTK: splitte '"$str_FileExt"'"
 428 echo "MRTK: Start splitter: "`date +%d.%m.%Y\ %H:%M:%S`" (RAM: "$val_RAM"m)"
 429 
 430 cd $MRTKPATH/
 431 
 432 if [ -f $MRTKPATH/areas.list ];
 433 then
 434 	cp $MRTKPATH/areas.list $MRTKPATH/tiles/areas.list
 435 	str_splitfile="--split-file=areas.list"
 436 	#echo $str_splitfile
 437 	echo "MRTK: 'areas.list' wird verwendet"
 438 else
 439 	str_splitfile=""
 440 fi
 441 
 442 java -Xmx$val_RAM"m" -jar $MRTKPATH/$splitterfolder/splitter.jar \
 443 	$str_splitfile \
 444 	--max-nodes=1600000 \
 445 	--output-dir=./tiles \
 446 	"$pathname/$str_FileExt" \
 447 	> $MRTKPATH/tmp/$splitterfolder.log
 448 
 449 # cd -- "$(dirname -- "$0")"
 450 # echo "Ich bin wieder in : "$(pwd)
 451 
 452 echo "MRTK: Ende  splitter: "`date +%d.%m.%Y\ %H:%M:%S`
 453 
 454 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 455 # mkgmap: gbasemap 'gmapsupp.img'"
 456 
 457 echo " "
 458 echo "MRTK: baue Karten-Kacheln "$str_Region
 459 
 460 mkdir $MRTKPATH/tiles/gbasemap
 461 
 462 #cp $MRTKPATH/$stylefolder/motorout.TYP $MRTKPATH/tiles/gbasemap/motorout.TYP
 463 cp $MRTKPATH/$stylefolder/motorout.txt $MRTKPATH/tiles/gbasemap/motoroute.txt
 464 echo "MRTK: TYP-File kopiert nach '/osm_mrtk/tiles/gbasemap'"
 465 
 466 sed 's/FID=21011/FID='$str_FID_gbasemap'/' \
 467 	$MRTKPATH/tiles/gbasemap/motoroute.txt > $MRTKPATH/tiles/gbasemap/motorout.txt
 468 rm -rf $MRTKPATH/tiles/gbasemap/motoroute.txt
 469 echo "MRTK: Family-ID (FID) im TYP-File geändert in $str_FID_gbasemap"
 470 	
 471 rm -rf $MRTKPATH/tiles/gbasemap/gmapsupp
 472 
 473 cd $MRTKPATH
 474 
 475 if [ $str_Region = "EUROPE" ];
 476 then
 477 	str_gmapsupp=""
 478 else
 479 	str_gmapsupp="--gmapsupp"
 480 fi
 481 
 482 # Freies RAM neu zuteilen
 483 RAMfree
 484 
 485 echo "MRTK: Start mkgmap: "`date +%d.%m.%Y\ %H:%M:%S`" (RAM: "$val_RAM"m)"
 486 
 487 # Alternative:	--generate-sea:multipolygon,extend-sea-sectors,close-gaps=6000,floodblocker \
 488 
 489 java -Xmx$val_RAM"m" -jar $MRTKPATH/$mkgmapfolder/mkgmap.jar \
 490 	--bounds=./bounds$bounds_zip \
 491 	--precomp-sea=./sea.zip \
 492 	--output-dir=./tiles/gbasemap/ \
 493 	--max-jobs \
 494 	--style-file=./$stylefolder/motorout_style/ \
 495 	--description="OSM MRTK "$str_Region" "$str_Region_Date" "$str_FID_gbasemap \
 496 	--country-name=$str_Region \
 497 	--country-abbr=$str_Region_kurz \
 498 	--family-id=$str_FID_gbasemap \
 499 	--product-id=1 \
 500 	--series-name="OSM MRTK "$str_Region" "$str_Region_Date" "$str_FID_gbasemap \
 501 	--family-name="OSM MRTK "$str_Region" "$str_Region_Date" "$str_FID_gbasemap \
 502 	--area-name=$str_Region_kurz \
 503 	--code-page=1250 \
 504 	--latin1 \
 505 	--mapname=63240001 \
 506 	--draw-priority=10 \
 507 	--tdbfile \
 508 	--add-pois-to-areas \
 509 	--link-pois-to-ways \
 510 	--remove-short-arcs \
 511 	--levels=0:24,1:22,2:21,3:19,4:18,5:16 \
 512 	--location-autofill=is_in,nearest \
 513 	--merge-lines \
 514 	--index \
 515 	--net \
 516 	--route \
 517 	$conf_nsis \
 518 	$str_gmapsupp \
 519 	./tiles/*.osm.pbf \
 520 	./tiles/gbasemap/motorout.txt \
 521 	1> ./tmp/$mkgmapfolder"_"$str_Region.log 2> ./tmp/$mkgmapfolder"_"$str_Region.err.log
 522 
 523 echo "MRTK: Ende  mkgmap: "`date +%d.%m.%Y\ %H:%M:%S`
 524 
 525 # cd -- "$(dirname -- "$0")"
 526 # echo "Ich bin wieder in : "$(pwd)
 527 
 528 if [ $str_Region = "EUROPE" ];
 529 then
 530 	echo "MRTK: Vollständige Abdeckung für EUROPE größer als 4 GB!"
 531 	echo "MRTK: Bitte verwende Garmin MapInstall®"
 532 else
 533 	mv $MRTKPATH/tiles/gbasemap/gmapsupp.img $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap/gmapsupp.img
 534 	echo "MRTK: gbasemap 'gmappsupp.img' erzeugt und kopiert nach:"
 535 	echo "MRTK: '/osm_mrtk/maps/"$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap"/gmapsupp.img'"
 536 fi
 537 
 538 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 539 # mkgmap: gsperrung
 540 
 541 echo " "
 542 echo "MRTK: baue Karten-Kacheln für Strecken-Sperrungen"
 543 
 544 mkdir $MRTKPATH/tiles/gsperrung
 545 
 546 #cp $MRTKPATH/$stylefolder/sperrung.TYP $MRTKPATH/tiles/gsperrung/sperrung.TYP
 547 cp $MRTKPATH/$stylefolder/sperrung.txt $MRTKPATH/tiles/gsperrung/sperrungen.txt
 548 echo "MRTK: TYP-File kopiert nach '/osm_mrtk/tiles/gsperrung'"
 549 
 550 sed 's/FID=21012/FID='$str_FID_gsperrung'/' \
 551 	$MRTKPATH/tiles/gsperrung/sperrungen.txt > $MRTKPATH/tiles/gsperrung/sperrung.txt
 552 rm -rf $MRTKPATH/tiles/gsperrung/sperrungen.txt
 553 echo "MRTK: Family-ID (FID) im TYP-File geändert in $str_FID_gsperrung"
 554 
 555 # Freies RAM neu zuteilen
 556 RAMfree
 557 
 558 cd $MRTKPATH
 559 		
 560 echo "MRTK: Start mkgmap: "`date +%d.%m.%Y\ %H:%M:%S`" (RAM: "$val_RAM"m)"
 561 
 562 java -Xmx$val_RAM"m" -jar $MRTKPATH/$mkgmapfolder/mkgmap.jar \
 563 	--output-dir=./tiles/gsperrung/ \
 564 	--max-jobs \
 565 	--style-file=./$stylefolder/sperrung_style/ \
 566 	--description="osm mrtk sperrungen "$str_Startdatum" "$str_FID_gsperrung \
 567 	--country-name=Sperrungen \
 568 	--country-abbr=XX \
 569 	--family-id=$str_FID_gsperrung \
 570 	--product-id=1 \
 571 	--series-name="osm mrtk sperrungen "${sperrungfolder: -8}" "$str_FID_gsperrung \
 572 	--family-name="osm mrtk sperrungen "${sperrungfolder: -8}" "$str_FID_gsperrung \
 573 	--area-name=XX \
 574 	--code-page=1250 \
 575 	--latin1 \
 576 	--mapname=64240001 \
 577 	--draw-priority=20 \
 578 	--add-pois-to-areas \
 579 	--gmapsupp \
 580 	--location-autofill=0 \
 581 	--transparent \
 582 	./$sperrungfolder/sperrung.osm \
 583 	./tiles/gsperrung/sperrung.txt \
 584 	1> ./tmp/$mkgmapfolder"_"sperrung.log 2> ./tmp/$mkgmapfolder"_"sperrung.err.log
 585 
 586 echo "MRTK: Ende  mkgmap: "`date +%d.%m.%Y\ %H:%M:%S`
 587 
 588 cd -- "$(dirname -- "$0")"
 589 #echo "Ich bin wieder in : "$(pwd)
 590 
 591 mv $MRTKPATH/tiles/gsperrung/gmapsupp.img \
 592 	$MRTKPATH/$sperrungfolder/gmapsupp.img
 593 
 594 echo "MRTK: gsperrung 'gmapsupp.img' erzeugt und kopiert nach"
 595 echo "MRTK: '/osm_mrtk/sperrung/gmapsupp.img'"	
 596 
 597 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 598 # gmt: 2x 'gmapsupp.img' zusammenkleben
 599 
 600 echo " " 
 601 echo "MRTK: gmt: gbasemap + gsperrung"
 602 
 603 if [ "$str_Region" = "EUROPE" ];
 604 then
 605 	echo "MRTK: Vollständige Abdeckung für EUROPE größer als 4 GB!"
 606 	echo "MRTK: Bitte verwende Garmin MapInstall®"
 607 else	
 608 	"$gmt" \
 609 		-jo $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap/SD/GARMIN/gmapsupp.img \
 610 		$MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap/gmapsupp.img \
 611 		$MRTKPATH/$sperrungfolder/gmapsupp.img \
 612 		1> $MRTKPATH/tmp/gmt.log  2> $MRTKPATH/tmp/gmt.err.log
 613 
 614 	echo "MRTK: gbasemap + gsperrung 'gmapsupp.img' kopiert nach"
 615 	echo "MRTK: '/osm_mrtk/maps/"$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap"/SD/GARMIN/gmapsupp.img'"
 616 fi	
 617 
 618 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 619 # sperrung_POI.gpi kopieren
 620 
 621 cp $MRTKPATH/$sperrungfolder/sperrung_POI.gpi \
 622 	$MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap/SD/GARMIN/POI/sperrung_POI.GPI
 623 
 624 echo " "
 625 echo "MRTK: 'sperrung_POI.GPI' kopiert nach"
 626 echo "MRTK: '/osm_mrtk/maps/"$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap"/SD/GARMIN/POI'"
 627 
 628 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 629 # gmapi-builder (wenn in Konfigurations-Datei Zeile 4 eingetragen ODER Mac)
 630 
 631 if ! [ -z "$gmapibuilder" ] || [ "$(uname)" == "Darwin" ];
 632 then
 633 	echo " "
 634 	echo "MRTK: Karten für Garmin BaseCamp® (Mac) aufbereiten"
 635 
 636 	rm -rf $MRTKPATH/maps/$str_Region/'osm mrtk '$str_Region' '$str_Startdatum' '$str_FID_gbasemap'.gmapi'
 637 
 638 	# Wichtiger Hinweis:
 639 	# Versionen des gmapi-builder unter
 640 	# https://bitbucket.org/berteun/gmapibuilder/downloads/gmapi-builder.tar.gz
 641 	# oder
 642 	# http://svn.mkgmap.org.uk/mkgmap/trunk/scripts/gmapi-builder.py
 643 	# sind ohne Option -i und können keinen Adress-Index aufbauen!!!
 644 	#
 645 	# Zum modifizierten gmapi-builder gibt es hier Informationen:
 646 	# http://comments.gmane.org/gmane.comp.gis.openstreetmap.mkgmap.devel/3442
 647 	# Ehemals Download unter:
 648 	# http://cache.gmane.org//gmane/comp/gis/openstreetmap/mkgmap/devel/3472-001.bin
 649 	# Modifizierte Version Download unter:
 650 	# http://motoroute.de/sites/default/files/gmapi-builder-index-py.txt
 651 	# umbenennen in gmapi-builder.py
 652 	#
 653 	# Standard-Versionen des gmapi-builder wie folgt modifizieren:
 654 	# suchen nach:
 655 	# help="the name of the base img")
 656 	#
 657 	# folgenden Code unter die gefundene Zeile einfügen:
 658 	#
 659 	#    oparser.add_option("-i", "--idxfile", dest="mdx",
 660 	#            help="the name of this mapset's index (mdx) file")
 661 	#    oparser.add_option("-m", "--mdrfile", dest="mdr",
 662 	#            help="the name of this mapset's MDR file")
 663 	#
 664 	# Info: gmapi-builder erstellt .gmapi-Datei mit dem Family- und Series-Name
 665 
 666 	"$gmapibuilder" \
 667 		-t $MRTKPATH/tiles/gbasemap/osmmap.tdb \
 668 		-b $MRTKPATH/tiles/gbasemap/osmmap.img \
 669 		-i $MRTKPATH/tiles/gbasemap/osmmap.mdx \
 670 		-m $MRTKPATH/tiles/gbasemap/osmmap_mdr.img \
 671 		-s $MRTKPATH/tiles/gbasemap/motorout.typ \
 672 		$MRTKPATH/tiles/gbasemap/*.img \
 673 		-o $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap \
 674 		1> $MRTKPATH/tmp/gmapi-builder.log  2> $MRTKPATH/tmp/gmapi-builder.err.log
 675 		
 676 	echo "MRTK: 'osm mrtk "$str_Region" "$str_Startdatum" "$str_FID_gbasemap".gmapi' erzeugt"
 677 
 678 fi
 679 
 680 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 681 # pimp_nsis
 682 
 683 if [ "$conf_nsis" = "--nsis" ];
 684 then
 685 	echo
 686 	#echo "MRTK: NSIS-Konfiguration 'osmmap.nsi' anpassen"
 687 	# Installation der Kartenkacheln in Nsis-Installer entfernen
 688 	grep -i -v "File .6324[0-9]*.img" $MRTKPATH/tiles/gbasemap/osmmap.nsi > $MRTKPATH/tiles/gbasemap/osmmap_2.nsi
 689 	# Section in .nsi-Script ergaenzen, um Kartenkacheln zu kopieren
 690 	# Section -MapInstall
 691 	# CopyFiles /SILENT /FILESONLY "$EXEDIR\..\..\tiles\gbasemap\6324*.img" "$INSTDIR"
 692 	# SectionEnd
 693 	echo >> $MRTKPATH/tiles/gbasemap/osmmap_2.nsi
 694 	echo Section "MapInstall" >> $MRTKPATH/tiles/gbasemap/osmmap_2.nsi
 695 	echo "  "CopyFiles /SILENT /FILESONLY "\$EXEDIR\gbasemap\6324*.img" "\$INSTDIR" >> $MRTKPATH/tiles/gbasemap/osmmap_2.nsi
 696 	echo SectionEnd >> $MRTKPATH/tiles/gbasemap/osmmap_2.nsi
 697 
 698 	# Mac
 699 	if [ "$(uname)" == "Darwin" ];
 700 	then
 701 		# Bitmap, Icon, Kopf in nsis-Konfiguration einspielen
 702 		bmp="$(dirname -- "$0")/nsis/MRTKNsis.bmp"
 703 		cp "$bmp" $MRTKPATH/tiles/gbasemap/MRTKNsis.bmp
 704 	
 705 		ico="$(dirname -- "$0")/nsis/MRTKIcon.ico"
 706 		cp "$ico" $MRTKPATH/tiles/gbasemap/MRTKIcon.ico
 707 	
 708 		nsis1="$(dirname -- "$0")/nsis/osmmap_1.nsi"
 709 		cp "$nsis1" $MRTKPATH/tiles/gbasemap/osmmap_1.nsi
 710 	# Linux
 711 	elif [ "$(uname)" == "Linux" ]; 	
 712 	then	
 713 		echo '!define MUI_WELCOMEPAGE_TITLE "MotoRoute-OpenStreetMap"' >> $MRTKPATH/tiles/gbasemap/osmmap_1.nsi
 714 		echo '!define MUI_FINISHPAGE_TITLE "MotoRoute-OpenStreetMap"' >> $MRTKPATH/tiles/gbasemap/osmmap_1.nsi
 715 	fi
 716 	rm -rf $MRTKPATH/tiles/gbasemap/osmmap.nsi
 717 	cat $MRTKPATH/tiles/gbasemap/osmmap_1.nsi $MRTKPATH/tiles/gbasemap/osmmap_2.nsi > $MRTKPATH/tiles/gbasemap/osmmap.nsi 2>>/dev/null
 718 	rm -rf $MRTKPATH/tiles/gbasemap/osmmap_*.nsi
 719 	echo "MRTK: NSIS-Konfiguration 'osmmap.nsi' angepasst"
 720 
 721 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 722 # makensis
 723 
 724 	# Mac
 725 	if [ "$(uname)" == "Darwin" ];
 726 	then
 727 		# Wine.app installiert
 728 		if [ -d /Applications/Wine.app ];
 729 		then
 730 			WINEPATH=/Applications/Wine.app/Contents/Resources/bin/wine
 731 		fi
 732 		MAKENSISPATH="$(dirname -- "$0")/nsis-2.46/makensis.exe"
 733 		echo "MRTK: erzeuge Windows-Installer für Garmin BaseCamp©"
 734 		echo "MRTK: Start makensis: "`date +%d.%m.%Y\ %H:%M:%S`
 735 		"$WINEPATH" "$MAKENSISPATH" "Z:/$MRTKPATH/tiles/gbasemap/osmmap.nsi" \
 736 			1> $MRTKPATH/tmp/makensis.log 2> $MRTKPATH/tmp/makensis.err.log
 737 	# Linux
 738 	elif [ "$(uname)" == "Linux" ]; 	
 739 	then
 740 		# MAKENSIS installiert=?
 741 		if ! [ -z "echo $(which makensis)" ];
 742 		then
 743 			MAKENSISPATH=$(which makensis)
 744 			echo "MRTK: erzeuge Windows-Installer für Garmin BaseCamp©"
 745 			echo "MRTK: Start makensis: "`date +%d.%m.%Y\ %H:%M:%S`
 746 			"$MAKENSISPATH" $MRTKPATH/tiles/gbasemap/osmmap.nsi \
 747 				1> $MRTKPATH/tmp/makensis.log  2> $MRTKPATH/tmp/makensis.err.log	
 748 		fi
 749 	fi
 750 	if ! [ "$MAKENSISPATH" == "" ];
 751 	then
 752 		echo "MRTK: Ende  makensis: "`date +%d.%m.%Y\ %H:%M:%S`
 753 		mv "$MRTKPATH/tiles/gbasemap/OSM MRTK $str_Region $str_Region_Date $str_FID_gbasemap.exe" \
 754 			$MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap >/dev/null
 755 		echo "MRTK: Windows-Installer für Garmin BaseCamp© erzeugt"		
 756 	fi
 757 fi
 758 
 759 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 760 # gbasemap
 761 
 762 # Linux (generell)
 763 # ODER
 764 # QLandkarte GT.app vorhanden? (Mac) 
 765 # ODER 
 766 # Nsis-Installer soll erzeugt werden (optional mrtkconf.txt)
 767 
 768 if [ "$(uname)" == "Linux" ] || [ -d /Applications/QLandkarte\ GT.app ] || [ "$conf_nsis" = "--nsis" ];
 769 then
 770 	echo " "
 771 	echo "MRTK: gbasemap - QLandkarte GT® - http://www.qlandkarte.org"
 772 	mv $MRTKPATH/tiles/gbasemap $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap/gbasemap
 773 	# Nsis-Installer soll erzeugt werden (optional mrtkconf.txt; Linux generell)
 774 	if [ "$conf_nsis" = "--nsis" ];
 775 	then
 776 		echo "MRTK: gbasemap - Karten-Kacheln für Windows-Installer"
 777 	fi
 778 	echo "MRTK: verschoben nach "
 779 	echo "MRTK: '$MRTKPATH/maps/"$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap"/gbasemap'"
 780 fi
 781 
 782 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 783 # Installation auf SD-Karte
 784 
 785 echo " "
 786 if [ "$str_Region" = "EUROPE" ];
 787 then
 788 	echo "MRTK: Vollständige Abdeckung für Region 'europe' größer als 4 GB."
 789 	echo "MRTK: Bitte verwende Garmin MapInstall®."
 790 else
 791 	echo "MRTK: Bitte kopiere den Ordner "
 792 	echo "MRTK: '$MRTKPATH/maps/"$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap"/SD/GARMIN'"
 793 	echo "MRTK: auf eine ausreichend große SD-Karte!"
 794 
 795 #	# Mac
 796 #	if [ "$(uname)" == "Darwin" ]; 
 797 #	then		
 798 #		# say "Bitte kopiere den Ordner GARMIN auf eine ausreichend große SD-Karte"
 799 #		# osascript -e 'tell app "Terminal" to display dialog "Bitte kopiere den Ordner $MRTKPATH/maps/'$str_Region'_'$str_Region_Date'_'$str_FID_gbasemap'/SD/GARMIN auf eine ausreichend grosse SD-Karte!"'
 800 #		
 801 #		rv=`$CD ok-msgbox --no-cancel --title "MotoRoute-OpenStreetMap" --icon folder \
 802 #			--text "$str_Region $str_Region_Date (Family-ID $str_FID_gbasemap)" \
 803 #			--informative-text "Bitte kopiere den Ordner '$MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap/SD/GARMIN' auf eine ausreichend große SD-Karte!" \
 804 #			--float --timeout 30`
 805 #
 806 #		# open $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap/SD
 807 #
 808 #	# Linux
 809 #	elif [ "$(uname)" == "Linux" ]; 	
 810 #	then
 811 #		xmessage "Bitte kopiere den Ordner '$MRTKPATH/maps/"$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap"/SD/GARMIN' auf eine ausreichend grosse SD-Karte!" -nearmouse
 812 #	fi
 813 fi	
 814 
 815 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 816 # Cleanup
 817 
 818 if [ -d $MRTKPATH/tmp ];
 819 then
 820 	# Linux
 821 	if [ "$(uname)" == "Linux" ];
 822 	then
 823 		rm -rf ./wget
 824 	fi
 825 
 826 	# Diese zu löschende Meldung erscheint im 'makensis.err.log':
 827 	# Wine cannot find the FreeType font library.  To enable Wine to
 828 	# use TrueType fonts please install a version of FreeType greater than
 829 	# or equal to 2.0.5.
 830 	# http://www.freetype.org
 831 	rm -rf $MRTKPATH/tmp/makensis.err.log
 832 
 833 	rm -rf $MRTKPATH/tmp/*.txt
 834 	rm -rf $MRTKPATH/tmp/*.html
 835 	rm -rf $MRTKPATH/tmp/*.o5m
 836 
 837 	find $MRTKPATH/tmp/ -type f -size 0 | xargs rm
 838 
 839 	if [ -d $MRTKPATH/tiles ];
 840 	then
 841 		rm -rf $MRTKPATH/tiles		
 842 	fi
 843 
 844 	if [ -d $MRTKPATH/bounds ];
 845 	then
 846 		rm -rf $MRTKPATH/bounds	
 847 	fi
 848 
 849 	if [ -d $MRTKPATH/logs ];
 850 	then
 851 		rm -rf $MRTKPATH/logs		
 852 	fi
 853 
 854 	mv $MRTKPATH/tmp $MRTKPATH/logs 
 855 
 856 	echo " "
 857 	echo "MRTK: Temporäre Dateien gelöscht"
 858 fi
 859 
 860 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 861 # Copyright/Hinweise
 862 
 863 echo " "
 864 echo "MRTK: Daten von OpenStreetMap"
 865 echo "MRTK: http://www.openstreetmap.org/"
 866 echo "MRTK: Veröffentlicht unter ODbL"
 867 echo "MRTK: http://opendatacommons.org/licenses/odbl/"
 868 echo "MRTK: Map created with mkgmap"
 869 
 870 echo " "
 871 echo "MRTK: Deine "$str_Region"-Karte ist fertig!"
 872 echo "MRTK: Präsentiert von MotoRoute - http://motoroute.de"
 873 
 874 # Mac
 875 if [ "$(uname)" == "Darwin" ]; 
 876 then
 877 	# Maps-Ordner öffnen
 878 	open $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap
 879 	# gmapi-Datei öffnen
 880 	# open $MRTKPATH/maps/$str_Region"_"$str_Region_Date"_"$str_FID_gbasemap/OSM\ MRTK\ $str_Region\ $str_Region_Date\ $str_FID_gbasemap.gmapi
 881 	
 882 	# say "Deine $str_Region-Karte ist fertig! - Präsentiert von MotoRoute - http://motoroute. d e"
 883 	# osascript -e 'tell app "Terminal" to display dialog "Deine '$str_Region'-Karte ist fertig! - Praesentiert von MotoRoute - http://motoroute.de"'
 884 		
 885 	$CD bubble --debug --titles "MotoRoute-OpenStreetMap" \
 886 		--texts "Deine "$str_Region"-Karte ist fertig." \
 887 		--border-colors "a25f0a" \
 888 		--text-colors "000000" \
 889 		--background-tops "dfa723" \
 890 		--background-bottoms "fdde88" \
 891 		--icon-files "appIcon.icns" \
 892 		--timeout 30
 893 	
 894 
 895 
 896 # Linux
 897 elif [ "$(uname)" == "Linux" ]; 	
 898 then 
 899 	xmessage "Deine "$str_Region"-Karte ist fertig! - Praesentiert von MotoRoute - http://motoroute.de" -nearmouse
 900 fi	
 901 	
 902 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 903 fileexist=0
 904 
 905 filename=""
 906 
 907 exit
 908 }
 909 
 910 
 911 ZipAge()
 912 {
 913 if [ -f $MRTKPATH/$1.zip ];
 914 then
 915 	unzip -q -o $MRTKPATH/$1.zip version.txt -d $MRTKPATH/tmp
 916 	mv $MRTKPATH/tmp/version.txt $MRTKPATH/tmp/$1.txt
 917 	zip=$(sed -n '1p' $MRTKPATH/tmp/$1.txt)
 918 	echo
 919 	echo "MRTK: '"$1".zip': "$zip
 920 	# '$1.zip' älter als 30 Tage?
 921 	if [ "`echo "$zip < $str_JMT" | bc -l`" = "1" ] ; 
 922 	then
 923 		zip_age=$[$str_JMT-$zip]
 924 	fi
 925 else
 926 	# '$1.zip' nicht vorhanden!
 927 	zip_age=999
 928 fi
 929 }
 930 
 931 
 932 
 933 RAMfree()
 934 {
 935 # Freies RAM neu zuteilen
 936 # Mac
 937 if [ "$(uname)" == "Darwin" ]; 
 938 then
 939 	free="$(( $(vm_stat | grep free | awk '{ print $3 }' | sed 's/\.//')*4096/1048576 ))"
 940 	inactive="$(( $(vm_stat | grep inactive | awk '{ print $3 }' | sed 's/\.//')*4096/1048576 ))"
 941 	let val_RAM=$free+$inactive
 942 # Linux     
 943 elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; 
 944 then
 945 	# Erzeugt der Befehl "free -mt" die Ausgabe "Speicher:" oder "Mem:"?
 946 	if [ $(free -mt | awk '/^Speicher:/{print $1}') ];
 947 	then
 948 		val_RAM=$(free -mt | awk '/^Speicher:/{print $4}')
 949 		# Tests in Version 1.5.83 liefen nur mit 70% des freien RAM
 950 		val_RAM=$(( $val_RAM * 7/10 ))
 951 	elif [ $(free -mt | awk '/^Mem:/{print $1}') ];
 952 	then
 953 		val_RAM=$(free -mt | awk '/^Mem:/{print $4}')
 954 		# Tests in Version 1.5.83 liefen nur mit 70% des freien RAM
 955 		val_RAM=$(( $val_RAM * 7/10 ))
 956 	fi
 957 fi
 958 return $val_RAM
 959 }
 960 
 961 
 962 
 963 MissingOsmPbf()
 964 {
 965 echo " "
 966 echo "  ##################################################################"
 967 echo "  ### Vermisse '.osm.pbf'-Datei im Verzeichnis des Scripts.      ###"
 968 echo "  ### Ausführung wird beendet.                                   ###"
 969 echo "  ###                                                            ###"
 970 echo "  ### Bitte lade zuerst Deine Wunsch-Region im Format '.osm.pbf' ###"
 971 echo "  ### unter http://download.geofabrik.de/                        ###"
 972 echo "  ##################################################################"
 973 echo " "
 974 
 975 # Mac
 976 if [ "$(uname)" == "Darwin" ]; 
 977 then		
 978 	# say "Vermisse osm.pbf-Datei. Ausfuehrung wird beendet."
 979 	osascript -e 'tell app "Terminal" to display dialog "Vermisse '.osm.pbf'-Datei. Ausfuehrung wird beendet"'
 980 
 981 # Linux
 982 elif [ "$(uname)" == "Linux" ]; 	
 983 then 
 984 	xmessage "Vermisse '.osm.pbf'-Datei. Ausfuehrung wird beendet" -nearmouse
 985 fi
 986 }
 987 
 988 
 989 
 990 gtojdn() 
 991 {
 992 # https://blog.sleeplessbeastie.eu/2013/05/17/how-to-convert-date-to-julian-day-number-using-shell-script/
 993 # gtojdn
 994 # convert Gregorian calendar date to Julian Day Number
 995 #
 996 # parameters:
 997 # day
 998 # month
 999 # year
1000 # 
1001 # example:
1002 # gtojdn 15 5 2013
1003 #
1004 # notes:
1005 # algorithm is simplified 
1006 # as it will return 2456428 instead of 2456427.5
1007 if [ $2 -le 2 ]; then
1008 	y=$(($3 - 1))
1009     m=$(($2 + 12))
1010 else
1011 	y=$3
1012     m=$2
1013 fi
1014 d=$1
1015 
1016 x=$(echo "2 - $y / 100 + $y / 400" | bc)
1017 x=$(echo "($x + 365.25 * ($y + 4716))/1" | bc) 
1018 x=$(echo "($x + 30.6001 * ($m + 1))/1" | bc)
1019 jd=$(echo "($x + $d - 1524.5 + 0.5)/1" | bc) # added 0.5
1020 mjd=${jd:4:3}
1021 return $mjd                                           
1022 }
1023 
1024 
1025 clear
1026 
1027 # Mac
1028 # if [ "$(uname)" == "Darwin" ]; 
1029 # then
1030 #  	say "Hallo $USER"
1031 # fi
1032 
1033 cd -- "$(dirname -- "$0")"
1034 
1035 # Mac
1036 if [ "$(uname)" == "Darwin" ]; 
1037 then
1038 	CD="CocoaDialog.app/Contents/MacOS/CocoaDialog"
1039 
1040 	if ! [ $(basename -- "$0") = 'script' ];
1041 	then
1042 		clear
1043 		echo "Dieses Script kann nur in der {MotoRoute-OpenStreetMap.app} ausgeführt werden."
1044 		exit
1045 	fi
1046 
1047 	if [ $filename == ""];
1048 	then
1049 		if [ ! "$@" = '' ];
1050 		then
1051 			filename=$(basename "$@")
1052 			pathname=$(dirname "$@")
1053 		else
1054 			echo "$str_Maske_01 "
1055 			echo "$str_Maske_02 "  
1056 			echo "$str_Maske_03 "
1057 			echo "$str_Maske_04 " 
1058 			echo "$str_Maske_05 " 
1059 			echo "$str_Maske_06 " 
1060 			echo "$str_Maske_07 " 
1061 			echo "$str_Maske_08 " 
1062 			echo "$str_Maske_09 " 
1063 			echo "$str_Maske_10 " 
1064 			echo "$str_Maske_11 " 
1065 			echo "$str_Maske_12 " 
1066 			echo "$str_Maske_13 " 
1067 			echo "$str_Maske_14 " 
1068 			echo "$str_Maske_15 " 
1069 			echo "$str_Maske_16 " 
1070 			echo "$str_Maske_17 " 
1071 			echo "$str_Maske_18 "
1072 			echo "$str_Maske_19 "
1073     
1074     		# Mac
1075  			# if [ "$(uname)" == "Darwin" ]; 
1076 			# then
1077 			#	say "Bist Du bereit?"
1078  			# fi
1079 		fi
1080 	fi
1081 	
1082 # Linux     
1083 elif [ "$(uname)" == "Linux" ]; 
1084 then
1085 	pathname=$(dirname "$0")
1086 	echo "$str_Maske_01 "
1087 	echo "$str_Maske_02 "
1088 	echo "$str_Maske_03 "
1089 	echo "$str_Maske_04 "
1090 	echo "$str_Maske_05 "
1091 	echo "$str_Maske_06 "
1092 	echo "$str_Maske_07 "
1093 	echo "$str_Maske_08 "
1094 	echo "$str_Maske_09 "
1095 	echo "$str_Maske_10 "
1096 	echo "$str_Maske_11 "
1097 	echo "$str_Maske_12 "
1098 	echo "$str_Maske_13 "
1099 	echo "$str_Maske_14 "
1100 	echo "$str_Maske_15 "
1101 	echo "$str_Maske_16 "
1102 	echo "$str_Maske_17 "
1103 	echo "$str_Maske_18 "
1104 	echo "$str_Maske_19 "
1105 fi
1106 
1107 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1108 # Prüfung Ordner /osm_mrtk/
1109 
1110 if [ -d $MRTKPATH ];
1111 then
1112 	echo "MRTK: Ordner /osm_mrtk/ vorhanden"
1113 else
1114 	mkdir $MRTKPATH
1115 	echo "MRTK: Ordner /osm_mrtk/ angelegt"
1116 fi
1117 
1118 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1119 # Prüfung Ordner /tmp/
1120 
1121 if [ -d $MRTKPATH/tmp ];
1122 then
1123 	echo "MRTK: Ordner /tmp/ vorhanden"
1124 else
1125 	mkdir $MRTKPATH/tmp/
1126 	echo "MRTK: Ordner /tmp/ angelegt"
1127 fi
1128 
1129 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1130 # Prüfung Internet-Verbindung
1131 
1132 host openstreetmap.org>/dev/null
1133 if ! [ $? -eq 0 ];
1134 then  
1135   	echo "MRTK: KEINE Internet Verbindung! Bitte verbinden und erneut starten"
1136   	$CD bubble --debug --titles "MotoRoute-OpenStreetMap" \
1137 		--texts "KEINE Internet Verbindung!           Bitte verbinden und erneut starten!" \
1138 		--border-colors "a40a0F" \
1139 		--text-colors "ffff00" \
1140 		--background-tops "df6824" \
1141 		--background-bottoms "fd889a" \
1142 		--icon-files "appIcon.icns" \
1143 		--no-timeout
1144   	exit
1145 fi 
1146 
1147 # Linux     
1148 if [ "$(uname)" == "Linux" ]; 
1149 then
1150 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1151 	# Symbolische Verknüpfung zu WGET anlegen, um mit Mac identisch aufzurufen 	
1152 	# WGET wird in '/usr/bin/wget' erwartet. Ggf. prüfen mit 'WHEREIS WGET'	
1153 	ln -s /usr/bin/wget ./wget
1154 fi
1155 
1156 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1157 # echo
1158 # echo "Parameter ermitteln"
1159 
1160 ./wget -L $str_Parameter -q -O $MRTKPATH/tmp/parameter.txt
1161 
1162 par_Version=$(sed -n '1p' $MRTKPATH/tmp/parameter.txt)
1163 # echo $par_Version
1164 
1165 par_MRTK_Server=$(sed -n '2p' $MRTKPATH/tmp/parameter.txt)
1166 # echo $par_MRTK_Server
1167 
1168 par_Seazip_Server=$(sed -n '3p' $MRTKPATH/tmp/parameter.txt)
1169 # echo $par_Seazip_Server
1170 
1171 par_mkgmap_Server=$(sed -n '4p' $MRTKPATH/tmp/parameter.txt)
1172 # echo $par_mkgmap_Server
1173 
1174 par_Preprocessor=$(sed -n '5p' $MRTKPATH/tmp/parameter.txt)
1175 # echo $par_Preprocessor
1176 
1177 par_Style=$(sed -n '6p' $MRTKPATH/tmp/parameter.txt)
1178 # echo $par_Style
1179 
1180 par_Sperrung=$(sed -n '7p' $MRTKPATH/tmp/parameter.txt)
1181 # echo $par_Sperrung
1182 
1183 par_convert_Server=$(sed -n '8p' $MRTKPATH/tmp/parameter.txt)
1184 # echo $par_convert_Server
1185 
1186 par_MR_Website=$(sed -n '9p' $MRTKPATH/tmp/parameter.txt)
1187 # echo $par_MR_Website
1188 
1189 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1190 # Prüfung auf neue Version und Download
1191 if ! [ "$par_Version" == "$str_Version" ];
1192 then
1193 	echo "MRTK: Neue Version "$par_Version" verfügbar!"
1194 	
1195 	# Mac
1196 	if [ "$(uname)" == "Darwin" ]; 
1197 	then						
1198 		# say "Neue Version verfügbar!"
1199 		# osascript -e 'tell app "Terminal" to display dialog "Neue Version verfügbar!"'
1200 		
1201 		$CD bubble --debug --titles "MotoRoute-Tourer-Karte" \
1202 			--texts "Neue Version "$par_Version" verfügbar!" \
1203 			--border-colors "a25f0a" \
1204 			--text-colors "000000" \
1205 			--background-tops "dfa723" \
1206 			--background-bottoms "fdde88" \
1207 			--icon-files "appIcon.icns"
1208 		
1209 	# Linux
1210 	elif [ "$(uname)" == "Linux" ]; 	
1211 	then
1212 		xmessage "MRTK: Neue Version "$par_Version" verfuegbar!" -nearmouse
1213 	fi	
1214 fi
1215 
1216 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1217 # Java-Version
1218 	
1219 java -version 2> $MRTKPATH/tmp/java.log
1220 echo "MRTK: "$(head -n 1 $MRTKPATH/tmp/java.log)
1221 
1222 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1223 # Konfigurations-Datei einlesen, falls vorhanden
1224 
1225 # Inhalt "mrtkconf.txt"
1226 # 1 conf_nsis       : --nsis
1227 
1228 if [ -f $MRTKPATH/mrtkconf.txt ];
1229 then
1230 	# Family-ID gbasemap
1231 	conf_FIDb=$(sed -n '1p' $MRTKPATH/mrtkconf.txt)
1232 	# echo $conf_FIDb
1233 	
1234 	# Family-ID gsperrung
1235 	conf_FIDx=$(sed -n '2p' $MRTKPATH/mrtkconf.txt)
1236 	# echo $conf_FIDx
1237 
1238 	# mkgmap-Option '--nsis' aktivieren (Windows-Installations-Datei)
1239 	conf_nsis=$(sed -n '3p' $MRTKPATH/mrtkconf.txt)
1240 	# echo $conf_nsis
1241 
1242 	# gmapi-Option 'gmapi-builder.py'
1243 	conf_gmapi=$(sed -n '4p' $MRTKPATH/mrtkconf.txt)
1244 	# echo $conf_gmapi
1245 
1246 	echo "MRTK: 'mrtkconf.txt' wird verwendet"
1247 else
1248 	conf_FIDb=""
1249 	conf_FIDx=""
1250 	conf_nsis=""
1251 	conf_gmapi=""
1252 fi
1253 
1254 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1255 # Variablen setzen
1256 
1257 # Mac
1258 if [ "$(uname)" == "Darwin" ]; 
1259 then   	
1260 	osmconvert="$(dirname -- "$0")/osmconvert"
1261 	osmfilter="$(dirname -- "$0")/osmfilter"
1262 	
1263 	# "gpsbabel" laden unter http://www.gpsbabel.org/download.html
1264 	# /Applications/GPSBabelFE.app/Contents/MacOS/gpsbabel
1265 	gpsbabel="$(dirname -- "$0")/gpsbabel/gpsbabel"
1266 	#echo $gpsbabel
1267 		
1268 	# gmt laden unter http://www.gmaptool.eu/en/content/os-x-version
1269 	gmt="$(dirname -- "$0")/mgmt042a/gmt"
1270 	#echo $gmt
1271 	
1272 	gmapibuilder="$(dirname -- "$0")/gmapi-builder/gmapi-builder.py"
1273 	#echo $gmapibuilder
1274 
1275 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1276 # Aufruf Karten-Erstellung (Mac)
1277 	while [ ! $filename = '' ] 
1278 	do	
1279 		Mapbuilder
1280 	done
1281 
1282 # Linux     
1283 elif [ "$(uname)" == "Linux" ]; 
1284 then
1285 
1286 while read -n1 -s ; do
1287 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1288 # Prüfung Ordner /bin/
1289 
1290 	if [ -d $MRTKPATH/bin ];
1291 	then
1292 		echo "MRKT: Ordner /bin/ vorhanden"
1293 	else
1294 		mkdir $MRTKPATH/bin/
1295 		echo "MRTK: Ordner /bin/ angelegt"
1296 	fi
1297 		
1298 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1299 # Prüfung 'gmapi-builder.py' (wenn in Konfigurations-Datei Zeile 4 eingetragen)
1300 	
1301 	if [ "$conf_gmapi" = "gmapi-builder.py" ];
1302 	then
1303 		if [ ! -f $MRTKPATH/bin/gmapi-builder.py ];
1304 		then
1305 			./wget -c $par_MRTK_Server"gmapi-builder-index-py.txt" -q \
1306 				-O $MRTKPATH/bin/gmapi-builder.py
1307 			chmod u+x $MRTKPATH/bin/gmapi-builder.py
1308 			echo "MRTK: Für Adress-Index modifizierter 'gmapi-builder' geladen"
1309 		else
1310 			echo "MRTK: Für Adress-Index modifizierter 'gmapi-builder' vorhanden"
1311 		fi
1312 		gmapibuilder=$MRTKPATH/bin/gmapi-builder.py
1313 	fi
1314 
1315 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1316 # 'osmconvert' und 'osmfilter' kompilieren"
1317 
1318 	if [ ! -f $MRTKPATH/bin/osmconvert ];
1319 	then
1320 		./wget -c $par_convert_Server"osmconvert.c" -q \
1321 			-O $MRTKPATH/bin/osmconvert.c
1322 		gcc -w -O $MRTKPATH/bin/osmconvert.c -lz -O3 \
1323 			-o $MRTKPATH/bin/osmconvert \
1324 			1> $MRTKPATH/tmp/osmconvert.log
1325 		chmod u+x $MRTKPATH/bin/osmconvert
1326 		echo "MRTK: 'osmconvert' geladen und kompiliert"
1327 	else
1328 		echo "MRKT: 'osmconvert' vorhanden"
1329 	fi
1330 	
1331 	if [ ! -f $MRTKPATH/bin/osmfilter ];
1332 	then
1333 		./wget -c $par_convert_Server"osmfilter.c" -q \
1334 			-O $MRTKPATH/bin/osmfilter.c
1335 		gcc -w -O $MRTKPATH/bin/osmfilter.c -lz -O3 \
1336 			-o $MRTKPATH/bin/osmfilter \
1337 			1> $MRTKPATH/tmp/osmfilter.log
1338 		chmod u+x $MRTKPATH/bin/osmfilter
1339 		echo "MRTK: 'osmfilter' geladen und kompiliert"
1340 	else
1341 		echo "MRTK: 'osmfilter' vorhanden"
1342 	fi
1343 
1344 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1345 # Variablen setzen (Linux)
1346 
1347 	osmconvert=$MRTKPATH/bin/osmconvert
1348 	osmfilter=$MRTKPATH/bin/osmfilter
1349  			
1350 	# "gpsbabel" muss als Paket installiert sein
1351 	# sudo apt-get install gpsbabel
1352  	gpsbabel=gpsbabel
1353  	
1354 	# gmt laden unter http://www.gmaptool.eu/en/content/linux-version
1355 	# und in den Ordner dieses Scripts entpacken
1356 	# dann ausfuehrbar machen: chmod u+x ./lgmt08186/gmt
1357 	chmod u+x "$pathname/lgmt08186/gmt"
1358 	gmt="$pathname/lgmt08186/gmt"
1359 
1360 # ----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
1361 # Aufruf Karten-Erstellung (Linux)
1362 	Mapbuilder
1363 done
1364 
1365 fi
1366 
1367 exit

- Windows -

   1 @echo off
   2 color f0
   3 
   4 rem Windows
   5 rem entwickelt mit Java 1.8.51 unter Windows 7 Professional 64-bit Version
   6 rem aktualisiert mit Java 1.8.66 unter Windows 7 Professional 64-bit Version
   7 
   8 rem Wichtiger Hinweis!!!
   9 rem Java muss auf 64-bit-Systemen in der 64-bit-Version installiert sein!
  10 rem https://www.java.com/de/download/manual.jsp
  11 rem https://www.java.com/de/download/faq/java_win64bit.xml
  12 
  13 rem Inhalt "parameter.txt"
  14 rem  1 par_Version : 1.6.84 (Mac + Linux)
  15 rem  2 par_MRTK_Server : http://motoroute.de/sites/default/files/
  16 rem  3 par_Seazip_Server : http://osm2.pleiades.uni-wuppertal.de/sea/latest/sea.zip
  17 rem  4 par_mkgmap_Server : http://www.mkgmap.org.uk/download/
  18 rem  5 par_Preprocessor : uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreprocessor
  19 rem  6 par_Style : style-r012.zip
  20 rem  7 par_Sperrung : sperrung_2015.zip
  21 rem  8 par_convert_Server: http://m.m.i24.cc/
  22 rem  9 par_MR_Website : http://motoroute.de/de/content/MotoRoute-OpenStreetMap
  23 rem 10 par_bin : bin-r002_0.zip
  24 rem 11 par_Version : 1.6.85 (Windows)
  25 
  26 rem In Start-Ordner des Scriptes wechseln
  27 cd %~dp0
  28 rem echo %~dp0
  29 
  30 rem Script-Variablen
  31 set N=%TEMP%\meldung.vbs
  32 set O=%TEMP%\osm_mrtk\
  33 set M=%TEMP%\osm_mrtk\meldung.vbs
  34 set D=%TEMP%\osm_mrtk\download.vbs
  35 set U=%TEMP%\osm_mrtk\unzip.vbs
  36 set Q=%TEMP%\osm_mrtk\loadsource.vbs
  37 set R=%TEMP%\osm_mrtk\replace.vbs
  38 set L=%~dp0osm_mrtk\logs\
  39 set T=%~dp0osm_mrtk\temp\
  40 set Z=%~dp0osm_mrtk\
  41 
  42 rem Deutsche Umlaute setzen
  43 chcp 1252>nul
  44 set ue=¸
  45 set ae=  46 set oe=ˆ
  47 set Uue=  48 set Aae=ƒ
  49 set Ooe=÷
  50 set ss=  51 chcp 850>nul
  52 rem echo Sch%oe%n, dass Herr M%ue%ller das %Uue%bungsbeispiel ist
  53 
  54 rem Version/Datum
  55 set str_Version=1.6.85
  56 set str_Version_Datum=2012-09-09 - 2015-12-17
  57 set str_Support=motorkuh@web.de
  58 set str_Codepage=1252
  59 
  60 rem Die Family-ID wird ab Version 1.5.80 aus den rechten 3 Stellen 
  61 rem des modifizierten Julianischen Datums(MJD) der .osm.pbf und einer Zufallszahl generiert
  62 :: set str_FID_gbasemap=21011
  63 :: set str_FID_gsperrung=21012
  64 
  65 rem Maske aufbauen
  66 set str_Maske_01= - MotoRoute-OpenStreetMap (Version %str_Version% / %str_Version_Datum%)
  67 set str_Maske_02= - Entwickelt mit 'Win7 Pro' und 'Win10 Pro Insider Preview' (64-bit Versionen)
  68 set str_Maske_03= - 
  69 set str_Maske_04= - Geo-Daten von OpenStreetMap
  70 set str_Maske_05= - Erstellt f%ue%r MotoRoute.de von Gernot Skottke (%str_Support%)
  71 set str_Maske_06= -
  72 set str_Maske_07= -
  73 set str_Maske_08= - Lade die Daten Deiner Wunsch-Region im Format '.osm.pbf' unter
  74 set str_Maske_09= - http://download.geofabrik.de/
  75 set str_Maske_10= -
  76 set str_Maske_11= - Land-Boundaries (bounds) werden w%ae%hrend der Laufzeit kompiliert!
  77 set str_Maske_12= - Option: bounds.zip manuell in Ordner 'osm_mrkt' speichern.
  78 set str_Maske_13= - Vorhandene bounds.zip werden alle 30 Tage neu geladen.
  79 set str_Maske_14= - Sea-Boundaries (sea.zip) werden automatisch alle 30 Tage neu geladen!
  80 set str_Maske_15= -
  81 set str_Maske_16= - Zieh die '.osm.pbf'-Datei der zu bauenden Region hier rein!
  82 set str_Maske_17= - Dann dr%ue%cke die "Enter"-Taste
  83 set str_Maske_18= - Oder dr%ue%cke nur die "Enter"-Taste, wenn Du beenden willst.
  84 set str_Maske_19= - 
  85 
  86 rem ISO-Datum
  87 set TAG=%date:~-10,2%
  88 set MONAT=%date:~-7,2%
  89 set JAHR=%date:~-4%
  90 set JMT=%JAHR%%MONAT%%TAG%
  91 set str_Startdatum=%JAHR%-%MONAT%-%TAG%
  92 
  93 title MotoRoute-OpenStreetMap
  94 
  95 :OS_CHECK
  96 ver |find /i "Windows 95" > nul
  97 if NOT errorlevel 1 goto :ABBRUCH_XP
  98 ver |find /i "Windows 98" > nul
  99 if NOT errorlevel 1 goto :ABBRUCH_XP
 100 ver |find /i "Windows Millennium" > nul
 101 if NOT errorlevel 1 goto :ABBRUCH_XP
 102 ver | find "XP" > nul
 103 if %errorlevel% EQU 0 goto :ABBRUCH_XP
 104 VER | find "2000" > nul
 105 if %errorlevel% EQU 0 goto :ABBRUCH_XP
 106 VER | find "NT" > nul
 107 if %errorlevel% EQU 0 goto :ABBRUCH_XP
 108 VER | find "Microsoft Windows [Version 5" > nul
 109 
 110 :VB_SCRIPTE
 111 if NOT exist "%O%" (
 112 	md "%O%"
 113 	rem echo "%O%" angelegt
 114 ) else (
 115 	del "%O%*.vbs" 1> nul 2> nul
 116 )
 117 
 118 rem VB-Script aufbauen f¸r Download %D%
 119 echo set fs = CreateObject("Scripting.FilesystemObject") > "%D%"
 120 echo. >> "%D%"
 121 echo scriptname = Wscript.ScriptFullName >> "%D%"
 122 echo scriptpath = fs.getparentfoldername(scriptname) >> "%D%"
 123 echo. >> "%D%"
 124 echo set args = WScript.Arguments >> "%D%"
 125 echo. >> "%D%"
 126 echo 'Set your settings >> "%D%"
 127 echo strFileURL = args.Item(0) >> "%D%"
 128 echo strFile = args.Item(1) >> "%D%"
 129 echo. >> "%D%"
 130 echo 'Fetch the file >> "%D%"
 131 echo Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") >> "%D%"
 132 echo. >> "%D%"
 133 echo objXMLHTTP.open "GET", strFileURL, false >> "%D%"
 134 echo objXMLHTTP.send() >> "%D%"
 135 echo. >> "%D%"
 136 echo If objXMLHTTP.Status = 200 Then >> "%D%"
 137 echo Set objADOStream = CreateObject("ADODB.Stream") >> "%D%"
 138 echo objADOStream.Open >> "%D%"
 139 echo objADOStream.Type = 1 'adTypeBinary >> "%D%"
 140 echo. >> "%D%"
 141 echo objADOStream.Write objXMLHTTP.ResponseBody >> "%D%"
 142 echo objADOStream.Position = 0 'Set the stream position to the start >> "%D%"
 143 echo. >> "%D%"
 144 echo Set objFSO = Createobject("Scripting.FileSystemObject") >> "%D%"
 145 echo If objFSO.Fileexists(strFile) Then objFSO.DeleteFile strFile >> "%D%"
 146 echo Set objFSO = Nothing >> "%D%"
 147 echo. >> "%D%"
 148 echo objADOStream.SaveToFile strFile >> "%D%"
 149 echo objADOStream.Close >> "%D%"
 150 echo Set objADOStream = Nothing >> "%D%"
 151 echo End If >> "%D%"
 152 echo. >> "%D%"
 153 echo Set objXMLHTTP = Nothing >> "%D%"
 154 
 155 rem VB-Script aufbauen f¸r Unzip %U%
 156 echo set fs = CreateObject("Scripting.FilesystemObject") > "%U%"
 157 echo. >> "%U%"
 158 echo scriptname = Wscript.ScriptFullName >> "%U%"
 159 echo scriptpath = fs.getparentfoldername(scriptname) >> "%U%"
 160 echo. >> "%U%"
 161 echo set args = WScript.Arguments >> "%U%"
 162 echo. >> "%U%"
 163 echo 'Set your settings >> "%U%"
 164 echo ZipFile = args.Item(0) >> "%U%"
 165 echo ExtractTo = args.Item(1) >> "%U%"
 166 echo. >> "%U%"
 167 echo If Right(ZipFile, 3) = "zip" Then >> "%U%"
 168 echo. >> "%U%"
 169 echo 'The location of the zip file. >> "%U%"
 170 echo 'ZipFile="C:\Test.Zip" >> "%U%"
 171 echo 'The folder the contents should be extracted to. >> "%U%"
 172 echo 'ExtractTo="C:\Test\" >> "%U%"
 173 echo. >> "%U%"
 174 echo 'If the extraction location does not exist create it. >> "%U%"
 175 echo Set fso = CreateObject("Scripting.FileSystemObject") >> "%U%"
 176 echo. >> "%U%"
 177 echo If NOT fso.FolderExists(ExtractTo) Then >> "%U%"
 178 echo fso.CreateFolder(ExtractTo) >> "%U%"
 179 echo End If >> "%U%"
 180 echo. >> "%U%"
 181 echo 'Extract the contants of the zip file. >> "%U%"
 182 echo set objShell = CreateObject("Shell.Application") >> "%U%"
 183 echo set FilesInZip=objShell.NameSpace(ZipFile).items >> "%U%"
 184 echo objShell.NameSpace(ExtractTo).CopyHere(FilesInZip), 4 >> "%U%"
 185 echo Set fso = Nothing >> "%U%"
 186 echo Set objShell = Nothing >> "%U%"
 187 echo. >> "%U%"
 188 echo End If >> "%U%"
 189 
 190 rem VB-Script aufbauen f¸r Load Quelltext %Q%
 191 echo set fs = CreateObject("Scripting.FilesystemObject") > "%Q%"
 192 echo. >> "%Q%"
 193 echo scriptname = Wscript.ScriptFullName >> "%Q%"
 194 echo scriptpath = fs.getparentfoldername(scriptname) >> "%Q%"
 195 echo. >> "%Q%"
 196 echo set args = WScript.Arguments >> "%Q%"
 197 echo. >> "%Q%"
 198 echo 'Set your settings >> "%Q%"
 199 echo strFileURL = args.Item(0) >> "%Q%"
 200 echo strFile = args.Item(1) >> "%Q%"
 201 echo. >> "%Q%"
 202 echo 'Fetch the file >> "%Q%"
 203 echo Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") >> "%Q%"
 204 echo. >> "%Q%"
 205 echo objXMLHTTP.open "GET", strFileURL, false >> "%Q%"
 206 echo objXMLHTTP.send() >> "%Q%"
 207 echo. >> "%Q%"
 208 echo If objXMLHTTP.Status = 200 Then >> "%Q%"
 209 echo Set objADOStream = CreateObject("ADODB.Stream") >> "%Q%"
 210 echo 'objADOStream.Type = 1 'adTypeBinary >> "%Q%"
 211 echo objADOStream.Type = 2 'adTypeText >> "%Q%"
 212 echo objADOStream.CharSet = "ascii" >> "%Q%"
 213 echo objADOStream.Open >> "%Q%"
 214 echo. >> "%Q%"
 215 echo objADOStream.WriteText objXMLHTTP.ResponseText >> "%Q%"
 216 echo objADOStream.Position = 0 'Set the stream position to the start >> "%Q%"
 217 echo. >> "%Q%"
 218 echo Set objFSO = Createobject("Scripting.FileSystemObject") >> "%Q%"
 219 echo If objFSO.Fileexists(strFile) Then objFSO.DeleteFile strFile >> "%Q%"
 220 echo Set objFSO = Nothing >> "%Q%"
 221 echo. >> "%Q%"
 222 echo objADOStream.SaveToFile strFile >> "%Q%"
 223 echo objADOStream.Close >> "%Q%"
 224 echo Set objADOStream = Nothing >> "%Q%"
 225 echo End If >> "%Q%"
 226 echo. >> "%Q%"
 227 echo Set objXMLHTTP = Nothing >> "%Q%"
 228 
 229 rem VB-Script aufbauen: Replace %R%
 230 rem SUCHEN (von) / ERSETZEN (nach) ab Version 1.4.79 ¸ber Parameter gesteuert
 231 echo Const ForReading = 1 > "%R%"
 232 echo Const ForWriting = 2 >> "%R%"
 233 echo. >> "%R%"
 234 echo set args = WScript.Arguments >> "%R%"
 235 echo. >> "%R%"
 236 echo 'Set your settings >> "%R%"
 237 echo strdatei = args.Item(0) >> "%R%"
 238 echo strdatei2 = args.Item(1) >> "%R%"
 239 echo. >> "%R%"
 240 echo 'Ersetzen von - nach >> "%R%"
 241 echo von = args.Item(2) >> "%R%"
 242 echo nach = args.Item(3) >> "%R%"
 243 echo If InStr(1, nach, "|") > 0 Then >> "%R%"
 244 echo nach = Replace(nach, "|", vbCrLf) >> "%R%"
 245 echo Else >> "%R%"
 246 echo nach = nach >> "%R%"
 247 echo End If >> "%R%"
 248 echo. >> "%R%"
 249 echo Set objFSO = CreateObject("Scripting.FileSystemObject") >> "%R%"
 250 echo. >> "%R%"
 251 echo Set objTest = objFSO.GetFile(strdatei) >> "%R%"
 252 echo If objTest.Size > 0 Then >> "%R%"
 253 echo Set objFile = objFSO.OpenTextFile(strdatei, ForReading) >> "%R%"
 254 echo strText = objFile.ReadAll >> "%R%"
 255 echo objFile.Close >> "%R%"
 256 echo strNewText = Replace(strText, von, nach) >> "%R%"
 257 echo Set objFile = objFSO.OpenTextFile(strdatei2, ForWriting, true) >> "%R%"
 258 echo objFile.WriteLine strNewText >> "%R%"
 259 echo objFile.Close >> "%R%"
 260 echo End If >> "%R%"
 261 rem echo Scripte erzeugt
 262 
 263 :PARAMETER
 264 rem Download mittels HTTP in Temporary Internet Files - Probleme mit Cache nach Update von Dateien
 265 rem Lˆsung Temporary Internet Files leeren!
 266 rem Quelle: http://superuser.com/questions/450014/clearmytracksbyprocess-all-options 
 267 rundll32.exe /WAIT /MIN inetcpl.cpl,ClearMyTracksByProcess 8
 268 rem Wenn keine neue 'parameter.txt' geladen wird, dann im Cache diese Datei lˆschen!
 269 rem %localappdata%\Microsoft\Windows\Temporary Internet Files\parameter.txt
 270 cscript /nologo "%D%" "http://motoroute.de/sites/default/files/parameter.txt" "%O%parameter.txt"
 271 if NOT exist "%O%parameter.txt" (
 272 	goto :ABBRUCH_NOPARAMETER 	
 273 )
 274 
 275 rem LineNo=1 > Mac/Linux-Version
 276 rem LineNo=11 > Windows-Version
 277 set LineNo=11
 278 set "par_Version="
 279 set /a LineNo-=1
 280 for /f %%a in ('more/e +%LineNo% ^< "%O%parameter.txt"') do (
 281 	if not defined par_Version set "par_Version=%%a"
 282 )
 283 rem echo %par_Version%
 284 
 285 set LineNo=2
 286 set "par_MRTK_Server="
 287 set /a LineNo-=1
 288 for /f %%a in ('more/e +%LineNo% ^< "%O%parameter.txt"') do (
 289 	if not defined par_MRTK_Server set "par_MRTK_Server=%%a"
 290 )
 291 rem echo %par_MRTK_Server%
 292 
 293 set LineNo=3
 294 set "par_Seazip_Server="
 295 set /a LineNo-=1
 296 for /f %%a in ('more/e +%LineNo% ^< "%O%parameter.txt"') do (
 297 	if not defined par_Seazip_Server set "par_Seazip_Server=%%a"
 298 )
 299 rem echo %par_Seazip_Server%
 300 
 301 set LineNo=4
 302 set "par_mkgmap_Server="
 303 set /a LineNo-=1
 304 for /f %%a in ('more/e +%LineNo% ^< "%O%parameter.txt"') do (
 305 	if not defined par_mkgmap_Server set "par_mkgmap_Server=%%a"
 306 )
 307 rem echo %par_mkgmap_Server%
 308 
 309 set LineNo=5
 310 set "par_Preprocessor="
 311 set /a LineNo-=1
 312 for /f %%a in ('more/e +%LineNo% ^< "%O%parameter.txt"') do (
 313 	if not defined par_Preprocessor set "par_Preprocessor=%%a"
 314 )
 315 rem echo %par_Preprocessor%
 316 
 317 set LineNo=6
 318 set "par_Style="
 319 set /a LineNo-=1
 320 for /f %%a in ('more/e +%LineNo% ^< "%O%parameter.txt"') do (
 321 	if not defined par_Style set "par_Style=%%a"
 322 )
 323 rem echo %par_Style%
 324 
 325 set LineNo=7
 326 set "par_Sperrung="
 327 set /a LineNo-=1
 328 for /f %%a in ('more/e +%LineNo% ^< "%O%parameter.txt"') do (
 329 	if not defined par_Sperrung set "par_Sperrung=%%a"
 330 )
 331 rem echo %par_Sperrung%
 332 
 333 set LineNo=8
 334 set "par_convert_Server="
 335 set /a LineNo-=1
 336 for /f %%a in ('more/e +%LineNo% ^< "%O%parameter.txt"') do (
 337 	if not defined par_convert_Server set "par_convert_Server=%%a"
 338 )
 339 rem echo %par_convert_Server%
 340 
 341 set LineNo=9
 342 set "par_MR_Website="
 343 set /a LineNo-=1
 344 for /f %%a in ('more/e +%LineNo% ^< "%O%parameter.txt"') do (
 345 	if not defined par_MR_Website set "par_MR_Website=%%a"
 346 )
 347 rem echo %par_MR_Website%
 348 
 349 set LineNo=10
 350 set "par_bin="
 351 set /a LineNo-=1
 352 for /f %%a in ('more/e +%LineNo% ^< "%O%parameter.txt"') do (
 353 	if not defined par_bin set "par_bin=%%a"
 354 )
 355 rem echo %par_bin%
 356 
 357 :CHECK_MEMORY
 358 rem physikalischen Speicher ermitteln f¸r Java
 359 rem wmic-schalter:
 360 rem totalvisiblememorysize
 361 rem (totalvirtualmemorysize)
 362 rem freephysicalmemory
 363 rem (freevirtualmemory)
 364 for /f "skip=1" %%p in ('wmic os get freephysicalmemory') do (
 365 	set mem=%%p
 366 	goto :RAM_FREE
 367 )
 368 
 369 :RAM_FREE
 370 set /a ram_free=%mem%/1000
 371 rem echo %ram_free% RAM free
 372 
 373 :JAVA
 374 rem Java 32-bit Version l‰uft bis 1500m
 375 for /f "skip=2 tokens=2*" %%A IN ('REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion') do set CurVer=%%B
 376 rem echo %CurVer%	
 377 if [%CurVer%]==[] (
 378 	set java_alt=MRTK: Kein Java oder nur 32-bit-Java trotz 64-bit-Windows!
 379 	goto :NO_JAVA
 380 )
 381 for /f "skip=2 tokens=2*" %%A IN ('REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\%CurVer%" /v JavaHome') do set JAVA_HOME=%%B
 382 rem echo %JAVA_HOME%
 383 if "%JAVA_HOME%"=="" (
 384 	set java_alt=MRTK: Kein Java oder nur 32-bit-Java trotz 64-bit-Windows!
 385 	goto :NO_JAVA
 386 )
 387 java -version 1> nul 2> "%O%java.log"
 388 SET /p java_ver=<%O%java.log
 389 if %CurVer% LSS 1.7 (
 390 	set java_alt=MRTK: %java_ver% [%CurVer%] Aktualisiere!
 391 	goto :NO_JAVA
 392 ) else (
 393 	set java_alt=MRTK: %java_ver% [%CurVer%] OK
 394 )
 395 if /I %PROCESSOR_ARCHITECTURE% == AMD64 (
 396 	set /a ram=%ram_free%
 397 	set /a pc=64
 398 	rem set javapfad="%PROGRAMFILES%\Java\jre#\bin\java.exe"
 399 )
 400 if /I %PROCESSOR_ARCHITECTURE% == x86 (
 401 	rem Anteil RAM begrenzen
 402 	if %ram_free% GEQ 1500 (
 403 		set /a ram=1500
 404 	) else (
 405 		set /a ram=%ram_free%
 406 	)
 407 	set /a pc=32
 408 	rem set javapfad="%PROGRAMFILES(X86)%\Java\jre#\bin\java.exe"
 409 )
 410 set javapfad="%JAVA_HOME%\bin\java.exe"
 411 rem echo %javapfad%
 412 rem Zuwenig RAM?
 413 if %ram% LSS 256 (
 414 	goto :ABBRUCH_RAM
 415 )
 416 
 417 :MRTKCONF
 418 rem Konfigurations-Datei einlesen, falls vorhanden
 419 rem Inhalt "mrtkconf.txt (Beispiel)
 420 rem  1 conf_FIDb : 21011
 421 rem  2 conf_FIDx : 21012
 422 if exist "%Z%mrtkconf.txt" (
 423 	set mrtkconf=MRTK: 'mrtkconf.txt' wird verwendet
 424 	goto :READ_MRTKCONF
 425 ) else (
 426 	set conf_FIDb=
 427 	set conf_FIDx=
 428 	goto :GET_OSMPBF
 429 )
 430 
 431 :READ_MRTKCONF
 432 set LineNo=1
 433 set "conf_FIDb="
 434 set /a LineNo-=1
 435 for /f %%a in ('more/e +%LineNo% ^< "%Z%mrtkconf.txt"') do (
 436 	if not defined conf_FIDb set "conf_FIDb=%%a"
 437 )
 438 rem echo %conf_FIDb%
 439 
 440 set LineNo=2
 441 set "conf_FIDx="
 442 set /a LineNo-=1
 443 for /f %%a in ('more/e +%LineNo% ^< "%Z%mrtkconf.txt"') do (
 444 	if not defined conf_FIDx set "conf_FIDx=%%a"
 445 )
 446 rem echo %conf_FIDx%
 447 
 448 :GET_OSMPBF
 449 if NOT exist "%O%osmpbf.txt" (
 450 	goto :MASKE
 451 )
 452 
 453 :SET_DROPFILE
 454 chcp 1252>nul
 455 SET /p dropfile=<"%O%osmpbf.txt"
 456 rem echo DROPFILE %dropfile%
 457 setlocal enabledelayedexpansion
 458 chcp 850>nul
 459 for %%a in ("‰=%ae%" "ˆ=%oe%" "¸=%ue%" "fl=%ss%" "ƒ=%Aae%" "÷=%Ooe%" "‹=%Uue%") do (set "dropfile=!dropfile:%%~a!") 
 460 rem echo DROPFILE %dropfile%
 461 set dropfile="%dropfile%"
 462 rem echo "DROPFILE" %dropfile%
 463 chcp 850>nul
 464 
 465 :MASKE
 466 echo %str_Maske_01%
 467 echo %str_Maske_02%
 468 echo %str_Maske_03%
 469 echo %str_Maske_04%
 470 echo %str_Maske_05%
 471 echo %str_Maske_06%
 472 echo %str_Maske_07%
 473 echo %str_Maske_08%
 474 echo %str_Maske_09%
 475 echo %str_Maske_10%
 476 echo %str_Maske_11%
 477 echo %str_Maske_12%
 478 echo %str_Maske_13%
 479 echo %str_Maske_14%
 480 echo %str_Maske_15%
 481 echo %str_Maske_16%
 482 echo %str_Maske_17%
 483 echo %str_Maske_18%
 484 echo %str_Maske_19%
 485 
 486 echo %java_alt%
 487 if exist "%Z%mrtkconf.txt" (
 488 	echo %mrtkconf%
 489 )
 490 
 491 :NEWVERSION
 492 set /a num_par_Version=%par_Version:.=%
 493 set /a num_Version=%str_Version:.=%
 494 if [%num_par_Version%] LEQ [%num_Version%] (
 495 	goto :DEL_OSMPBF
 496 )
 497 rem set mrtk_neu=Neue Version %par_Version% verf%ue%gbar! M%oe%chtest Du diese jetzt auf MotoRoute.de laden?
 498 >"%M%" echo WScript.Quit MsgBox( "Neue Version %par_Version% verf¸gbar! Mˆchtest Du diese jetzt auf MotoRoute.de laden?", vbQuestion + vbYesNo, "MotoRoute OpenStreetMap" )
 499 "%M%"
 500 if %errorlevel%==6 (
 501 	start %par_MR_Website%
 502 )
 503 
 504 :DEL_OSMPBF
 505 if [%dropfile%]==[] (
 506 	set /p dropfile=%1
 507 ) else (
 508 	if exist "%O%osmpbf.txt" (
 509 		del "%O%osmpbf.txt" > nul
 510 	)
 511 )
 512 rem echo DROPFILE %dropfile%
 513 if [%dropfile%]==[] goto :EXIT
 514 
 515 :DEL_LOGS
 516 if exist "%L%" (
 517 	rmdir /s /q "%L%"
 518 )
 519 
 520 :GET_FILENAME_EXT
 521 rem %filename2% mit 2 Endungen .osm.pbf
 522 for /f "delims=" %%i in ('echo %dropfile%') do set "filename2=%%~nxi"
 523 rem echo filename2: %filename2%
 524 set ext=%filename2:~-8%
 525 rem echo ext: %ext%
 526 
 527 :GET_DROPPATH
 528 for /f "delims=" %%i in ('echo %dropfile%') do set "droppath=%%~dpi"
 529 rem echo droppath: %droppath%
 530 
 531 :RUN_OSMPBF_ONLY
 532 if %ext% == .osm.pbf (
 533 	goto :REGION_NAME
 534 ) else (
 535 	goto :NO_OSMPBF
 536 )
 537 
 538 :REGION_NAME
 539 rem %filename1% mit 1 Endung .osm
 540 for /f "delims=" %%i in ('echo %filename2%') do set "filename1=%%~ni"
 541 rem echo filename1: %filename1%
 542 rem %filename% ohne Endung
 543 for /f "delims=" %%i in ('echo %filename1%') do set "filename=%%~ni"
 544 rem echo filename: %filename%
 545 rem Name (ohne "-latest") und Kurzname der Region festlegen
 546 rem set str_Region=%filename%
 547 rem echo %str_Region%
 548 rem echo %filename:~0,-7%
 549 setlocal enabledelayedexpansion
 550 for %%a in ("a=A" "b=B" "c=C" "d=D" "e=E" "f=F" "g=G" "h=H" "i=I" "j=J" "k=K" "l=L"
 551  "m=M" "n=N" "o=O" "p=P" "q=Q" "r=R" "s=S" "t=T" "u=U" "v=V" "w=W" "x=X" "y=Y" "z=Z") do (set "filename=!filename:%%~a!") 
 552 rem echo FILENAME %filename%
 553 if [%filename:~0,-7%] == [] (
 554 	set str_Region=%filename%
 555 ) else if [%filename:~-7%] == [-LATEST] (
 556 	set str_Region=%filename:~0,-7%
 557 ) else (
 558 	set str_Region=%filename%
 559 )
 560 rem Region in Teil-Worte zerlegen (rheinland-pfalz in 1:rheinland, 2:pfalz)
 561 rem echo %str_Region%
 562 for /f "tokens=1,2 delims=-" %%i in ("%str_Region%") do set "str_Region1=%%i" &set "str_Region2=%%j"
 563 rem echo Teil 1: %str_Region1%
 564 rem echo Teil 2: %str_Region2%
 565 if [%str_Region2%]==[] (
 566 	rem bayern = bay
 567 	set str_Region_kurz=%str_Region1:~0,3% 
 568 ) else (
 569 	rem rheinland-pfalz = rp
 570 	set str_Region_kurz=%str_Region1:~0,1%%str_Region2:~0,1% 
 571 )
 572 rem echo %str_Region_kurz%
 573 
 574 :32BIT_NO_EUROPE
 575 if /I %PROCESSOR_ARCHITECTURE% == x86 (
 576 	if %ram_free% GEQ 1500 (
 577 		if [%str_Region%]==[europe] (
 578 			goto :ABBRUCH_32BIT
 579 		)
 580 	)
 581 )
 582 
 583 :MRTK_DIR
 584 echo.
 585 if NOT exist osm_mrtk (
 586 	md osm_mrtk
 587 	echo MRTK: Ordner \osm_mrtk\ angelegt
 588 ) else (
 589 	echo MRTK: Ordner \osm_mrtk\ vorhanden
 590 )
 591 cd %Z%
 592 
 593 :LOG_DIR
 594 if NOT exist logs (
 595 	md logs
 596 	echo MRTK: Ordner \logs\ angelegt
 597 ) else (
 598 	echo MRTK: Ordner \logs\ vorhanden
 599 )
 600 
 601 :USE_WGET
 602 >"%M%" echo WScript.Quit MsgBox( "Blockiert Deine Firewall/Dein Proxy 'wget.exe'?", vbQuestion + vbYesNo, "Download ohne WGET?" )
 603 "%M%"
 604 rem %errorlevel%==6 Yes = Ohne WGET
 605 if %errorlevel%==6 (
 606 	rem goto :LOAD_UNZIP
 607 	set ohnewget=ja
 608 ) else (
 609 	rem %errorlevel%==7 No = Mit WGET
 610 	if %errorlevel%==7 (
 611 		set ohnewget=nein
 612 	)
 613 )
 614 rem echo %ohnewget%
 615 
 616 :LOAD_BIN
 617 echo.
 618 for /f "delims=" %%i in ('echo %par_bin%') do set "bin=%%~ni"
 619 rem Korrektur, wenn Datei auf Server mit Ergaenzung '_0' usw.
 620 set bin=%bin:~0,8%
 621 set B=%Z%%bin%\
 622 if NOT exist %bin% (
 623 	if exist bin* (
 624 		for /f "tokens=*" %%i in ('dir /ad /b "%Z%\bin*"') do rmdir /s /q "%Z%\%%i" 2>nul
 625 		echo MRTK: Alte Binaries gel%oe%scht
 626 	)
 627 	if exist "%O%%bin%.zip" (
 628 		rem unzip.vbs
 629 		echo MRTK: Bitte warten ...  Ich entpacke gerade Dateien ...
 630 		"%U%" "%O%%bin%.zip" "%Z%"
 631 	)
 632 )
 633 if NOT exist "%B%" (
 634 	echo MRTK: Bitte warten ...  Ich lade gerade Daten ...
 635 	cscript /nologo "%D%" "%par_MRTK_Server%%par_bin%" "%Z%%par_bin%" > nul
 636 	rem unzip.vbs
 637 	echo MRTK: Bitte warten ...  Ich entpacke gerade Dateien ...
 638 	"%U%" "%Z%%par_bin%" "%Z%"
 639 	if exist "%Z%%par_bin%" (
 640 		del "%Z%%par_bin%"
 641 	)
 642 	echo MRTK: Binaries '%bin%' geladen und entpackt
 643 
 644 ) else (
 645 	for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
 646 		set "DEL=%%a"
 647 	)
 648 	echo|set /p=MRTK: Binaries '%bin%' & call :ColorText fa "aktuell"
 649 	echo.
 650 )
 651 
 652 :LOAD_STYLE
 653 echo.
 654 for /f "delims=" %%i in ('echo %par_style%') do set "style=%%~ni"
 655 rem Korrektur, wenn Datei auf Server mit Ergaenzung '_0' usw.
 656 set style=%style:~0,10%
 657 if NOT exist %style% (
 658 	if exist style* (
 659 		for /f "tokens=*" %%i in ('dir /ad /b "%CD%\style*"') do rmdir /s /q "%CD%\%%i" 2>nul
 660 		echo MRTK: Alter Style gel%oe%scht
 661 	)
 662 	rem if exist "wget.exe" (
 663 	if %ohnewget%==nein (
 664 		"%B%wget.exe" -c "%par_MRTK_Server%%par_style%" -O ./%par_style%
 665 		title MotoRoute-OpenStreetMap
 666 	) else (
 667 		echo MRTK: Bitte warten ... Ich lade gerade Daten ...
 668 		cscript /nologo "%D%" "%par_MRTK_Server%%par_style%" %par_style% > nul
 669 	)
 670 	if exist "./%style%" (
 671 		rmdir /s /q %style%
 672 	)
 673 	"%B%unzip.exe" ./%par_style% -d ./ > nul
 674 	if exist %par_style% (
 675 		del "%CD%\%par_style%"
 676 	)
 677 	echo MRTK: Style '%style%' geladen und entpackt
 678 ) else (
 679 	for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
 680 		set "DEL=%%a"
 681 	)
 682 	echo|set /p=MRTK: Style '%style%' & call :ColorText fa "aktuell"
 683 	echo.
 684 )
 685 
 686 :LOAD_SPERRUNGEN
 687 echo.
 688 for /f "delims=" %%i in ('echo %par_sperrung%') do set "sperrung=%%~ni"
 689 rem Korrektur, wenn Datei auf Server mit Ergaenzung '_0' usw.
 690 set sperrung=%sperrung:~0,13%
 691 if NOT exist %sperrung% (
 692 	if exist sperrung* (
 693 		for /f "tokens=*" %%i in ('dir /ad /b "%CD%\sperrung*"') do rmdir /s /q "%CD%\%%i" 2>nul
 694 		echo MRTK: Alte Sperrung gel%oe%scht 
 695 	)
 696 	rem if exist "wget.exe" (
 697 	if %ohnewget%==nein (
 698 		"%B%wget.exe" -c "%par_MRTK_Server%%par_sperrung%" -O ./%par_sperrung%
 699 		title MotoRoute-OpenStreetMap
 700 	) else (
 701 		echo MRTK: Bitte warten ... Ich lade gerade Daten ...
 702 	cscript /nologo "%D%" "%par_MRTK_Server%%par_sperrung%" %par_sperrung% > nul
 703 	)
 704 	if exist "./%sperrung%" (
 705 		rmdir /s /q %sperrung%
 706 	)
 707 	"%B%unzip.exe" ./%par_sperrung% -d ./ > nul
 708 	if exist %par_sperrung% (
 709 		del "%CD%\%par_sperrung%"
 710 	)
 711 	echo MRTK: Sperrung '%sperrung%' geladen und entpackt
 712 ) else (
 713 	for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
 714 		set "DEL=%%a"
 715 	)
 716 	echo|set /p=MRTK: Sperrung '%sperrung%' & call :ColorText fa "aktuell"
 717 	echo.
 718 )
 719 set sperrungen=%sperrung%
 720 for %%a in ("a=A" "b=B" "c=C" "d=D" "e=E" "f=F" "g=G" "h=H" "i=I" "j=J" "k=K" "l=L"
 721  "m=M" "n=N" "o=O" "p=P" "q=Q" "r=R" "s=S" "t=T" "u=U" "v=V" "w=W" "x=X" "y=Y" "z=Z" "_= ") do (set "sperrungen=!sperrungen:%%~a!") 
 722 rem echo SPERRUNGEN YYYY %sperrungen%
 723 rem echo sperrung_YYYY %sperrung%
 724 
 725 :LOAD_SPLITTER
 726 echo.
 727 rem if exist "wget.exe" (
 728 if %ohnewget%==nein (
 729 	"%B%wget.exe" -q -L "%par_mkgmap_Server%splitter.html" -O "%O%splitter.html"
 730 	title MotoRoute-OpenStreetMap
 731 ) else (
 732 	cscript /nologo "%Q%" "%par_mkgmap_Server%splitter.html" "%O%splitter.html"
 733 )
 734 "%B%grep\grep.exe" -o "splitter-r[0-9]*.zip" "%O%splitter.html" > "%O%splitter.txt"
 735 ("%B%head.exe" -n 1 "%O%splitter.txt") > "%O%splitter1.txt"
 736 goto SPLITTER_AKTUELL
 737 
 738 :SPLITTER_AKTUELL
 739 set /p splitter_zip=<"%O%splitter1.txt"
 740 set splitter=%splitter_zip:~-0,13%
 741 
 742 :SPLITTER_DOWNLOAD
 743 if NOT exist %splitter% (
 744 	if exist splitter* (
 745 		for /f "tokens=*" %%i in ('dir /ad /b "%CD%\splitter*"') do rmdir /s /q "%CD%\%%i" 2>nul
 746 		echo MRTK: Alter Splitter gel%oe%scht
 747 	)
 748 	rem if exist "wget.exe" (
 749 	if %ohnewget%==nein (
 750 		"%B%wget.exe" -c "%par_mkgmap_Server%%splitter_zip%" -O ./%splitter_zip%
 751 		title MotoRoute-OpenStreetMap
 752 	) else (
 753 		echo MRTK: Bitte warten ... Ich lade gerade Daten ...
 754 	cscript /nologo "%D%" "%par_mkgmap_Server%%splitter_zip%" %splitter_zip% > nul
 755 	)
 756 	if exist "./%splitter%" (
 757 		rmdir /s /q %splitter%
 758 	)
 759 	"%B%unzip.exe" ./%splitter_zip% -d ./ > nul
 760 	if exist %splitter_zip% (
 761 		del "%CD%\%splitter_zip%"
 762 	)
 763 	echo MRTK: Splitter '%splitter_zip%' geladen und entpackt
 764 ) else (
 765 	for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
 766 		set "DEL=%%a"
 767 	)
 768 	echo|set /p=MRTK: Splitter '%splitter%' & call :ColorText fa "aktuell"
 769 	echo.
 770 )
 771 
 772 :LOAD_MKGMAP
 773 echo.
 774 rem if exist "wget.exe" (
 775 if %ohnewget%==nein (
 776 	"%B%wget.exe" -q -L "%par_mkgmap_Server%mkgmap.html" -O "%O%mkgmap.html"
 777 	title MotoRoute-OpenStreetMap
 778 ) else (
 779 	cscript /nologo "%Q%" "%par_mkgmap_Server%mkgmap.html" "%O%mkgmap.html"
 780 )
 781 "%B%grep\grep.exe" -o "mkgmap-r[0-9]*.zip" "%O%mkgmap.html" > "%O%mkgmap.txt"
 782 ("%B%head.exe" -n 1 "%O%mkgmap.txt") > "%O%mkgmap1.txt"
 783 goto MKGMAP_AKTUELL
 784 
 785 :MKGMAP_AKTUELL
 786 set /p mkgmap_zip=<"%O%mkgmap1.txt"
 787 set mkgmap=%mkgmap_zip:~-0,12%
 788 
 789 :MKGMAP_DOWNLOAD
 790 if NOT exist %mkgmap% (
 791 	if exist mkgmap* (
 792 		for /f "tokens=*" %%i in ('dir /ad /b "%CD%\mkgmap*"') do rmdir /s /q "%CD%\%%i" 2>nul
 793 		echo MRTK: Altes mkgmap gel%oe%scht
 794 	)
 795 	rem if exist "wget.exe" (
 796 	if %ohnewget%==nein (
 797 		"%B%wget.exe" -c "%par_mkgmap_Server%%mkgmap_zip%" -O ./%mkgmap_zip%
 798 		title MotoRoute-OpenStreetMap
 799 	) else (
 800 		echo MRTK: Bitte warten ... Ich lade gerade Daten ...
 801 		cscript /nologo "%D%" "%par_mkgmap_Server%%mkgmap_zip%" %mkgmap_zip% > nul
 802 	)
 803 	if exist "./%mkgmap%" (
 804 		rmdir /s /q %mkgmap%
 805 	)
 806 	"%B%unzip.exe" ./%mkgmap_zip% -d ./ > nul
 807 	if exist %mkgmap_zip% (
 808 		del "%CD%\%mkgmap_zip%"
 809 	)
 810 	echo MRTK: mkgmap '%mkgmap_zip%' geladen und entpackt
 811 ) else (
 812 	for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
 813 		set "DEL=%%a"
 814 	)
 815 	echo|set /p=MRTK: mkgmap '%mkgmap%' & call :ColorText fa "aktuell"
 816 	echo.
 817 )
 818 
 819 :SEAZIP
 820 echo.
 821 call :ZIPAGE sea ZIP_AGE ZIP_DATE
 822 if %ZIP_AGE% LSS 100 (
 823 	echo MRTK: Geladene 'sea.zip' wird verwendet
 824 ) else (
 825 	if %ZIP_AGE% == 999 (
 826 		echo MRTK: 'sea.zip' wird geladen ... 
 827 	) else ( 
 828 		echo MRTK: Geladene 'sea.zip' zu alt - wird neu geladen
 829 		del "%Z%sea.zip" 1> nul 2> nul
 830 	)
 831 	rem if exist "wget.exe" (
 832 	if %ohnewget%==nein (
 833 		"%B%wget.exe" -c "%par_seazip_Server%" -O ./sea.zip
 834 		title MotoRoute-OpenStreetMap
 835 	) else (
 836 		echo MRTK: Bitte warten ... Ich lade gerade Daten ...
 837 		cscript /nologo "%D%" "%par_seazip_Server%" ./sea.zip > nul
 838 	)
 839 	echo MRTK: 'sea.zip' geladen
 840 	call :ZIPAGE sea ZIP_AGE ZIP_DATE
 841 )	
 842 set seazip=%ZIP_DATE%
 843 set ZIP_AGE=
 844 set ZIP_DATE=
 845 rem echo %seazip%
 846 
 847 :BOUNDSZIP
 848 rem Alternative: bei vorhandener 'bounds.zip' wie 'sea.zip' ueberpruefen und alle 30 Tage neu laden
 849 if NOT exist "%Z%bounds.zip" (
 850 	goto :COMPILE_BOUNDARIES
 851 ) 
 852 echo.
 853 call :ZIPAGE bounds ZIP_AGE ZIP_DATE
 854 rem echo %ZIP_AGE%
 855 rem echo %ZIP_DATE%
 856 if %ZIP_AGE% LSS 100 (
 857 	echo MRTK: Geladene 'bounds.zip' wird verwendet
 858 ) else (
 859 	if %ZIP_AGE% == 999 (
 860 		echo MRTK: 'bounds.zip' wird geladen ... 
 861 	) else ( 
 862 		echo MRTK: Geladene 'bounds.zip' zu alt - wird neu geladen
 863 		del "%Z%bounds.zip" 1> nul 2> nul
 864 	)
 865 	rem if exist "wget.exe" (
 866 	if %ohnewget%==nein (
 867 		"%B%wget.exe" -c "%par_seazip_Server:sea=bounds%" -O ./bounds.zip
 868 		title MotoRoute-OpenStreetMap
 869 	) else (
 870 		echo MRTK: Bitte warten ... Ich lade gerade Daten ...
 871 		cscript /nologo "%D%" "%par_seazip_Server:sea=bounds%" ./bounds.zip > nul
 872 	)
 873 	echo MRTK: 'bounds.zip' geladen
 874 	call :ZIPAGE bounds ZIP_AGE ZIP_DATE
 875 )
 876 set bounds_zip=.zip
 877 set boundszip=%ZIP_DATE%
 878 set ZIP_AGE=
 879 set ZIP_DATE=
 880 goto :TIMESTAMP
 881 
 882 :COMPILE_BOUNDARIES
 883 rem *.o5m-Dateien nicht auf %TEMP% sondern auf ./temp
 884 rem EUROPE.o5m ca. 30 GB !!!
 885 if NOT exist temp (
 886 	md temp
 887 )
 888 echo.
 889 echo MRTK: Boundaries '%str_Region%' kompilieren
 890 echo MRTK: 1. Start osmconvert: %date% %time%
 891 "%B%osmconvert.exe" ^
 892 	%dropfile% ^
 893 	-o="%T%%str_Region%.o5m" ^
 894 	1> "%L%osmconvert_%str_Region%.log" 2> "%L%osmconvert_%str_Region%.err.log"
 895 echo MRTK:    Ende  osmconvert: %date% %time%
 896 echo MRTK: '%str_Region%.o5m' erzeugt
 897 
 898 echo.
 899 echo MRTK: 2. Start osmfilter: %date% %time%
 900 "%B%osmfilter.exe" ^
 901 	"%T%%str_Region%.o5m" ^
 902 	--keep-nodes= ^
 903 	--keep-ways-relations="boundary=administrative =postal_code postal_code=" ^
 904 	-o="%T%%str_Region%-boundaries.o5m" ^
 905 	1> "%L%osmfilter_%str_Region%.log" 2> "%L%osmfilter_%str_Region%.err.log"
 906 echo MRTK:    Ende  osmfilter: %date% %time%
 907 echo MRTK: '%str_Region%-boundaries.o5m' erzeugt
 908 
 909 :CALC_RAM1
 910 for /f "skip=1" %%p in ('wmic os get freephysicalmemory') do (
 911 	set mem1=%%p
 912 	goto :RAM1
 913 )
 914 :RAM1
 915 set /a ram1=%mem1%/1000
 916 
 917 echo.
 918 echo MRTK: 3. Start mkgmap-BoundaryPreprocessor: %date% %time% RAM: %ram1%m
 919 %javapfad% -Xmx%ram1%m -cp ./%mkgmap%/mkgmap.jar %par_Preprocessor% ^
 920 	"%T%%str_Region%-boundaries.o5m" ^
 921 	./bounds ^
 922 	1> "%L%%mkgmap%_BoundaryPreprocessor_%str_Region%.log" ^
 923 	2> "%L%%mkgmap%_BoundaryPreprocessor_%str_Region%.err.log"
 924 echo MRTK:    Ende  mkgmap-BoundaryPreprocessor: %date% %time%
 925 echo MRTK: Boundaries '%str_Region%' erzeugt
 926 if exist "%T%" (
 927 	rmdir /s /q "%T%"
 928 )
 929 echo MRTK: Tempor%ae%re '.o5m'-Dateien gel%oe%scht
 930 set bounds_zip=
 931 
 932 :TIMESTAMP
 933 "%B%osmconvert.exe" ^
 934 	%dropfile% ^
 935 	--out-timestamp ^
 936 	> "%O%osmpbf-timestamp.txt"
 937 SET /p timestamp=<"%O%osmpbf-timestamp.txt"
 938 SET timestamp=%timestamp:~,10%
 939 
 940 :FAMILY_ID
 941 if [%conf_FIDb%]==[] (
 942 	goto :FAMILY_ID_CALC
 943 ) else (
 944 	set str_FID_gbasemap=%conf_FIDb%
 945 	set str_FID_gsperrung=%conf_FIDx%
 946 	goto :MAPS_DIR
 947 )
 948 
 949 :FAMILY_ID_CALC
 950 call :DATE_TO_MJD %timestamp:~0,4% %timestamp:~5,2% %timestamp:~8,2% MJD
 951 set /a MJD3=%MJD:~2,3%
 952 set /a num=%random% %%9 +1
 953 set /a str_FID_gbasemap=%MJD3%%num%
 954 set /a num=%num%-1
 955 set str_FID_gsperrung=%MJD3%%num%
 956 
 957 :MAPS_DIR
 958 echo.	
 959 if NOT exist maps (
 960 	md maps
 961 	echo MRTK: Ordner \maps\ angelegt
 962 ) else (
 963 	echo MRTK: Ordner \maps\ vorhanden
 964 )
 965 if exist "./maps/%str_Region%_%timestamp%_%str_FID_gbasemap%" (
 966 	rmdir /s /q "./maps/%str_Region%_%timestamp%_%str_FID_gbasemap%"
 967 )
 968 mkdir "./maps/%str_Region%_%timestamp%_%str_FID_gbasemap%"
 969 mkdir "./maps/%str_Region%_%timestamp%_%str_FID_gbasemap%/SD/GARMIN"
 970 mkdir "./maps/%str_Region%_%timestamp%_%str_FID_gbasemap%/SD/GARMIN/GPX"
 971 mkdir "./maps/%str_Region%_%timestamp%_%str_FID_gbasemap%/SD/GARMIN/POI"
 972 echo MRTK: Ordner \maps\%str_Region%_%timestamp%_%str_FID_gbasemap%\ angelegt
 973 
 974 :CHECK
 975 echo.
 976 echo MRTK: Alle Dateien aktuell?
 977 echo MRTK: %dropfile% (%timestamp%)
 978 echo MRTK: style    : %style%
 979 echo MRTK: sperrung : %sperrung%
 980 echo MRTK: splitter : %splitter%
 981 echo MRTK: mkgmap   : %mkgmap%
 982 echo.
 983 echo MRTK: Verwendete Family-ID
 984 echo MRTK: gbasemap : %str_FID_gbasemap%
 985 echo MRTK: gsperrung: %str_FID_gsperrung%
 986 
 987 set fileexist=0
 988 rem Ab Version 1.2.70 werden die Bounds waehrend der Laufzeit kompiliert
 989 rem Ab Version 1.5.83 werden vorhandene 'bounds.zip' alle Monat aktualisiert
 990 rem Ab Version 1.3.73 werden die Sea-Bounds waehrend der Laufzeit geladen und alle Monat aktualisiert
 991 if NOT exist ./%style% (
 992 	set fileexist=1
 993 	echo MRTK: Ordner '%style%' NICHT vorhanden!
 994 )
 995 if NOT exist ./%sperrung% (
 996 	set fileexist=1
 997 	echo MRTK: Ordner '%sperrung%' NICHT vorhanden!
 998 )
 999 if NOT exist ./sea.zip (
1000 	set fileexist=1
1001 	echo MRTK: 'sea.zip' NICHT vorhanden!
1002 )
1003 if NOT exist ./%splitter% (
1004 	set fileexist=1
1005 	echo MRTK: Ordner '%splitter%' NICHT vorhanden!
1006 )
1007 if NOT exist ./%mkgmap% (
1008 	set fileexist=1
1009 	echo MRTK: Ordner '%mkgmap%' NICHT vorhanden!
1010 )
1011 if %fileexist%==1 (
1012 	color 4e
1013 	echo.
1014 	echo MRTK: ##############################################################
1015 	echo MRTK: ### Die Ausf%ue%hrung wurde ABGEBROCHEN :-(                   ###
1016 	echo MRTK: ##############################################################
1017 	echo MRTK: ### Wichtige Dateien und/oder Ordner fehlen zur Ausf%ue%hrung ###
1018 	echo MRTK: ##############################################################
1019 	echo.
1020 	goto :ABBRUCH
1021 ) else (
1022 	echo.
1023 	for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
1024 		set "DEL=%%a"
1025 	)
1026 	echo|set /p=MRTK: & call :ColorText fa "OK - Alles vorhanden - Ausf%ue%hrung beginnt"
1027 	echo.
1028 )
1029 
1030 :TILES
1031 echo.
1032 if exist tiles (
1033 	rmdir /s /q tiles
1034 )
1035 mkdir tiles
1036 
1037 :AREAS_LIST
1038 if exist "%Z%areas.list" (
1039 	copy "%Z%areas.list" "%Z%\tiles\areas.list" 1> nul
1040 	set str_splitfile=--split-file=areas.list
1041 	echo MRTK: 'areas.list' wird verwendet
1042 ) else (
1043 	set str_splitfile=
1044 )
1045 
1046 :CALC_RAM2
1047 for /f "skip=1" %%p in ('wmic os get freephysicalmemory') do (
1048 	set mem2=%%p
1049 	goto :RAM2
1050 )
1051 :RAM2
1052 set /a ram2=%mem2%/1000
1053 
1054 :SPLITTER
1055 echo MRTK: splitte '%filename2%'
1056 echo MRTK: Start Splitter: %date% %time% (RAM: %ram2%m)
1057 %javapfad% -Xmx%ram2%m -jar ./%splitter%/splitter.jar ^
1058 	%str_splitfile% ^
1059 	--max-nodes=1600000 ^
1060 	--output-dir=./tiles%outputdir% ^
1061 	%dropfile% ^
1062 	1> "%L%%splitter%.log" 2> "%L%%splitter%.err.log"
1063 rem Abfrage Error-Log
1064 ("%B%head.exe" -n 1 "%L%%splitter%.err.log") > "%L%%splitter%-1.err.log"
1065 SET /p java_err=<"%L%%splitter%-1.err.log"
1066 if "%java_err%" == "" (
1067 	goto :SPLITTER_OK
1068 ) else (
1069 	goto :ABBRUCH_JAVA
1070 )
1071 
1072 :SPLITTER_OK
1073 echo MRTK: Ende  Splitter: %date% %time%
1074 
1075 :GBASEMAP
1076 echo.
1077 mkdir "./tiles/gbasemap"
1078 copy "%CD%\%style%\motorout.txt" "%CD%\tiles\gbasemap\motoroute.txt" > nul
1079 echo MRTK: Text-TYP-File kopiert nach \osm_mrtk\tiles\gbasemap\
1080 set von="FID=21011"
1081 set nach="FID=%str_FID_gbasemap%"
1082 cscript /nologo "%R%" "./tiles/gbasemap/motoroute.txt" "./tiles/gbasemap/motorout.txt" %von% %nach%
1083 if exist "./tiles/gbasemap/motoroute.txt" (
1084 	del "%CD%\tiles\gbasemap\motoroute.txt"
1085 )
1086 echo MRTK: Family-ID (FID) im Text-TYP-File ge%ae%ndert in %str_FID_gbasemap%
1087 
1088 if exist ./tiles/gbasemap/gmapsupp (
1089 	rmdir /s /q ./tiles/gbasemap/gmapsupp
1090 )
1091 
1092 :CALC_RAM3
1093 for /f "skip=1" %%p in ('wmic os get freephysicalmemory') do (
1094 	set mem3=%%p
1095 	goto :RAM3
1096 )
1097 :RAM3
1098 echo.
1099 set /a ram3=%mem3%/1000
1100 
1101 :MKGMAP_GBASEMAP
1102 echo MRTK: baue Karten-Kacheln '%str_Region%' (FID: %str_FID_gbasemap%)
1103 rem Erzeugung 'gmapsupp.img' bei 'EUROPE' auslassen, da > 4GB
1104 if NOT [%str_Region%]==[EUROPE] (
1105 	set gmapsupp=--gmapsupp
1106 ) else (
1107 	set gmapsupp=
1108 	echo|set /p=MRTK: & call :ColorText f9 "########################################################################" & echo.
1109 	echo|set /p=MRTK: & call :ColorText f9 "### Erzeuge KEINE 'gmapsupp.img' f%ue%r Region 'EUROPE', da gr%oe%%ss%er 4 GB ###" & echo. 
1110 	echo|set /p=MRTK: & call :ColorText f9 "### Verwende Garmin MapInstall©.                                     ###" & echo.
1111 	echo|set /p=MRTK: & call :ColorText f9 "########################################################################" & echo.
1112 )
1113 echo MRTK: Start mkgmap: %date% %time% (RAM: %ram3%m)
1114 %javapfad% -Xmx%ram3%m -jar ./%mkgmap%/mkgmap.jar ^
1115 	--bounds=./bounds%bounds_zip% ^
1116 	--precomp-sea=./sea.zip ^
1117 	--output-dir=./tiles/gbasemap/ ^
1118 	--max-jobs ^
1119 	--style-file=./%style%/motorout_style/ ^
1120 	--description="OSM MRTK %str_Region% %timestamp% %str_FID_gbasemap%" ^
1121 	--country-name=%str_Region% ^
1122 	--country-abbr=%str_Region_kurz% ^
1123 	--family-id=%str_FID_gbasemap% ^
1124 	--product-id=1 ^
1125 	--series-name="OSM MRTK %str_Region% %timestamp% %str_FID_gbasemap%" ^
1126 	--family-name="OSM MRTK %str_Region% %timestamp% %str_FID_gbasemap%" ^
1127 	--area-name=%str_Region_kurz% ^
1128 	--code-page=%str_Codepage% ^
1129 	--latin1 ^
1130 	--mapname=63240001 ^
1131 	--draw-priority=10 ^
1132 	--tdbfile ^
1133 	--add-pois-to-areas ^
1134 	--link-pois-to-ways ^
1135 	--remove-short-arcs ^
1136 	--levels=0:24,1:22,2:21,3:19,4:18,5:16 ^
1137 	--location-autofill=is_in,nearest ^
1138 	--merge-lines ^
1139 	--process-exits ^
1140 	--index ^
1141 	--route ^
1142 	%gmapsupp% ^
1143 	--nsis ^
1144 	./tiles/*.osm.pbf ^
1145 	./tiles/gbasemap/motorout.txt ^
1146 	1> "%L%%mkgmap%_%str_Region%.log" 2> "%L%%mkgmap%_%str_Region%.err.log"
1147 echo MRTK: Ende  mkgmap: %date% %time%
1148 if exist ./tiles/gbasemap/gmapsupp.img (
1149 	move "%CD%\tiles\gbasemap\gmapsupp.img" "%CD%\maps\%str_Region%_%timestamp%_%str_FID_gbasemap%\gmapsupp.img" > nul
1150 	echo.
1151 	echo MRTK: gbasemap 'gmappsupp.img' erzeugt und kopiert nach
1152 	echo MRTK: \osm_mrtk\maps\%str_Region%_%timestamp%_%str_FID_gbasemap%\gmapsupp.img
1153 )
1154 
1155 :GPSBABEL
1156 echo.
1157 echo MRTK: 'sperrung_TRACKS.GPX' zu 'sperrung.osm' konvertieren
1158 if exist "./%sperrung%/sperrung.osm" (
1159 	del "%CD%\%sperrung%\sperrung.osm"
1160 )
1161 "%B%/gpsbabel/gpsbabel.exe" -i gpx -o osm ^
1162 	./%sperrung%/sperrung_TRACKS.gpx ^
1163 	./%sperrung%/sperrung.osm.tmp > nul
1164 rem Einfuegen <tag k='highway' v='motorway' />
1165 rem "%B%sed.exe" -e 's/'\<'tag k='\''name'\''/'\<'tag k='\''highway'\'' v='\''motorway'\''\/'\>'\'$'\n '\<'tag k='\''name'\''/g' ./tmp/sperrung.osm.tmp > ./tmp/sperrung.osm
1166 rem
1167 rem ### Naechste Zeile - Einf¸gen <tag k='highway' v='motorway' />
1168 rem # sed -e 's/'\<'tag k='\''name'\''/'\<'tag k='\''highway'\'' v='\''motorway'\''\/'\>'| '\<'tag k='\''name'\''/g' \
1169 rem # ~/tmp/sperrung.osm > ~/tmp/sperrung.osm.tmp
1170 rem
1171 rem ### Naechste Zeile - Ersetzen der temporaeren Pipe | in Zeilenumbrueche
1172 rem #sed -e 's/|/\'$'\n/g' ~/tmp/sperrung.osm.tmp > ~/tmp/sperrung.osm
1173 rem Windows-Ersatz fuer Unix-SED-Gehacke
1174 set von="<tag k='name'"
1175 rem Die temporaere Pipe | wird im VB-Script "%R%" in Zeilenumbrueche ersetzt
1176 set nach="<tag k='highway' v='motorway' /> | <tag k='name'"
1177 cscript /nologo "%R%" "./%sperrung%/sperrung.osm.tmp" "./%sperrung%/sperrung.osm" %von% %nach%
1178 if exist "./%sperrung%/sperrung.osm.tmp" (
1179 	del "%CD%\%sperrung%\sperrung.osm.tmp"
1180 )
1181 echo MRTK: 'sperrung.osm' erzeugt und angepasst
1182 
1183 :GSPERRUNG
1184 echo.
1185 mkdir "./tiles/gsperrung"
1186 copy "%CD%\%style%\sperrung.txt" "%CD%\tiles\gsperrung\sperrungen.txt" > nul
1187 echo MRTK: Text-TYP-File kopiert nach \osm_mrtk\tiles\gsperrung\
1188 set von="FID=21012"
1189 set nach="FID=%str_FID_gsperrung%"
1190 cscript /nologo "%R%" "./tiles/gsperrung/sperrungen.txt" "./tiles/gsperrung/sperrung.txt" %von% %nach%
1191 if exist "./tiles/gsperrung/sperrungen.txt" (
1192 	del "%CD%\tiles\gsperrung\sperrungen.txt"
1193 )
1194 echo MRTK: Family-ID (FID) im Text-TYP-File ge%ae%ndert in %str_FID_gsperrung%
1195 
1196 :CALC_RAM4
1197 for /f "skip=1" %%p in ('wmic os get freephysicalmemory') do (
1198 	set mem4=%%p
1199 goto :RAM4
1200 )
1201 :RAM4
1202 set /a ram4=%mem4%/1000
1203 
1204 :MKGMAP_GSPERRUNG
1205 echo.
1206 echo MRTK: baue Karten-Kacheln f%ue%r Strecken-Sperrungen (FID: %str_FID_gsperrung%)
1207 echo MRTK: Start mkgmap: %date% %time% (RAM %ram4%m)
1208 %javapfad% -Xmx%ram%m -jar ./%mkgmap%/mkgmap.jar ^
1209 	--output-dir=./tiles/gsperrung/ ^
1210 	--max-jobs ^
1211 	--style-file=./%style%/sperrung_style/ ^
1212 	--description="OSM MRTK %sperrungen% %str_FID_gsperrung%"  ^
1213 	--country-name=Sperrungen ^
1214 	--country-abbr=XX ^
1215 	--family-id=%str_FID_gsperrung% ^
1216 	--product-id=1 ^
1217 	--series-name="OSM MRTK %sperrungen% %str_FID_gsperrung%" ^
1218 	--family-name="OSM MRTK %sperrungen% %str_FID_gsperrung%" ^
1219 	--area-name=XX ^
1220 	--code-page=%str_Codepage% ^
1221 	--latin1 ^
1222 	--mapname=64240001 ^
1223 	--draw-priority=20 ^
1224 	--add-pois-to-areas ^
1225 	--gmapsupp ^
1226 	--location-autofill=0 ^
1227 	--transparent ^
1228 	./%sperrung%/sperrung.osm ^
1229 	./tiles/gsperrung/sperrung.txt ^
1230 	1> "%L%%mkgmap%_sperrung.log" 2> "%L%%mkgmap%_sperrung.err.log"
1231 echo MRTK: Ende  mkgmap: %date% %time%
1232 echo.
1233 move "%CD%\tiles\gsperrung\gmapsupp.img" "%CD%\%sperrung%\gmapsupp.img" > nul
1234 echo MRTK: gsperrung 'gmapsupp.img' erzeugt und kopiert nach
1235 echo MRTK: \osm_mrtk\sperrung\gmapsupp.img
1236 
1237 :GMT
1238 if exist ./maps/%str_Region%_%timestamp%_%str_FID_gbasemap%/gmapsupp.img (
1239 	echo.
1240 	"%B%gmt\gmt.exe" -jo ./maps/%str_Region%_%timestamp%_%str_FID_gbasemap%/SD/GARMIN/gmapsupp.img ^
1241 	./maps/%str_Region%_%timestamp%_%str_FID_gbasemap%/gmapsupp.img ^
1242 	./%sperrung%/gmapsupp.img 1> "%L%gmt.log" 2> "%L%gmt.err.log"
1243 	echo MRTK: gmt: gbasemap + gsperrung 'gmapsupp.img' kopiert nach
1244 	echo MRTK: \osm_mrtk\maps\%str_Region%_%timestamp%_%str_FID_gbasemap%\SD\GARMIN\
1245 )
1246 
1247 :POI
1248 echo.
1249 copy "%CD%\%sperrung%\sperrung_POI.GPI" ^
1250 	"%CD%\maps\%str_Region%_%timestamp%_%str_FID_gbasemap%\SD\GARMIN\POI\sperrung_POI.GPI" > nul
1251 echo MRKT: 'sperrung_POI.GPI' kopiert nach
1252 echo MRTK: \osm_mrtk\maps\%str_Region%_%timestamp%_%str_FID_gbasemap%\SD\GARMIN\POI\
1253 
1254 :PIMP_NSIS
1255 echo.
1256 rem echo MRTK: NSIS-Konfiguration 'osmmap.nsi' anpassen
1257 rem Installation der Kartenkacheln in Nsis-Installer entfernen
1258 "%B%grep\grep.exe" -i -v "File .6324[0-9]*.img" ./tiles/gbasemap/osmmap.nsi > ./tiles/gbasemap/osmmap_2.nsi
1259 rem Section in .nsi-Script erg‰nzen, um Kartenkacheln zu kopieren
1260 rem Section -MapInstall
1261 rem CopyFiles /SILENT /FILESONLY "$EXEDIR\..\..\tiles\gbasemap\6324*.img" "$INSTDIR"
1262 rem SectionEnd
1263 echo. >> ./tiles/gbasemap/osmmap_2.nsi
1264 echo Section -MapInstall >> ./tiles/gbasemap/osmmap_2.nsi
1265 echo CopyFiles /SILENT /FILESONLY "$EXEDIR\gbasemap\6324*.img" "$INSTDIR" >> ./tiles/gbasemap/osmmap_2.nsi
1266 echo SectionEnd >> ./tiles/gbasemap/osmmap_2.nsi
1267 rem Bitmap, Icon, Kopf in nsis-Konfiguration einspielen
1268 copy "%O%MRTKNsis.bmp" "%CD%\tiles\gbasemap" > nul
1269 copy "%O%MRTKIcon.ico" "%CD%\tiles\gbasemap" > nul
1270 copy "%O%osmmap_1.nsi" "%CD%\tiles\gbasemap" > nul
1271 del "%CD%\tiles\gbasemap\osmmap.nsi"
1272 copy "%CD%\tiles\gbasemap\*.nsi" "%CD%\tiles\gbasemap\osmmap.nsi" > nul
1273 del "%CD%\tiles\gbasemap\osmmap_*.nsi"
1274 echo MRTK: NSIS-Konfiguration 'osmmap.nsi' angepasst
1275 
1276 :MAKENSIS
1277 echo.
1278 echo MRTK: erzeuge Installations-Datei f%ue%r Garmin BaseCamp©
1279 echo MRTK: Start makensis: %date% %time%
1280 "%B%nsis\makensis.exe" "./tiles/gbasemap/osmmap.nsi" 1> "%L%makensis.log" 2> "%L%makensis.err.log"
1281 rem Quiet-Mode
1282 ::"%B%nsis\makensis.exe" /V1 "./tiles/gbasemap/osmmap.nsi"
1283 rem Window-Mode
1284 ::"%B%nsis\makensisw.exe" "./tiles/gbasemap/osmmap.nsi"
1285 echo MRTK: Ende makensis: %date% %time%
1286 move "%CD%\tiles\gbasemap\osm mrtk %str_Region% %timestamp% %str_FID_gbasemap%.exe" ^
1287 	"%CD%\maps\%str_Region%_%timestamp%_%str_FID_gbasemap%" > nul
1288 echo MRTK: Installer f%ue%r Garmin BaseCamp© erzeugt
1289 
1290 :QLANDKARTE
1291 echo.
1292 rem QLandkarteGTÆ - http://www.qlandkarte.org"
1293 if exist "%CD%\tiles\gbasemap\MRTKNsis.bmp" (
1294 	del "%CD%\tiles\gbasemap\MRTKNsis.bmp"
1295 )
1296 if exist "%CD%\tiles\gbasemap\MRTKIcon.ico" (
1297 	del "%CD%\tiles\gbasemap\MRTKIcon.ico"
1298 )
1299 del "%CD%\tiles\gbasemap\osmmap.nsi"
1300 move "%CD%\tiles\gbasemap" "%CD%\maps\%str_Region%_%timestamp%_%str_FID_gbasemap%" > nul
1301 echo MRTK: gbasemap-Kartenkacheln verschoben nach
1302 echo MRTK: \osm_mrtk\maps\%str_Region%_%timestamp%_%str_FID_gbasemap%\gbasemap
1303 
1304 :MAPINSTALL
1305 echo.
1306 echo MRTK: Karten-Installations-Assistent f%ue%r Garmin BaseCamp©
1307 echo MRTK: Folge dessen Aufforderungen!
1308 echo MRTK: Beachte: Mehrere Karten nur mit verschiedenen Family-ID m%oe%glich!
1309 echo.
1310 echo|set /p=MRTK: & call :ColorText f9 "Bitte Installation zulassen" & echo.
1311 rem Wenn die Karte ohne Benutzer-Interaktion installiert werden soll:
1312 rem Silent-Install einschalten mit Option "/S"
1313 :: "%CD%\maps\%str_Region%_%timestamp%\OSM MRTK %str_Region% %timestamp% %str_FID_gbasemap%.exe" /S
1314 explorer "%CD%\maps\%str_Region%_%timestamp%_%str_FID_gbasemap%"
1315 "%CD%\maps\%str_Region%_%timestamp%_%str_FID_gbasemap%\OSM MRTK %str_Region% %timestamp% %str_FID_gbasemap%.exe"
1316 
1317 :SD_INSTALL
1318 if NOT [%str_Region%]==[EUROPE] (
1319 	echo.
1320 	echo MRTK: Bitte kopiere den Ordner 'GARMIN' der Region '%str_Region%' 
1321 	echo MRTK: aus dem Ordner 'SD' auf eine ausreichend gro%ss%e SD-Karte.
1322 )
1323 rem explorer "%CD%\maps\%str_Region%_%timestamp%_%str_FID_gbasemap%\SD\"
1324 
1325 :CLEANUP
1326 echo.
1327 if exist "%O%" (
1328 	rmdir /s /q "%O%"
1329 )
1330 if exist "./logs" (
1331 	del "%L%*-1.err.log" 1> nul 2> nul
1332 )
1333 if exist "./tiles" (
1334 	rmdir /s /q "./tiles"
1335 )
1336 if exist "./bounds" (
1337 	rmdir /s /q "./bounds"
1338 )
1339 if exist "%N%" (
1340 	del "%N%"
1341 )
1342 rem 0-Byte-Dateien/Leere Error-Logs loeschen
1343 for %%f in ("%L%*.*") do if %%~zf==0 del "%%f"
1344 echo MRKT: Tempor%ae%re Dateien gel%oe%scht
1345 
1346 :COPYRIGHT
1347 rem Copyright mit Fertig-Meldung nur bei erfolgreicher .exe-Datei (NSIS-Installer)
1348 if exist "./maps/%str_Region%_%timestamp%_%str_FID_gbasemap%/osm mrtk %str_Region% %timestamp% %str_FID_gbasemap%.exe" (
1349 	echo.
1350 	echo MRTK: Daten von OpenStreetMap
1351 	echo MRTK: http://www.openstreetmap.org/
1352 	echo MRTK: Ver%oe%ffentlicht unter ODbL
1353 	echo MRTK: http://opendatacommons.org/licenses/odbl/
1354 	echo MRTK: Map created with mkgmap
1355 	echo. 
1356 	echo|set /p=MRTK: Deine %str_Region%-Karte ist & call :ColorText fa "FERTIG" & echo|set /p=.
1357 	echo.
1358 	echo MRTK: Pr%ae%sentiert von MotoRoute - http://motoroute.de
1359 	goto :ENDE
1360 )
1361 
1362 :ZIPAGE %zipname% ZIP_AGE ZIP_DATE
1363 setlocal ENABLEEXTENSIONS
1364 if exist "%Z%%1.zip" (
1365 	goto ZIPAGE_CALC
1366 ) else (
1367 	goto ZIPAGE_NO
1368 )
1369 :ZIPAGE_CALC
1370 "%B%unzip.exe" -o ./%1.zip version.txt -d %O% > nul rem Version aus 'sea.zip' (oder 'bounds.zip') entpacken
1371 set /p ZIP_DATE=<"%O%version.txt"
1372 echo MRTK: '%1.zip' %ZIP_DATE%
1373 rem '%1.zip' ‰lter als 100 (enspricht 1 Monat)?
1374 rem '%1.zip' 20141027 heute 20141102
1375 rem 20141102 - 100 = 20141002 = '%1.zip' 20141027 ist juenger als 1 Monat = verwenden
1376 rem 20141102 - 100 = 20141002 = '%1.zip' 20141001 ist aelter als 1 Monat = neu laden	
1377 if %ZIP_DATE% LSS %JMT% (
1378 	set /a ZIP_AGE=%JMT%-%ZIP_DATE%
1379 )
1380 if [%ZIP_AGE%]==[] (
1381 	set /a ZIP_AGE=0
1382 ) else (
1383 	set /a ZIP_AGE=%ZIP_AGE%
1384 )
1385 goto :ZIPAGE_EXIT
1386 :ZIPAGE_NO
1387 rem '%1.zip' nicht vorhanden!
1388 set /a ZIP_AGE=999
1389 :ZIPAGE_EXIT
1390 endlocal & set %2=%ZIP_AGE% & set %3=%ZIP_DATE% & goto :EOF
1391 
1392 :DATE_TO_MJD %yy% %mm% %dd% MJD
1393 rem By Ritchie Lawrence, 2002-06-15. Version 1.0
1394 rem Func: Returns a Modified Julian Day (MJD) from a UTC date. Reference date
1395 rem (day 0) is Wednesday 17th November 1858. For NT4/2K/XP
1396 rem Args: %1 year component used to create MJD, 2 or 4 digits (by val)
1397 rem %2 month component used to create MJD, leading zero ok (by val)
1398 rem %3 day of month used to create MJD, leading zero ok (by val)
1399 rem %4 var to receive MJD (by ref)
1400 setlocal ENABLEEXTENSIONS
1401 set yy=%1&set mm=%2&set dd=%3
1402 if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
1403 set /a dd=100%dd%%%100,mm=100%mm%%%100
1404 set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
1405 set /a j=j/5+dd+y*365+y/4-y/100+y/400-2432046
1406 endlocal & set %4=%j% & goto :EOF
1407 
1408 :ColorText
1409 <nul set /p ".=%DEL%" > "%~2"
1410 findstr /v /a:%1 /R "^$" "%~2" nul
1411 del "%~2" > nul 2>&1
1412 goto :eof
1413 
1414 :ABBRUCH
1415 title MotoRoute-OpenStreetMap ABBRUCH: %str_Region% (%str_Region_kurz%)
1416 echo MsgBox ( "Wichtige Dateien zur Ausf¸hrung fehlen!" ^& vbCrLf ^& "Bitte zuerst laden!" ), vbCritical, "ABBRUCH" > "%M%" & "%M%"
1417 goto :CLEANUP
1418 
1419 :ABBRUCH_NOPARAMETER
1420 title MotoRoute-OpenStreetMap ABBRUCH: %str_Region% (%str_Region_kurz%)
1421 echo MsgBox ( "'Parameter.txt' nicht auf Server gefunden. Bitte wende Dich an %str_Support%!" ), vbExclamation, "ABBRUCH" > "%N%" & "%N%"
1422 goto :CLEANUP
1423 
1424 :ABBRUCH_XP
1425 title MotoRoute-OpenStreetMap ABBRUCH: %str_Region% (%str_Region_kurz%)
1426 echo MsgBox ( "Diese Windows-Version wird nicht unterst¸tzt!" ), vbExclamation, "ABBRUCH" > "%N%" & "%N%"
1427 goto :CLEANUP
1428 
1429 :ABBRUCH_32BIT
1430 title MotoRoute-OpenStreetMap ABBRUCH: %str_Region% (%str_Region_kurz%)
1431 echo MsgBox ( "Mit einem 32-Bit-System kˆnnen nur einzelne Europa-L‰nder gebaut werden!" ), vbExclamation, "ABBRUCH" > "%N%" & "%N%"
1432 goto :CLEANUP
1433 
1434 :ABBRUCH_RAM
1435 title MotoRoute-OpenStreetMap ABBRUCH: %str_Region% (%str_Region_kurz%)
1436 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%"
1437 goto :CLEANUP
1438 
1439 :ABBRUCH_JAVA
1440 title MotoRoute-OpenStreetMap ABBRUCH: %str_Region% (%str_Region_kurz%)
1441 color 4e
1442 echo.
1443 echo MRTK: ############################################
1444 echo MRTK: ### Die Ausf%ue%hrung wurde ABGEBROCHEN :-( ###
1445 echo MRTK: ############################################
1446 echo.
1447 echo MRTK: Java-hat Fehler erzeugt:
1448 echo MRTK: %java_err%
1449 echo MsgBox ( "Java hat Fehler erzeugt." ^& vbCrLf ^& "Die Ausf¸hrung wird abgebrochen." ), vbCritical, "ABBRUCH" > "%M%" & "%M%"
1450 goto :CLEANUP
1451 
1452 :NO_JAVA
1453 title MotoRoute-OpenStreetMap ABBRUCH: %str_Region% (%str_Region_kurz%)
1454 color 4e
1455 echo.
1456 echo MRTK: ############################################
1457 echo MRTK: ### Die Ausf%ue%hrung wurde ABGEBROCHEN :-( ###
1458 echo MRTK: ############################################
1459 echo.
1460 echo MRTK: Keine aktuelle Java-Installation auf Deinem PC gefunden!
1461 echo MsgBox ( "Keine aktuelle Java-Installation auf Deinem PC gefunden!" ^& vbCrLf ^& "Die Ausf¸hrung wird abgebrochen." ), vbCritical, "ABBRUCH" > "%N%" & "%N%"
1462 goto :CLEANUP
1463 
1464 :NO_OSMPBF
1465 title MotoRoute-OpenStreetMap ABBRUCH: %str_Region% (%str_Region_kurz%)
1466 cd tmp
1467 echo MsgBox ( "Du hast keine '*.osm.pbf'-Datei geladen." ^& vbCrLf ^& "Die Ausf¸hrung wird abgebrochen." ), vbCritical, "ABBRUCH" > "%M%" & "%M%"
1468 goto :CLEANUP
1469 
1470 :ENDE
1471 title MotoRoute-OpenStreetMap ENDE: %str_Region% (%str_Region_kurz%)
1472 
1473 echo.
1474 echo MRTK: MotoRoute w%ue%nscht gute Fahrt!
1475 echo.
1476 echo MRTK: Zum Beenden bitte eine beliebige Taste dr%ue%cken!
1477 pause > NUL
1478 
1479 :EXIT
1480 exit