BRouter: offline Fahrrad-Routing für Android

Kann ich nicht nachvollziehen, bei mir geht’s immer richtig rum über den Übergang, z.B:

http://brouter.de/brouter-web/#zoom=17&lat=50.079261&lon=8.63411&layer=OpenStreetMap&lonlats=8.634095,50.079968|8.634642,50.077475&nogos=&profile=trekking&alternativeidx=0&format=geojson

Diese relaxte Oneway-Penalty mit nur Faktor 4 (=fussgeschwindigkeit) mache ich ja auch explizit nicht für primary/secondary/tertiary highways, da sind (im trekking-profil) die faktoren viel höher, nämlich 50/30/20.

Um also auf einer secondary 200m gegen die Einbahnrichtung zu routen, muss es keine Alternative geben, die weniger als 200m*30 = 6km Umweg darstelt, und das ist schon sehr selten und dieser Faktor 30 soll eigentlich nur verhindern, dass bei tatsächlichen Mapping-Fehlern an einer Kreuzung nicht wegen 3 Metern in falscher Richtung das Netz zerschnitten wird.

Ich habe das vermutlich mit meinem extremen Routingeinstellungen herausgekitzelt.

Aber

 als 200m*30 = 6km Umweg darstellt, und das ist schon sehr selten

ist in Schweden ziemlich gut möglich, bei Europastraßen mit neuem Layout. Zweispurige Straßen, mit keinem Seitenstreifen, aber Geländer und kilometerlange Absperrung des Mittelstreifens.

Ich für meinen Teil werde die Strafen hochdrücken.

An deinem “selten” stört mich etwas. Ich persönlich bin der Meinung Fahrradrouting ist länderspezifisch. Was mit den Einstellungen in einem anderem Land passieren kann, weiß man nicht. (Ich habe in UK ein paar lustige Erlebnisse mit meinem Routing, was in D gut funktioniert, gehabt). Deswegen bin ich der Ansicht, es gibt (sicherheitsrelevante) Dinge die dürfen nicht selten passieren, sondern gar nicht.

Und Schieben gegen eine Straße ohne Ausweichraum, wenn Laster mit 100 entgegenkommen gehört meiner Meinung dazu. Wenn sich das jemand selbst einbrockt in Ordnung, aber Du solltest einem das nicht einbrocken.

Hallo,
vorab erst mal mein Dank an den Brouter Autor. Ein hervorragendes, einzigartiges Programm hast du da geschaffen. Klasse. Bereitet mir viel Freude.

Auch wenn es in diesem Thread um das Fahrradrouting geht, poste ich meinen eigentlich aufs Motorradfahren bezogen Beitrag hier, weil ich nicht weiß, wo sonst. Sorry fürs OT.

Mein Anliegen: Ich versuche, ausgehend von der Profildatei moped, ein Profil für kurvenreiche Motorradstrecken zu erstellen. Dabei habe ich zwei Probleme:

  1. Wenn ich turncost auf 0 setze, erreiche ich zwar, dass kurvenreiche Strecken gleichrangig mit geraden Strecken bewertet werden, nicht aber, dass sie explizit bevorzugt werden.
  2. Gleiches gilt für Strecken mit Steigungen. Diese würde ich gerne bevorzugen.

D.h., die Eigenschaften einer Strecke, die ich gerne bevorzugen würde, kann ich in der Profildatei allenfalls “nicht benachteiligen”. Ich sehe auch keine Möglichkeit, ebene oder gerade Strecken zu identifizieren, um sie dann zu benachteiligen.

Was ich mir wünschen würde, wäre also eigentlich, dass turncost und *hillcost negative Werte akzeptieren, also den costfactor vermindern.

Ist so etwas irgendwie umsetzbar?

Wäre auch für elektrifizierte Radler interessant. Die Dinger kommen ja immer mehr in Mode. :sunglasses:

https://groups.google.com/forum/#!topic/osm-android-bikerouting/WTx-TYPF08E

Ich stehe zwar etwas wie der Ochs vor dem Berg bei diesem Thread. Aber er könnte hilfreich sein.

Ja schon, da wird der neue Mechanismus mit den steigungsabhaengingen Kostenfaktoren beschrieben.

