BRouter, ein konfigurierbarer Offline-Streckenrouter [Web + Android]

Was ja auch genau Sinus ist
Sinus = sqrt(1-cosangle^2) :rolleyes:.

ich finde 1-cosangle schon ganz passend. Das ist nahe um die Null etwa wie eine Parabel, die wenn man weiter auf 90° zugeht in eine lineare Funktion übergeht die dann allmählich (in der nähe zu 180°) wieder abflacht. Das trifft doch die Realität ganz gut. Abbiegungen mit einem kleinen Winkel (z.B. 30°) kann man völlig ungebremst durchfahren, bei 45° nimmt man schon etwas Gas raus, bei 90° bremst man vorher schon merklich und zum Wenden muss man nahezu anhalten und da ist es dann auch schon Wurst, ob man nun eine 160° oder eine 180° Haarnadelkurve durchfährt.
Eigentlich bräuchte man da ja den Kurvenradius. Nur ist der halt in der OSM in vielen Fällen nicht mal implizit (nur wenn eine Abbiegespur explizit gemappt ist) erfasst.
 
Ihr habt Probleme :rolleyes:
Ich bin ja immer unzufrieden gewesen, daß brouter unerwünscht steile Umsonsthöhenmeter (im Gegensatz zu kostenlosen, wie mit der Bildung...) einbaut.
Im neuen Profil (wer kann die Kodierung anpassen, daß die Fragezeichen wieder zu Umlauten werden?) habe ich gerade einen neuen Parameter gefunden, an dem es sich zu drehen lohnt:
Uphillcutoff zu Uphillcost gehörend. Früher haben alle Hm gleichviel gekostet, egal wie anstrengend. Damit suchte sich der brouter mit Vorliebe die steilsten aus, weil damit das Gerausche der Radardaten wegfiel. Dumme Sache, daß dabei oft Zusatzhöhenmeter anfielen, die ich nun wirklich nicht brauche. Ich wollte ja eine mit der Steigung quadratisch ansteigende Funktion für die Uphillcosts, was wohl nicht möglich war.
Statt Uphillcost 80 und ~Cutoff 0.1 habe ich nun Uphillcost 800 und ~Cutoff 4 genommen. Damit werden alle flachen Höhenmeter leider gar nicht gewertet, aber besser als nichts. Dann noch die Fähre Meersburg erzwungen und nun werden aus 187 km mit 916 Hm 171 km mit 806 Hm, der unnütze 10%er mit 100 Hm fällt weg und es gibt nur eine Steigung mit mehr als 4% (4% fahr ich locker im großen Blatt hoch ohne Körner einsetzen zu müssen).
Das dürfte mir ungefähr eine Stunde einsparen auf der Strecke. (y)(y)

Gruß,

Tim
 

Anhänge

  • TTOltenmaibummel2018.gpx
    328,6 KB · Aufrufe: 64
  • TTOltenmaibummel2018_2.gpx
    297,9 KB · Aufrufe: 48
Hallo Tim,

wie ich in diesem Beitrag gezeigt habe ist die Höhenstrafe im VM-schnell-Profil nicht so weit von den tatsächlichen Kosten entfernt.

Damit werden alle flachen Höhenmeter leider gar nicht gewertet

Die Downhillcost sind ja auch noch da. Denn wo man unötig hoch fährt muss man auch wieder runter.

Wenn man im VM-schnell-Profil die Kosten für die Fähre und Bundesstraßen reduziert, bekommt man auch ohne Änderung der Höhenkosten nahezu die gleiche Route wie deine optimierte (sogar ohne Zwischenpunkt). Das Problem scheinen eher die hohen Kosten der Bundestraßen bei Steigungen zu sein. Wenn diese gemieden werden bleiben oft nur schlechter ausgebaute Strecken die steiler sind.

Wenn du mehr Fähre und Bundestraße und damit kürzere Strecken mit weniger Höhenmeter fahren willst kannst du das Profil im Anhang testen.

Gruß Volker
 

