Schritt 1: GitHub Repository auf lokalen Rechner klonen
git clone https://github.com/abrensch/brouter
Schritt 2: Bauen der Android-App abstellen
Für das reine Erstellen der Karten erscheint es nicht notwendig, auch die Android-App zu bauen. Das lässt sich in der Datei pom.xml anpassen, indem man den Eintrag " brouter-routing-app " mit " " auskommentiert.
Paket analog zur Anleitung in README.md kompilieren, dazu wird u.a. Apache Maven 3.0.3+, Java 6+ benötigt.
Schritt 3: SRTM-Daten downloaden
Dem maven-Test nach würde ich darauf tippen, dass ich zumindest Zip-Files im Verzeichnis /private-backup/srtm/ mit dem Namen srtm_38_02.zip (als Beispiel) benötige, die ein “.asc” File im schon beschriebenen Format enthalten.
Hier kann man immerhin ASCII-Grid wählen: http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp
und von dort aus direkt ftp://srtm.csi.cgiar.org/SRTM_v41/SRTM_Data_ArcASCII/srtm_38_03.zip downloaden.
mvn sieht schon mal gut aus, Testfälle laufen auch mit den beiden srtm-Dateien sauber durch.
Die Meldung für die Android App stört mich im Moment nicht (irgendein jarsigner-Problem).
[INFO] Reactor Summary:
[INFO]
[INFO] brouter ........................................... SUCCESS [1.708s]
[INFO] brouter-util ...................................... SUCCESS [8.734s]
[INFO] brouter-expressions ............................... SUCCESS [1.940s]
[INFO] brouter-mapaccess ................................. SUCCESS [2.022s]
[INFO] brouter-core ...................................... SUCCESS [2.197s]
[INFO] brouter-map-creator ............................... SUCCESS [11.184s]
[INFO] brouter-server .................................... SUCCESS [2.791s]
[INFO] brouter-routing-app ............................... FAILURE [22.394s]
Leider macht schon der erste Schritt im Script process_pbf_planet.sh Probleme, dort fehlt irgendwie der Parameter für das Filterprofil. Sind die Sourcen auf Github nicht aktuell? Nun gut, ich habe all.brf mal ergänzt.
osmconvert osm_extract.pbf --out-osm | java -Xmx256m -Xms256m -Xmn32m -cp ../../brouter.jar btools.mapcreator.OsmCutter lookups.dat nodetiles ways.dat relations.dat all.brf
Weiter geht’s mit:
java -Xmx2600M -Xms2600M -Xmn32M -cp ../../brouter.jar -Ddeletetmpfiles=true -DuseDenseMaps=true btools.mapcreator.RelationMerger ways.dat ways2.dat relations.dat ~/brouter/misc/profiles2/lookups.dat ~/brouter/misc/profiles2/trekking.brf ~/brouter/misc/profiles2/softaccess.brf
*** RelationMerger: merge relations into ways
marked 220 routes for tag: route_hiking_
marked 1122 routes for tag: route_bicycle_icn
marked 1930 routes for tag: route_hiking_nwn
marked 311 routes for tag: route_bicycle_mtb
marked 2271 routes for tag: route_hiking_lwn
marked 2950 routes for tag: route_bicycle_rcn
marked 476 routes for tag: route_foot_lwn
marked 2530 routes for tag: route_hiking_rwn
marked 722 routes for tag: route_mtb_lcn
marked 424 routes for tag: route_mtb_
marked 3 routes for tag: route_hiking_iwn
marked 90 routes for tag: route_mtb_mtb
marked 3123 routes for tag: route_bicycle_lcn
*** WayIterator reading: ways.dat
** relation access conflict for wid = 27268889 tags: highway=service service=parking_aisle access=private (ok=true)
Die Meldung erscheint mir plausibel, way 27268889 ist Teil eines Jakobswegs, darf aber nicht benutzt werden.
Nach diesem Schritt finde ich nur noch ein File “ways2.dat”. Das File ways.dat wurde in diesem Schritt gelöscht. Laut Script benötige ich das aber für den 3. Schritt.
Seltsamerweise sind im MapcreatorTest.java die beiden Schritte NodeFilter und RelationMerger genau in umgekehrter Reihenfolge drin…