Es gibt also fuer Berg- und Tag-Stuecke eine eigene Variablen, und nur wenn die 0 sind, wird der “normale” costfactor genommen.

Du kannst also, um ebene Strecken teurer zu machen, schreiben:

assign costfactor_base …
assign uphillcostfactor costfactor_base
assign downhillcostfactor costfactor_base
assign costfactor add costfactor_base 1

Mit den Kurven ist nicht so einfach. “turncost” ist auf Kurven garnicht sensitiv, eher auf Ecken.

Was man hier bräuchte ist eine neue, dynamische Variable, die z.B. die Geschwindikeit von einem hirnlosen biker beschreibt, der immer so schnell fährt, wie er kann. Diese Geschwindigkeit muesste man aus dem Kurvenverlauf entlang des Pfades ausrechnen. Und dann kann man einen Strafterm einführen, wenn die Geschwindigkeit zu hoch wird (die Strecke also zu gerade)

Interessanterweise habe ich über sowas vor einem Jahr schonmal nachgedacht, als ich über energie-optimiertes Routing fuer E-Autos nachgedacht habe, da braucht man naemlich auch genau diese Physik…

Ich spiele mich gerade mit Oruxmap rum.

  • Brouter starten
  • Profil wählen
  • Server mode starten
  • Haken nicht verändern
  • Exit

In Oruxmap: Brouter wählen. Dann Fahrrad.

Wenn ich deine Profile wähle, dann wird mir was in Oruxmap berechnet. Wähle ich meine Profile gibt es eine Fehlermeldung.

Ich habe mich auch schon bei Osmand gewundert, warum es mal mit Brouter routet und mal nicht. Es hat damit zu tun, meine Profile oder deine.

Blanks im Profil-Namen? Du hattest mir mal welche geschickt mit Blanks.

Ja korrekt. Lustigerweise stört das Brouter beim direkten Aufruf nicht. Danke.

Mittlerweile gibt es die Releaseversion und es funktioniert problemlos. Zugegeben hatte ich etwas gebraucht, um zu verstehen, dass man Routen erst “erzeugen” und dann noch “berechnen” muss, aber wenn man das einmal weiss ist es kein Problem mehr.

In Osmand gibt es ja das Entfernungsmessungstool. Die abgemessene Strecke kann man als gpx-track speichern. Wäre es möglich das Brouter anhand solch eines Tracks routet, wenn so ein Track einen bestimmten Namen bekommt.
Warum fände ich es praktisch? Bei dem reinem Setzen von via-points ist es bei längeren Routen ziemlich schwer zu sagen wie lang eine Strecke wird. Also auf Radreisen wäre es praktisch. Mit dem Entfernungsmesser hat man zumindest einen groben Richtwert.

Ich habe mich mit den NoGo-Areas im Webinterface beschäftigt. Es sind Kreise mit harten Kanten. Ich persönlich glaube man verwendet die Kreise stillschweigen in der Hoffnung, dass der Weg z.B. hoffentlich rechts um den Kreis geht. Dummerweise kann der Weg ziemlich dann doch weit links an dem Kreis vorbei laufen.

Ich glaube bei einer Langstrecken Planung sieht man eine Art Kanal auf der Karte und in diesem Kanal will man seiner Defintion gemäß anständige Wege. Das geht noch so einigermaßen mit den Nogoareas im Webinterface, aber in den AndroidApps wird es schwierig:

  • weil der Kreis nicht visualisiert wird und damit nicht wirklich klar ist, wo die Grenze ist.
  • die Rechenzeiten auf einem Telephon länger sind und damit ein Herumprobieren, eigentlich aus Zeitgründen flach fällt.

Die Lösung wäre, dass man die NoGo Areas in den AndroidApps visuell wahrnehmbar erstellen könnte. Da man meines Wissen in allen drei AndroidApps Tracks malen kann, könnte man mit denen auch Flächen einmalen. Brouter müsste nur den Anfangspunkt und den Endpunkt verbinden und fertig wäre das Polygon.

Diese Art der Polygone könnte man auch als Go-Areas nutzen.

Wenn meine Sichtweise stimmt, dass man Langstreckentouren eigentlich eher als groben Kanal durch die Landschaft denkt, dann könnte man Via-Punkte auch weich auffassen. Quasi als Gravitationzentren für die Navigation. Ob es jetzt x Meter vorbeigeht ist nicht weiter schlimm.

