BRouter: offline Fahrrad-Routing für Android

Mit Faktor 40 für Treppen macht BRouter auch den langen Looping, bis 30 hätte er die Treppe genommen. Man kann sowas in der Online Version selber ausprobieren, indem man über den Upload-Button ein modifiziertes Profil hochlädt (was dann als “custom” in der Auswahlbox steht)

Ich hatte den Fall noch nicht, aber ich würde, ausgehend from trekking-profil, Fusswege und Treppen konsequenter vermeiden.

Ja genau, nur dass BRouter keine Zeiten ausrechnet.

Der Router sucht den Weg mit den geringsten “Kosten”, was aber ein rein abstraktes Konzept ist. Die Kosten werden zwar in Metern gezählt, meinen aber was anderes als die Länge der Route.

Der Hauptteil der Kostenfunktion ist dieser entfernungsabhängige Teil, also immer Wegstrecke mal Kostenfaktor, und das über alle Wegstücke aufsummiert. Es gibt aber noch zwei andere Teile in der Kostenfunktion, dass eine sind die Winkelkosten (“turncost”) und das andere die Höhenkosten (“elevationcost”).

Gerade am Beispiel der “turncost” wird deutlich, dass das Konzept tatsächlich abstrakt ist. Er rechnet für eine 90-Grad Ecke Zusatzkosten von 90m. Das wäre aus der Sicht einer Zeitbetrachtung ja viel zu viel (man braucht keine 16 Sekunden zusätzlich, um um eine Ecke zu fahren). Man muss das eher als Filter verstehen, der verwinkelte Wege vermeidet, weil in verwinkelten Wegen mehr böse Überraschungen stecken als in geraden.

Der Kostenfaktor muss möglichst nahe bei 1 sein für die Art von Wegen, die man sucht, weil sonst durch die Art der Berechnungsmethode das “Suchgebiet” zu gross wird und die Berchnung dann zu lange dauert. Und er darf nicht kleiner als 1 sein, weil sonst die Berechnung nicht mehr funktioniert.

Interessant, also durchaus so wie ich es erwartet hätte.
Schön dass man bei Brouter das im Detail sehr genau einstellen und auch probieren kann.

Kommt wie immer darauf an. Rechts abbiegen verursacht (bei uns) relativ wenig Kosten, man sollte allerdings auf den Querverkehr achten. Beim links abbiegen hingegen muss man ggfs. recht lange auf den Gegenverkehr warten. Solange man rechts/links abbiegen nicht unterscheidet, scheint mir das ein recht guter/brauchbarer Mittelwert zu sein.

In der Tat gibt es viele (mich eingeschlossen) die eher eine einfache (wenige Abbiegevorgänge), leicht zu merkende Route auswählen, wenn sie ohne Router selber planen, als die letzten Meter sparen zu wollen.

Wie sieht es mit Kreuzungen (gleichrangig, niederer / höher Rang, mit Ampel geregelt) aus. Werden die in der Kostenfunktion berücksichtigt? (Für Bahnübergänge und Fähren ergibt sich die gleiche Frage.)

Edbert (EvanE)

Schlecht :slight_smile:

Mit Ampeln ( highway = traffic_signals als node-tag ) hatte ich experimentiert, aber davon gibts einfach zu wenig in der Karte, schon garnicht an den Nodes von strassenbegleitenden Radwegen.

Über so eine Bewertung von Kreuzungen nach Richtung und Rang habe ich tatsächlich nachgedacht und so könnte man, auch mit vorhandenen Kartendaten, wohl auch tatsächlich bessere Wege finden, aber das war mir bisher zu schwierig.

Bahnübergänge kennt BRouter bisher nicht.

Über eine Fähre bin ich letzte Woche selbst gestolpert, stand plötzlich am Main an so einer kleinen Schönwetter-Ausflugsfähre, weil ich vergessen hatte, das “no ferries” Profil zu benutzen. Fähren waren deswegen schwierig, weil sich kein Kostenfaktor finden liess, der für diese kleinen Main-Fähren genauso funktioniert wie für die Bodenseefähren. Deswegen habe ich die Berechnung von Fähren jetzt nochmal geändert: sie bekommen jetzt einmalige Zusatzkosten von 10km, unabhängig von der tatsächlichen Wegstrecke der Fähre, und dann noch Kostenfaktor 5 für die Wegstrecke. Damit werden die kleinen Main-Fähren nicht mehr gefunden (weil die nächste Brücke ja nie weit ist), die Rhein-Fähren aber doch.