Anhänge

  • velomobil-schnell-tim.zip
    4,3 KB · Aufrufe: 57
Wenn ich mit Originalprofil die Fähre erzwinge, routet er über die Bundesstraße auf der Konstanzer Halbinsel, das ist ne miese Strecke, wenn man nicht nach Thayngen sondern eh an den Rhein will.
Und was bei Christoph und Dir stimmen mag, klappt bei mir nicht: wenn ich einen zu steilen Stich hoch muss, bricht erstmal die Steigleistung auf etwa die Hälfte ein, erst weil ich aufs kleine Blatt muss, dann, weil ich wegen fehlender Kühlung überhitze und übersäuer. Dadurch bricht bis zu einer halben Stunde danach die Leistung stark ein, weil ich erst mal wieder zu Kräften kommen muss.
Wegen der Höhenmeterangabe 500 Hm/100 km im anderen Thread: 170 km 800 Hm und das ist noch nicht wirklich flach - und das in der Schweiz :)

Gruß,

Tim
 
Die Kosten für die Strecke erhöhen wäre OK, aber bitte keine No-go-Area daraus machen.

So habe ich die "Railway=Tram cost" auch im Kopf, sondern noch nicht im Profil. Ich bitte um Ergänzung:

Code:
assign surfacepenalty
...
 switch railway=tram add lmc 32 #Zusatzkosten für gezwungen S-Bahn Gleise befahren
...

Was bedeutet "add lmc"?
 
Zuletzt bearbeitet:
das ist gar nicht so trivial, weil die Bahngleise - wenn die Bahn wie auf dem Bild 2 getrennte Spuren für jede Richtung hat - in der Regel als eigene Wege gemappt werden. Dann steht 'railway=tram' gar nicht an der eigentlichen Fahrbahn mit dran und die Info ist für den Router ziemlich unzugänglich. Man müsste wohl bei der Generierung der Routing-daten zu jedem Weg testen, ob parallellaufende Bahngleise vorhanden und diese näher am Weg als die (sofern diese überhaupt angegeben ist) Fahrbahnbreite sind.

In dem Fall "Bild 2 getrennte Spuren" handelt es sich um die "Zaagmolenstraat" in "Rotterdam" [OSM]. Wenn die Strasse sogar ein Fahrradstreife/weg am Rechteseite hat, können die extra kosten reduziert werden, zum Beispiel auf 16 statt 32 (für das Risiken das ein Wagen die Fahrradstreife sperrt und man hinterher die Gleise befahren soll).
 
Zuletzt bearbeitet:
@cj0
ich habe mit overpass-turbo.eu nach Strecken gesucht bei denen das vermeiden von Schienen im Profil einen Unterschied machen könnte. Da findet man aber sehr wenig und weil sie nicht den tagging Empfehlungen entsprechen werden es wohl in Zukunft noch weniger werden. Solange es bei BRouter keine Möglichkeit gibt parallele Strecken abzufragen sehe ich keine sinnvolle Möglichkeit.

Was bedeutet "add lmc"

Wenn man "assign low_memory_cutoff = true" setzt wird mit dieser Variablen der Wert so hoch dass dieser Weg bei der Berechnung sofort verworfen wird. Das spart vorallem bei leistungsschwächeren Smartphones oder langen Strecken Speicherplatz und Rechenzeit.

In den Niederlanden sind sehr viele Straßen die von Radwegen begleitet werden mit bicycle=no getaggt. Weil das Velomobilprofil Radwege vermeidet und mit den "verbotenen" Straßen kaum vernünftig Strecken übrig bleiben, funktioniert das Velomobilprofil dort schlecht. Deshalb bicycle=no im Profil ignorieren lassen, mit dem Risiko tatsächlich verbotene Strecken zu erwischen, oder ein für Radwege freundlicheres Profil verwenden.

Gruß Volker
 
ich habe mit overpass-turbo.eu nach Strecken gesucht bei denen das vermeiden von Schienen im Profil einen Unterschied machen könnte. Da findet man aber sehr wenig

Ich würde anfangen mit:

