BRouter: offline Fahrrad-Routing für Android

…vielen Dank für die Antwort. Das mit den Meßfehlern und verschiedenen Algorithmen ist mir schon bewußt.

Es geht mir nur darum bei der Radplanung “vernüftige” Steigungen auszuwählen und lieber etwas weiter fahre. Zum Beispiel letzte Tour Planung:

BRouter Ascend filtered~ 535m und bei GpsMaster gross rise~ 859m… (bei gleichem GPX Planungsfile)

Reale abgefahrene Route aufgezeichnet mit Oruxmaps und Außreißer entfernt:

Oruxmaps 1051m Aufstieg 1051m Abstieg

GpsMaster 2114m gross rise 2112 gross fall (der selbe GPX File von OruxMaps)

Abgefahrene Route aufgezeichnet mit dem BT747 Logger:

Oruxmaps 1111m Aufstieg 1102m Abstieg

GpsMaster 2277m gross rise 2268 gross fall (der selbe GPX File von OruxMaps)

Es geht mir hauptsächlich um die Differenz von der Planung zur realen Route. Dann kommt eben noch die Abweichung der einzelnen Tools hinzu. Ok. Aber der Trend ist zu erkennen.

Mich stört nur die Abweichung Planung ~ 535m zu gefahrenen Route 1051m bzw. 2114 m.

Aber, dass da kein Mißverständis aufkommt!

Ich bin mit dem BRouter und Offline WebClient super zufieden und glücklich.

Vielen Dank an die Autoren!
Achim

Nutzt Du bei der Trackaufzeichnung DEM-Höhendateien? Dann aktiviere in den Orux-Einstellungen unter → Sensoren → GPS die Funktion “DEM-Höhen interpolieren”. Die Höhensumme des Tracks wird dann sicher geringer und genauer.
Um diese Funktion setzen zu können, muss unter Grundeinstellungen “Erweiterte Einstellungen” aktiviert sein.

Also ich habe mit brouter sehr gute Erfahrungen gemacht, stimmt sehr gut mit meinen aufgezeichneten Tracks überein (brouter vs. gpx-track vom Garmin Oregon 300, ausgelesen mit gpxprune, Toleranz 2 m)

Schau dir mal die GPX-Datei mit einem Texteditor an. Evtl. sind da irgendwelche Ausreißer drin, die in einem grafischen Programm einfach nicht angezeigt werden.

Oder deine Route geht durch einen Bereich, in dem die brouter-Höhendaten krasse Fehler oder Ungenauigkeiten haben (z. B. oft im Hochgebirge in engen Tälern oder entlang von Felswänden etc.)

Oder du hast ein Gerätchen, welches in den Höhendaten sehr stark “springt” - siehst du auch in den Rohdaten. Teste mal mit dem Filter in gpxprune z.B. auf 4 m Toleranz

Ist es möglich, BRouter mit Qmapshack zu nutzen? Habe hier bisher nur den Hinweis gefunden, dass es mit dem Vorgänger QmaplandkarteGT geht.

Auch im Forum von Oruxmaps wundern sich plötzlich zwei Nutzer über eine beschränkte Zahl von Punkten beim Routen mit brouter. Orux sagt dort, es komme nicht von seiner Software. Bleibt ja nur noch eine Beschränkung durch brouter. Ich hatte auch schon zweimal die Meldung. Mal fünf und mal zehn Punkte.

Das habe ich jetzt mal bei der von mir oben beschriebenen Baustelle gemacht.

Im Orux Forum beschreibt jetzt jemand das die Begrenzung auf eine geringe Zahl von Routenpunkten in der neuesten Beta von Oruxmaps nicht mehr vorhanden sein soll. Liegt dann vielleicht doch nicht an brouter.

http://www.oruxmaps.com/foro/viewtopic.php?f=3&t=3675&sid=63deb169142b0177c9970d934e161b77&p=9372#p9372