Jetzt noch Fragen zur Syntax.

switch is_ldcr                  1         # always treated as perfect (=1)
  add switch stick_to_cycleroutes 0.5 0.05  # everything else somewhat up

Was bedeudet dieses add?

Wenn ein Weg im Verlauf des Parsen eine weitere Bedingung erfüllt, gilt dann die erste oder die letzte Bedingung?

Hallo,

zunächst einmal alle Achtung zum Entwickeln von brouter!
Ich habe jetzt nicht alle etwa 250 Beiträge gelesen. Trotzdem eine Frage.

Ich konnte in den letzten Tagen brouter in Zusammenarbeit mit OsmAnd erfolgreich auf einem Galaxy S4 in Betrieb nehmen. Bei OsmAnd kann ich unter “Einstellungen → Navigation” brouter auswählen.
Nun möchte ich per Fahrrad eine Route erstellen lassen. Das funktioniert auch soweit so schlecht.
EIN Beispiel von vielen:
Im Süden von Berlin – Buckow nach Altglienicke. Dort verläuft der international bekannte Mauerradweg. Auf diesem Streckenabschnitt zum größten Teil auch hervorragend ausgebaut. Auf:
http://brouter.de/brouter-web/
mit der Ansicht “Opencyclemap” und “Cycling (Wayemarked Trails)” auch sehr gut zu erkennen.
Wie erreiche ich es, in OsmAnd eine Strecke von Buckow (z.B. Freiertweg) nach Altglienicke (z.B. Lieselstraße) über den (sehr gut!) ausgebauten Mauerradweg zu erhalten und NICHT über z.T. extrem stark befahrenen Straßen. Auch auf brouter.de/brouter-web ist es nur für diejenigen User machbar die die Strecke kennen (über Zwischenziele) oder viel herumprobieren (Menü: Alternative) eine vernünftige Streckenführung zu erhalten. Unterwegs keine Chance. Da muss man dann die vorgeschlagene Route benutzen und an wunderbaren Stellen vorbeiradeln :frowning: Fremde User/Besucher/Radler würden hier über unmögliche Straßen geführt statt über einen extrem guten Rad (fern-) weg.

Das o.g. war nur ein Beispiel.
Am PC kann man das auf http://brouter.de/brouter-web/ ja noch sehr gut überblicken und selbst für Alternativen sorgen. Unterwegs auf kleinem Display und wenn es schnell gehen soll – keine Chance :frowning:

Noch schlimmer finde ich ein Routing in der Nähe anderer gut ausgebauter Radfernwegstrecken.
Meine Frage:
Wie kann ich mittels brouter und OsmAnd erreichen, das ich (unterwegs, ohne Internetzugang, eine Route erstellend) möglichst auf vorhanden Radfernwegen geroutet werde (und nicht auf benachbarten, zum Teil stark befahrenen, von Motorlärm dröhnenden) KFZ Straßen?

Viele Grüße
Robert

Hallo ro_k,

willkommen im Forum.

Welches Profil hast Du verwendet ? Bei fastbike werden vorzugsweise (schnelle) Straßen benutzt, während bei save Straßen nach Möglichkeit vermieden werden. trekking bevorzugt Radrouten, wenn vorhanden. Sind diese richtig getagt ?

Leg doch mal beide Routen in brouter.web an und gib uns jeweils einen Link (Klick auf Permalink und dann URL hier rein kopieren). Dann können wir die “kritischen” Stellen mal in OSM anschauen.

Gruß aus Oberschwaben
Peter

Hallo Peter,
vielen Dank für die Begrüßung und die Antwort.

Ich musste zunächst einmal eine geraume Zeit nach “permalink” suchen :open_mouth:

safety benutzt hier ein Gewirr aus Nebenstraßen durch Rudow. Dieser Weg ist nur scheinbar(!) kürzer – schon garnicht besser – als der MauerRadweg. Nein, der wird definitiv auch länger und lange nicht so schön wie der “vorgegebene” Mauerradweg.

“tracking” benutzt einen unmöglichen(!) Weg quer durch – NICHTs für Radreisende oder Radtouren.