Gruss, Arndt

Hallo Arndt,

war das zufällig diese Fähre? http://www.openstreetmap.org/?lat=50.05032&lon=8.50211&zoom=16
Hatte ich auch schon in einer vom Brouter berechneten Route drin, fährt aber nur an Ausflugstagen.

Mit den beschriebenen Modifikationen ist der BRouter sicher noch ein gutes Stück besser geworden, ich werde ihn mir in den nächsten Tagen auf mir bekannten Terrain nochmal anschauen, aber nur theoretisch - momentan zu kalt und zu viel Schnee.

So etwas ähnliches mit unterschiedlichen Profilen gibt es jetzt auch für Bergwander in den Alpen, allerdings auf ein bestimmtes Gebiet beschränkt und nicht als App für das Smartphone: http://geo.dianacht.de/topo/ - von Netzwolf entdeckt.
Für Wanderer im Gelände ist glaube ich die Berechnung deutlich einfacher, es müssen nicht so viele unterschiedliche Tags berücksichtigt werden.

Gruß Schiki

Jo, das ist kein Kunststück im Vergleich zu Arndts Fahrradrouting. Da stecken ein paar Verbotsregeln, paar Strassenklassen, Wanderwegrelationen, sac_scale und Höhenmeter drin. Fussgänger haben ja selten Einbahnstrassen, dürfen überall abbiegen und die Zielgruppe kann auch Treppen steigen. Das mit den Strafpunkten fürs Abbiegen finde ich als Idee gut, dann läuft man nicht im zickzack durch die Häuserblocks. Aber das ist auch eher in Städten interessant ist als im freien Gelände.

Grüße, Max

Hallo Max

Neben dem “zickzack durch die Häuserblocks” gibt es noch den Fall kurze, steile Zick-Zack Strecke gegen eine längere, weiter geschwungene, weniger steile Strecke einen Berg hinauf. Da können die Präferenzen durchaus unterschiedlich liegen. Auch beim Fußgängerrouting kann ein Malus fürs Abbiegen also sinnvoll sein. Über die Größe des Malus müsste man dann gegebenenfalls mal nachdenken.

Edbert (EvanE)

Hallo Arndt

Jede Kreuzung (ob Ampel oder nicht) ist ja immer auch ein Gefahrenpunkt, erfordert besondere Aufmerksamkeit und ggfs. eine Reduzierung der Geschwindigkeit. Von daher wäre ein genereller Malus (kleiner als beim Abbiegen) sinnvoll.

Kreuzungen mit Ampeln erkennt man bei separat eingetragenem Radweg an einem Knoten mit highway=crossing + crossing=traffic_signals. Zumindest wenn das richtig eingetragen ist.

Schade, sie bedeuten ja oft Wartezeit.
Bahnübergänge sind leicht am Knoten mit railway=(level_)crossing zu erkennen.
Den Malus würde ich größer (2-5x) als beim Abbiegen sehen.

Das scheint mir ein guter Ansatz zu sein. Ob die 10km Malus optimal sind oder der Wert besser Richtung 5-8km verschoben werden sollte, muss die Erfahrung zeigen. Ein kurzer Online-Test ergab eine starke Präferenz gegen Fähren.

Edbert (EvanE)

Dann mal hier eine Fehlermeldung.

Ich musste meine anderen Favoriten in der Kategorie löschen, in der der Startpunkt und ENdpunkt stand. Davor hat sich brouter beschwert, dass es keinen Startpunkt gäbe und sich verabschiedet.

Ich habe da ein etwas komisches Routingergebnis mit dem Trekkingprofil bekommen.
Start und Zielpunkt: http://dl.dropbox.com/u/512261/Osmand/brouter.gpx
Ergebnis: http://dl.dropbox.com/u/512261/Osmand/brouter-komisch.gpx

Es ist die Brouterversion einen Tag bevor Du hier gepostet hast.

Die an der Eddersheimer Staustufe? Es wäre besser, die aus OSM zu streichen, so häufig wie sie nicht fährt.

Das mit den Kosten würde ich mal mit den Rheinfähren überprüfen. Interessant dabei ist diese Fähre. Sehr interessante Fährzeiten: http://www.guntersblum-tourismus.de/index.php?option=com_content&view=article&id=80&Itemid=97