Hallo,
die aktuell zur Verfügung stehenden Routing-Daten sind vom 05.05. bzw. 06.05.2016.
Ich habe seither weitere smoothness-Daten erhoben und eingepflegt und würde gerne die Auswirkungen auf das brouter-Routing überprüfen.
Weiß jemand, bis wann mit neuen Routing-Dateien gerechnet werden kann ?

Grüße aus Oberschwaben
Peter

oh ja, sorry, hab ich nicht gemerkt, ich schau’s mir an.

Die daten sind erneuert. Ist der “latest-planet”, der ist aber auch vom 13.6., also fast eine Woche alt.

Danke für die Aktualisierung.

Jetzt hätte ich noch eine Frage zu den Profilen.
Ich fahre eine Liegedreirad und bevorzuge geteerte Rad- bzw. geteerte Feldwege nutze aber auch Feldwege mit tracktype 2 und smoothness=intermediate. Land- und Bundesstraße möchte ich - ausserorts - soweit möglich meiden. Kreisstraßen sind noch akzeptabel, wenn kein geeigneter Rad- bzw. Feldweg in der Nähe ist.

Ich habe gerade - mit den neuen Daten - verschiedene Profile auf den von mir vor dem 13.06. mit smoothness ergänzten Wegen getestet.

Mein aktuelles Profil:
assign consider_elevation = true # set to false to ignore elevation in routing
assign allow_steps = false # set to false to disallow steps
assign allow_ferries = true # set to false to disallow ferries
assign ignore_cycleroutes = true # set to true for better elevation results
assign stick_to_cycleroutes = false # set to true to just follow cycleroutes
assign avoid_unsafe = true # set to true to avoid standard highways
assign turnInstructionMode = 1 # 0=none, 1=auto-choose, 2=locus-style, 3=osmand-style

avoid_unsafe = false führt mich zwischen Dürmentingen und Kanzach über eine Landstraße obwohl in der Nähe ein guter Radweg verläuft (teilweise tracktype 2 mit smoothness intermediate)
Beispiel mit Profil trekking und entspr. Zwischenzielen (entspricht o.a. Profil)
http://brouter.de/brouter-web/#zoom=13&lat=48.1081&lon=9.5007&layer=OpenStreetMap&lonlats=9.475209,48.153529|9.475209,48.153529|9.494591,48.146646|9.546089,48.092241|9.608231,48.065691&nogos=&alternativeidx=0&format=geojson&profile=trekking

Setze ich avoid_unsafe = true dann führt dies zu einem unnötigen Umweg:
http://brouter.de/brouter-web/#zoom=13&lat=48.1098&lon=9.5412&layer=OpenStreetMap&lonlats=9.475166,48.153432|9.60969,48.065426&nogos=&profile=trekking&alternativeidx=0&format=geojson

Meine gewünschte Route (alles auf guten Radwegen)
http://brouter.de/brouter-web/#zoom=13&lat=48.1035&lon=9.5421&layer=OpenStreetMap&lonlats=9.475166,48.153432|9.494462,48.146761|9.509354,48.132084|9.548836,48.107231|9.582825,48.064185|9.60969,48.065426&nogos=&profile=trekking&alternativeidx=0&format=geojson

Ich würde gerne avoid_unsafe = false verwenden, aber die Kosten für Land- und Bundesstraßen ausserorts höher setzen. Ist das möglich und in welcher Zeile des Profiles trekking müßte ich dazu ein entspr. Änderung vornehmen ?

Grüße aus Oberschwaben
Peter

Edit 25.06.2016:
Nachdem ich mir das Profil mal von hinten her angesehen habe, ist mir die Logik jetzt einigermaßen klar. Ich habe auch die Zeile mit den entspr. Kostenfaktoren gefunden und - nach mehreren Tests - die Kostenfaktoren entsprechend angepaßt.

Neues Problem, neue Frage:

Der Routenvorschlag mit meinem neuen Profil (s.o.) für eine Fahrt von Uttenweiler nach Laupheim führt mich über diese Straße:
https://www.openstreetmap.org/way/158461079#map=15/48.1968/9.7500