liegerad… bzw. vm… routing ist eh völlig daneben und absurd. Die (vor allem velomobilrouting) sehen sich allem Anschein nach lieber zwischen KFZ Schlangen/Staus statt auf breiten und gut ausgebauten UND ruhig gelegenen Wegen UND auch sehr schnell zu fahrenden Wegen. Das nur nebenher.

OK, man/frau sollten eh immer Kartenmaterial mitführen. Nur hier an der Stelle wird mit brouter und OsmAnd etwas angeboten, was (für Radtouren und Reiseradtouren) verbesserungswürdig ist.

Wie schon geschrieben. Wie kann ich oder auch Gäste direkt auf einem Rad(fern-)weg geroutet werden?

Viele Grüße
Robert

Also mir ist das Trecking schon zu radroutenlastig. Aber das ist nicht der Punkt.

Du musst verstehen wie Routing funktioniert.

Nehmen wir Du sagst dem Router, dir sind zwei Kilometer Radrelation lieber als 1 km Bundesstraße. Jetzt gibt es eine Situation, in der du mit 2,01km 1km Bundesstraße umfahren würdest. Schwubs lenkt dich das Routing auf die Bundesstraße.

Das Routing kennt nicht die Gegebenheit vor Ort. Es kennt nur Straßentypen. Lichtenrader Chausee ist eine Tertiary. In meinem Ballungsgebieten die Hölle, 40 Kilometer weiter im Mittelgebierge eine Wohltat. Ein Routing versucht das durch bestimmte Werte unter einen Hut zu bringen.

Ich mache dieses Jahr eine Radtour durch D. Aus meinen bisherigen Erfahrungen habe ich mir mehrere Routenprofile gebaut, um mit regionalen Eigenheit umzugehen. Im Mittelgebierge sind tracktype=grade2 wesentlich rütteliger als in meinem Ballungsgebiet. Dort sind es super Wege. Aber es geht nur um die Befahrbarkeit. Wo es schön ist, muss ich rausfinden.

Wer schön von A nach B kommen will, muss planen. Wer nur von A nach B will, kann beeinflussen, was ihn wie viel ärgern darf.

Es gibt im “trekking” Profil oben einige Schalter, um das Verhalten zu ändern.

Wenn Du “stick_to_cycleroutes” auf 1 (also true) setzt, bekommst Du das Verhalten, was Du suchst, er nimmt dann grössere Umwege in Kauf, um auf Rad-Relationen zu bleiben.

De facto nur zum Teil. Sobald es durch das bebaute Gebiet geht, interessiert der Mauerradweg nicht mehr. Wenn man den Mauerradweg total ausfahren würde zum eigentlichen Vorschlag des trekking Profiles, verlängert sich der Weg um 50 Prozent.

Aus den Erfahrungen auf denen dieser Thread http://forum.openstreetmap.org/viewtopic.php?pid=487359#p487359 basiert, würde ich sagen, wenn man an den so Werten schraubt, dass der Mauerradweg ohne setzen von Zwischenpunkten gewählt wird, wird das Routing auf dem Telephon extrem träge.

Die Info ist aber für ro_k.

Hallo

ich habe mal zum Routing auf bekannten Strecken eine andere (Zusatz)-Frage:

Ich habe in meinem Umkreis von ca. 100 Km viele Wege erprobt und mit Hilfe des BRouters super Wege gefunden. Dabei haben sich viele bewährte Radtteilstrecken in Form von GPX Traks angesammelt, die aber zum großen Teil nicht Teil einer Radrelation sind.

Mein Traum wäre es nun, dass ich diese GPX Tracks dem Router bereitstelle und dieser, falls möglich diese Strecken bzw. Teilstrecken bevorzugt benutzt. Ist in den GPX Files kein A nach B Weg vorhanden soll er mir seine Routingvorschläge zeigen.

Geht sowas, oder ist sowas angedacht?

Viele Grüsse
Achim

Hallo,

vielen Dank für Deine Antwort.
Ich habe es als OttoNormalBenutzer fertig gebracht brouter irgendwie mit OsmAnd auf einem Galaxy S4 zum Laufen zu bringen. Anleitungen gibt es fast gar nicht dazu, ja man kann getrost schreiben, es gibt keine Anleitungen.
Nun habe ich auch nicht die 457 Beiträge hier im Forum gelesen.
Starte ich brouter auf den Android Phone so erscheint “select a routing profile” mit “fastbike”, “shortest”, “trakking” usw.
Klicke ich nun auf “tracking” —> “Select Action” erscheint “no from/to found (coordinate-source: none)”