Code:
way
  [highway=tertiary][railway=tram]["cycleway:right"!~lane]
  ({{bbox}});
(._;>;);
out;

Gefunden in West-Europa in: Rotterdam, Den Haag, Amsterdam, Gent, Angers, Bordeaux, Anderlues (Charlerois), Nancy, Augsburg, Erfurt, Halberstadt, Leipzig, Dresden, Plauen, Praha, Wien, Torino, Padova, Mestre (Venedig), Duisburg und Krefeld.

Vielleicht soll es noch eine Beschränkung auf [lanes=1] geben -> Erfurt, Augsburg, Amsterdam, Rotterdam, Den Haag.

Denn fehlt aber die "Bergiusstraße in Duisburg", Tag "lanes=1" fehlt dort.

.. weil sie nicht den tagging Empfehlungen entsprechen werden es wohl in Zukunft noch weniger werden.
Ich sehe (noch) nicht was in dieser Zaagmolenstraat den Tagging Empfehlungen nicht entspricht. Für mich ist dieser Strasse getagt wie das zweite Beispiel ins https://wiki.openstreetmap.org/wiki/Highway_tagging_samples/urban

Wie kriege ich "[highway=tertiary][railway=tram]["cycleway:right"!~lane]" in Brouter Konfigurationssprache als "surfacepenalty"?
 
Zuletzt bearbeitet:
mit [lanes=1] geht ziemlich gut, biss es eine Baustelle gibt (Sankt-Anton-Straße Krefeld):
thumb-2048.jpg
 
Neuer Version:

Sicher nicht befahren mit Velomobile:
Code:
way
  [highway~"^(residential|tertiary)$"][railway=tram][lanes=1][!"cycleway:right"]
  ({{bbox}});
(._;>;);
out;

Ergebnisse in z.B.: Augsburg, Duisburg, Darmstadt, Erfurt, Amsterdam, Den Haag, Rotterdam, Gent, Anderlues (Charleroi), Praha, Bratislava, Timisoara, Roma, Nantes.

verdächtig (lanes!~1):
Code:
way
  [highway~"^(residential|tertiary)$"][railway=tram][lanes!~1][!"cycleway:right"]
  ({{bbox}});
(._;>;);
out;
Ergebnisse: viel, aber nicht in
; die Breslauer Straße in Leipzig (nur von Nord nach Süd).
 
Zuletzt bearbeitet:
@cj0
in overpass-turbo.eu habe ich mit

[out:json][timeout:65];
(
way["railway"~"rail|tram|light_rail|narrow_gauge"]["highway"~"residential|unclassified|tertiary|secondary|primary|living_street|road"][bicycle!=no];

);
// print results
out body;
>;
out skel qt;

gesucht. Damit komme ich auf 3500 ways weltweit. Da sind die incline=* tags (ohne up, down oder ähnliche) wesentlich häufiger, aber die sind schon zu selten um sie sinnvoll zu verwenden.

Ich sehe (noch) nicht was in dieser Zaagmolenstraat den Tagging Empfehlungen nicht entspricht. Für mich ist dieser Strasse getagt wie das zweite Beispiel ins https://wiki.openstreetmap.org/wiki/Highway_tagging_samples/urban

Ich verstehe das so dass railway=tram als eigene ways (eventuell mit gemeinsamen nodes) gemapt wird. Das kann dann BRouter nicht erkennen.

Probiers im Profil mal mit:

add switch and and railway=tram lanes=1 cycleway:right= 32 0

Direkt nach "assign surfacepenalty" einfügen. Die highway=* tags würde ich da nicht mit rein nehmen.

Gruß Volker
 
@cj0
Probiers im Profil mal mit:

add switch and and railway=tram lanes=1 cycleway:right= 32 0

Direkt nach "assign surfacepenalty" einfügen.

Das klappt.

Und wenn ich noch eine Gradierung anbringen möchte?