ja, glaub schon, sind aber noch 2km von der Fähre bis zur Staufufe. Jedenfalls die, die Schiki oben genannt hat.

Ja schwierig. Ist zwar eine Fähre auf eine Halbinsel, aber wie ich es sehe kommt man auf der anderen Seite über eine Brücke über den Altrhein, sodass das schon eine Langstecke schliessen könnte. Im Prinzip könnte ich die Fährzeiten auch auswerten, steht in beiden Fällen ja drin als “opening_hours” tag.

Der Routing-Fehler im anderen Post kann sein. In dieser Version (0.1) war ein Fehler drin mit einem internen Integer-Überlauf. Der ist behoben ab 0.3. Das mit dem Handling der OsmAnd-Favoriten verstehe ich selber nicht so ganz. Irgendwie sind das nur Backup-Files, die ich da lese, und ich lese auch schon 2 (favorites.gpx und favorites.gpx_bak oder so ähnlich), das ist bisschen Bastelei.

Gruss, Arndt

Ich bekomme mit BRouter Version 0.5 die gleiche merkwürdige Schleife am Anfang, selbst wenn man das Ziel ziemlich in die Nähe legt. Der Rest der Route sieht aber m.E. gut aus.
Vielleicht könntest Du für dieses Problem einen neuen Thread in https://groups.google.com/forum/?fromgroups#!forum/osm-android-bikerouting eröffnen

Hat sich geklärt, den Verbindungsknoten 2115081565 gibt es erst seit 16 Jan, die Routingdaten sind aber schon von Anfang des Jahres.

https://dl.dropbox.com/u/512261/brouter/brouter-komisch%202.gpx
Gleich am Anfang des Tracks gibt es eine sonderbare Sache. Der Schlenker in die “Alte Gasse” rein und dann wieder raus. Der erste Schlenker geht in die entgegengesetzte Richting der Linksabbiegerspur der Alten Gasse. Ich habe die Stelle in JOSM überprüft, dort ist Oneway richtig eingetragen.

Es stimmt irgendetwas nicht mit den Headerdaten der gpx-files nicht, die von Brouter kommen. Jedesmal wenn ich sie mit routeconverter.de öffne, lande ich in Afrika.

Ja das ist aber so gedacht. Hier der Ausschnitt aus dem Profile dazu:

add switch and reversedirection=yes oneway=yes
switch or cycleway=opposite cycleway=opposite_lane 0
switch or highway=primary highway=primary_link 50
switch or highway=secondary highway=secondary_link 30
switch or highway=tertiary highway=tertiary_link 20
4.0
0.0

Das heisst, auf der Bleichstrasse (“secondary”) ist der falsche oneway “ziemlich verboten”
(kostenfaktor 30+), in der Alten Gasse (“redidential”) aber nur mit Kostenfaktor 4+
(=du kannst schieben). Und damit ist’s die billigste Lösung, weil ein Weg ohne
oneway-verletzung wäre viel weiter.

Da bin ich an anderer Stelle auch schon darauf aufmerksam gemacht worden. Ich “misbrauche” die gpx-Version für meine Version (hier 0.1) und das darf ich nicht. Wenn Du da eine “1.1” reinschreibst, geht es. Hab’ ic als TODO auf meienr Liste.

Gruss, Arndt

Da ich die Stelle kenne. Die Lösung bedeutet einmal über eine vierspurige Straße und dann noch einmal zurück. Einfach den Bürgersteig an der Bleichstr. entlang zur Peterstraße geschoben, wäre schlauer.

Schau dir mal https://dl.dropbox.com/u/512261/brouter/wirklicher%20Weg.gpx im Satellitenbild an.

Da Du an anderer Stelle geschrieben hast, dass Du auch die Daten für eine stimmgeleitete Führung für diverse Apps bereitstellen willst…

Bei abgeschaltetem Bildschirm, wären die Abbiegepunkte zum Schieben falsch angesagt.

Käme so etwas in gewisser Häufung vor, gibt eine Stimmführung mit abgeschaltetem Display keinen Sinn mehr.

Letztendlich habe ich hier einen lustigen Einzelfall aufgegabelt oder nicht?

Hallo,

melde mich seit langem mal wieder mit einem Update: BRouter-0.6

Das ist ein wesentlicher Update gegenüber der vorherigen Version 0.5,
auch wenn die sichtbaren Änderungen nicht wirklich ein Showeffekt sind.