OK ich habe ja die Auswahl. “Server-Mode” ist nicht, bin ja nicht Online mit dem Phone. Also “Select from” Nun erscheint:
“An Error occured” “No more Waypoints available!”

Nun gut OsmAnd sollte ja eigentlich noch mindestens 2 Punkte gemerkt haben. Hat es scheinbar nicht :frowning:

Also per “OK” Buttom brouter verschwinden(?) lassen.

OsmAnd gestartet.
Noch einmal unter Einstellungen → Navigation nachgeschaut.
Dort kann ich unter “Profilspezifische Einstellungen” zwischen Auto-, Fahrrad- und Fußgängersymbol auswählen.
Keines der Drei ist im Moment aktiv. [warum eigendlich nicht :frowning: Zig Mal bereits angegeben: Fahrrad soll Standard sein]
Im Hintergrund grau hinterlegt steht “Navigationsdienst” auf “OsmAnd”. Erst wenn ich Fahrradsymbol aktiviere springt “Navigationsdienst” auf “brouter”. OsmAnd merkt sich bereits diesbezüglich getätigte Einstellungen nicht.
Jetzt kann ich noch auf Straße einrasten aktivieren oder deaktivieren. Im Moment habe ich keine Ahnung, wie sich das auswirken kann. Ich lass den Hacken mal wie vorgegeben gesetzt.

Gut, ich erstelle in OsmAnd auf der Karte nun 2 Punkte.
Tippe auf die Karte dann Menü → “verwende Position” dort gebe ich “Navigiere von” an.
Nun muss ich im erscheinenden Menü ein Ziel wähle. Das tue ich, indem ich das Ziel per druck auf die Karte auswähle.
Damit komme ich zu keinem Ergebnis. "Meldungen wie “Standort noch nicht ermittelt” usw. erscheinen.

Also 2 Wegpunkte erstellen, damit brouter seinen Dienst tut. Es kam ja bei brouter auch die Meldung:
“An Error occured” “No more Waypoints available!”

Ich wähle also eine Position auf der Karte und gebe dem ein Waypoint. Nun einen zweiten Waypoint auf der Karte erstellt.
Unter Navigation wähle ich Fahrrad (aktuell ist KFZ angezeigt:( Außerdem setzt ich bei “offline” noch einen Hacken.
Als Start wähle ich auf der Karte den Waypoint 1 und als Ziel den Waypoint 2 aus. Und siehe da, die Route wird augenblicklich berechnet und angezeigt :slight_smile:

Wie komme ich auf dem Galaxy nun zu diesem ominösen Schalter?
Ich wechsle also über die “Home” Taste zu brouter. Der wird ja im Hintergrund angezeigt.
brouter erscheint wie eingangs bereits beschrieben mit der Liste der Profile.
Wähle das Profil “tracking” und …
erhalte die Fehlermeldung wie oben beschrieben:
“An Error occured” “No more Waypoints available!”

brouter hat in OsmAnd die Route berechnet – und zwar von Waypoint1 zu Waypoint2.

Ich breche also die Navigation ab. Gehe unter “Einstellungen”, “Navigation” nachsehen, mit was die Berechnung durchgeführt wird. Die “Profilspezifischen Einstellungen” sind nicht aktiviert. Weder Fahrrad noch KFZ noch Fußgänger . Ausgegraut im Hintergrund ist als Navigationsdienst brouter aktiv. Wähle also noch einmal “Fahrrad” aus. Navigationstype brouter ist aktiviert.

brouter hat also in Zusammenarbeit mit OsmAnd eine Route berechnet. In welchem Profil auch immer.

Meine Frage und mein Problem bleibt nun offen. OsmAnd ist mit der gerade mittels brouter ermittelten Route im Navigationsmodus aktiv.
Wie also kann ich in diesem Modus zu brouter wechseln (ohne o.g. Fehlermeldungen) um dort ein anderes Profil (Tracking) auszuwählen?

Viele Grüße
Robert