railway=tram lanes=1 und cycleway:right= (nicht gesetz) 32 # Fast sicher
railway=tram cycleway:right=* (gesetz) 2 # Ein Fahrrad weg ist oft langsamer
railway=tram lanes= (nicht gesetzt) und cycleway:right= (nicht gesetz) 16 # Chance -> lieber nicht
 
Und wenn ich noch eine Gradierung anbringen möchte?

railway=tram lanes=1 und cycleway:right= (nicht gesetz) 32 # Fast sicher
railway=tram cycleway:right=* (gesetz) 2 # Ein Fahrrad weg ist oft langsamer
railway=tram lanes= (nicht gesetzt) und cycleway:right= (nicht gesetz) 16 # Chance -> lieber nicht

nach "assign surfacepenalty"

add switch railway=tram
switch not cycleway:right= 2
switch lanes= 16
switch lanes=1 32
0
0

einfügen.

Gruß Volker
 
Um das Velomobil Profil für die Niederlande besser nützlich zu machen habe ich schon
Code:
ignore_bicycle_no = true
geschaltet.

Bisher geht nicht über die Autobahn doch würde ich die Provinzialstrassen die für die Landwirtschaft geschlossen sind auch lieber nicht befahren. Z.B. dieser Weg: https://www.openstreetmap.org/way/383422211

Dazu dachte ich mir:
Code:
assign initialcost
 switch highway=primary and agricultural=no and bicycle=no 150000 # Ignorieren von Fahrrad verbot auf Provinzialwegen geschlossen für landwirtschaftliche Fahrzeuge nicht ignorieren (Niederlande)

Dies führt zu :
Profile error: ParseException at line 66: unknown lookup name: agricultural
in BRouter-Web 0.6.3.

Wie läßt sich dieser Situation verbessern?
 
Dazu dachte ich mir:
Code:
assign initialcost
switch highway=primary and agricultural=no and bicycle=no 150000 # Ignorieren von Fahrrad verbot auf Provinzialwegen geschlossen für landwirtschaftliche Fahrzeuge nicht ignorieren (Niederlande)
Dies führt zu :
Profile error: ParseException at line 66: unknown lookup name: agricultural
in BRouter-Web 0.6.3.

Man kann nur die tags verwenden die in der lookups.dat enthalten sind. Tags die nicht dabei sind werden auch nicht in die *.rd5 aufgenommen.

Gruß Volker
 
Mir ist leider immer noch einiges unklar im Zusammenspiel von OsmAnd und BRouter.

Habe OsmAnd~ 2.9.3 auf der physikalischen Speicherkarte und Brouter v1.4.10 (auch v1.4.7?)
Ich komme im BRouter nicht mehr auf die Seite zum herunterladen von .rd5-Kacheln:
Nach 'Select a Routing profile' -> vm-Forum-velomobil-schnell -> 'Server-Mode' -> 'bicycle.short' und 'bicycle fast' kommt 'Success'
Wenn ich dann zurückgehe kommt lediglich ein schwarzes Display :confused:
Wie bekomme ich diese Kacheln auch auf die Speicherkarte?

Im OsmAnd werden aber mit Navigationsdienst BRouter und OsmAnd unterschiedliche Fahrradstrecken geroutet.
 
Erst einmal: brouter ist eine tolle Entwicklung, ich benutze die Web-Version sehr gerne und will mir auch die apk für osmand installieren.

Was mir im Moment in brouter noch fehlt, ist ein Profil "vm-forum-liegedreirad-langsam". Ich benutze zur Zeit zur Tourenplanung entweder "trekking-nosteps", das mich aber nach meinem Empfinden zu oft über schlecht ausgebaute Wege führt, oder "vm-forum-liegerad-schnell", das mich aber nach meinem Empfinden zu oft über stark befahrene Straßen leitet und große Umwege vorschlägt. Wie muss ich die Parameter setzen, um die beiden Profile zu verschneiden?

Außerdem wäre es gut, wenn man in der Web-Version die Stützpunkte herunter- und wieder hochladen könnte, um an einer Strecke weiterzuarbeiten.

Beste Grüße

Igel-Radler
 
Zurück
Oben Unten