Dieses Wegstück ist unbefestigt und weist viele große Schlaglöcher auf und ist für ein Liegedreirad nicht empfehlenswert. Ich habe das Wegstück entspr. mit surface=gravel und smoothness=bad eingetragen. Da aber auch lcn=yes (Teil des Donau-Bodensee-Radweges) vorhanden ist, wird das Wegstück von brouter als gut eingestuft.
Ich möchte jetzt nicht den Kostenfaktor für gute unclassified entspr. erhöhen und habe deshalb versucht in der Zeile

assign isbike = or bicycle=yes or or bicycle=permissive bicycle=designated lcn=yes

den Teil lcn=yes zu löschen. Dann erhalte ich aber von Brouter-Webclient die Fehlermeldung
Profile error: ParseException at line 56: assign operator within expression

Was mache ich falsch ?

Da ist dann auch ein “or” zuviel. Das ist bisschen schwer zu lesen wegen der polnischen Notation.

Man kann’s aber auch mit if-then-else schreiben und dann wird’s fast lesbar:

assign isbike = if bicycle=yes then true
else if bicycle=permissive then true
else if bicycle=designated then true
else false

Das “trekking” Profil hatte ich weitgehend in diesem Sinne umgeschrieben, aber halt doch nicht alles.

Mit dem neuen Code-Stück und einer Anpassung des Kostenfaktors für “schlechte” unclassified auf 1.7 kommt genau die Route heraus, die ich früher immer gefahren bin und die ich für mein Liegedreirad als ideal empfinde.

Danke

Grüße
Peter

Hallo Arndt,

jetzt hätte ich doch noch eine weitere Bitte. Könntest Du mir noch diese Passagen in if-then-else übersetzen:

assign ispaved = surface=paved|asphalt|concrete|paving_stones
assign isunpaved = not or surface= or ispaved surface=fine_gravel|cobblestone
assign probablyGood = or ispaved and isbike not isunpaved

Ich würde gerne noch die Unterscheidung nach ispaved und isunpaved etwas anpassen.

Im voraus schon vielen Dank.

Grüße
Peter

Ich habe es trotz vielfacher Versuche bisher nicht geschafft, BRouter unter Android mit OSMAND zum laufen zu bekommen. Wird es in absehbarer Zeit eine Version geben, die die aktuelle Android API unterstützt und einfach so funktioniert?

Ich kann nur auf die Probleme reagieren, die ich kenne, und hab’ kein Testfeld aus 50 Geräten zuhause. Welche Android Version, welcher SD-Karten Modus, und woran hängt es?

Leider habe ich auf meine Bitte im Forum bisher keine Hilfe erhalten. Auch ein Bekannter der im IT-Bereich tätig ist, kommt bisher nicht klar.
Kann mir jemand sagen, in welcher Programmiersprache die Profile geschrieben sind ?

Grüße
Peter

Wie @abrensch schon erwähnt hatte, wäre polnische Notation im Wiki ein guter Startpunkt: https://de.wikipedia.org/wiki/Polnische_Notation

Anschließend mal einen Blick in den Profile Developer Guide werfen, Abschnitt “The operators of the profile scripts” (http://brouter.de/brouter/profile_developers_guide.txt)

Das mit der polnischen Notation habe ich schon gelesen und auch schon im Wikipedia nachgeschlagen. Das Prinzip habe ich verstanden, den Codeteil im Detail verstehen bzw. in eine If-then-else-Anweisung übersetzen kann ich aber trotzdem nicht.
Mein Bekannter (Datenbank-Programmierer) kann sich zur Zeit wegen eines aktuellen Augenleidens nicht intensiv mit meinem Problem beschäftigen. Er war aber über die Kombination von Or und | verwundert und will - nach Besserung seines Augenleidens - zuerst mal schauen, in welcher Programmiersprache der Ursprungscode geschrieben ist, um die Default-Werte korrekt zu verwenden. Daher meine Anfrage nach der Programmiersprache für die Profile.

Ich werde Deinen Link weitergeben.
Ich selbst kann damit leider nichts anfangen.

Grüße
Peter