Aber durch die Erweiterung der Datenbasis auf jetzt 26 Way-Tags und
durch die Einbeziehung von Node-Tags sind die access- und die oneway
Regeln einfach deutlich präziser geworden.

Hier die Changes aus der Revision history, die jetzt ebenfalls Teil
der Web-Seite ist ( http://brensche.de/brouter )

  • Extended data files (more way tags, added node tags)
  • Extended profiles (global-, way-, node-context)
  • more precise access + oneway rules
  • more elevation parameters in profiles
  • explicit configuration of base directory
  • elevation=void within bridges or tunnels
  • fixed gpx version header
  • link counter in app animation

Die auffälligsten Änderungen an der Routen sind, dass es jetzt
(meistens…) richtig rum durch Kreisel geht und dass reine Fusswege
etwas stärker vermieden werden.

Das Datenformat hat sich geändert, d.h. bei einem Update müssen
auch die Routing-Data-Files und die Profile neu geladen werden.
Die aktuellen Daten sind jetzt mit Snapshot-Datum 4.3.2013. Damit der
Update einfacher ist, habe ich die Unterverzeichnisse umbeannt (profiles → profiles2,
segments → segments2 ) damit die alten und die neuen Daten ko-existieren
können.

Dadurch dass jetzt mehr Tags zur Verfügung sollte es jetzt auch möglich
sein, ein sinnvolles Profil für Wanderer zu erstellen, u.a. das “sac_scale” tag
ist mit in den Daten - ich hab’ mich aber noch nicht daran probiert, bin kein
Wanderer…

Auch das Car-Routing ist jetzt deutlich brauchbarer geworden, aber weil
die Turn-Restrictions immer noch fehlen tue ich es auch nicht bewerben,
sondern man findet es nur versteckt als Profil “car-test”.

viel Spass beim Radfahren und Wandern im Frühling (der hoffentlich bald wieder kommt…)

Gruss, Arndt

Hallo Arndt.

Habe Probleme bei der Installation deines Programmes. Bin allerdings auch nicht der PC Fachmann.

Habe OSMAND+ installiert. Das OSMAND Programm ist auf dem Systemspeicher des Defy+. Die Kartendaten usw sind im Ordner OSMAND auf der SD Karte. Den Pfad habe ich auch eingegeben.

Bekomme als Fehlermeldung immer: No coordinate source from a maptool found

Gruß Jürgen

Hallo Jürgen,

an der Stelle sucht er die Favoriten-Datenbank von OsmAnd unter: {basdir}/osmand/favourites.gpx

wobei {basdir} das von Dir angegebene Basis-Verzeichnis ist, z.B. /mnt/sdcard Und das aktuell
gültige Basisverzeichnis müsste auch in der Fehlermeldung genannt sein.

Wenn er da nichts findet kann das zwei Gründe haben:

Entweder es gibt die Datei {basdir}/osmand/favourites.gpx nicht (vielleicht legt OsmAnd sie erst an, wenn man zum ersten Mal einen Favoriten speichert?) Oder das Basisverzeichnis ist falsch.

Im zweifel mit einem Datei-Browser nachsehen (z.B. Astro-Dateimanager, oder die SD-Karte in den PC stecken und von da nachsehen)

Wenn Du über die Hürde drüber bist, kommen noch weitere Prüfungen, es müssen noch verschiedene Dateien auf die SD-Karte kopiert werden:

{basdir}/brouter/profiles2/trekking.brf (und/oder andere Profile)
{basdir}/brouter/profiles2/lookups.dat (und/oder andere Profile)
{basdir}/brouter/segments2/E5_N50.rd5 (und/odere andere Routing-Datafiles)

und wenn er irgendwas nicht findet wird er wieder meckern…

viel Erfolg (und einfach fragen wenn unklar)

Gruss, Arndt

Hallo Arndt, super Arbeit! Ich bin total begeistert von Deinem Programm. Meinst Du, daß es in Zukunft auch Support für OruxMaps geben wird? Der ‘from-to’ Ansatz über lesezeichen müßte bei OruxMaps doch auch gehen. Da kann man easy Wegpunkte exportieren die der BRouter nur erkennen müßte. Es wäre super, dann das irgendwann kommt.
Ich gehe jetzt mal meine Fahrradreifen aufpumpen :D.