abrensch / brouter

configurable OSM offline router with elevation awareness, Java + Android
MIT License
504 stars 120 forks source link

Fehlende Abbiegeanweisungen / Missing turn-by-turn directions #453

Open ReinerMeyer opened 2 years ago

ReinerMeyer commented 2 years ago

I like to use OSMAND as a car navigation app. Recently also together with Brouter.

Here I describe a behaviour of the Brouter add-in with OSMAND, which disturbed me and would frustrate uninitiated users who rely on the routing.

The planned route was from Leobersdorf - Wr. Neustadt junction - S4 direction Mattersburg - Neudörfl exit. At the Wr. Neustadt junction, the S4 branches off to Mattersburg. There was no instruction to turn right onto the S4 at the junction (this behaviour happened at least twice). However, after turning onto the S4 from the A2 after a few metres inside the curve, the instruction came to follow the road for 8 km (Now, in retrospect, I know that this should mean following the S4). The S4 makes a right turn shortly after the Katzelsdorf exit. To do this, you have to keep right from the straight ahead lane over a solid line and then follow the curve. Someone who can only rely on the instructions because he does not know the area expects to be instructed here to keep to the right and not to continue straight ahead. At this point, going straight is more obvious than turning, because the dashed line on the right does not go well with the instruction to "follow the course of the road". Even if the S4 makes it necessary to keep right or turn right at this point. For legal reasons, one would even have to set the indicator accordingly. The straight ahead lane is actually the exit to Wr. Neustadt Ost. Only at the junction with Neudörfler Straße at the traffic lights did the message "recalculation" appear. Is it possible to teach Brouter to miss more helpful instructions?

Translated with www.DeepL.com/Translator (free version)

German version (original): Ich verwende gerne OSMAND als Autonavigations App. Seit kurzem auch zusammen mit Brouter.

Hier beschreibe ich ein Verhalten des Brouter Add-in bei OSMANS, was mich gestört hat und unbedarfte Benutzer frustieren würde, die sich auf das Routing verlassen.

Die geplante Route war von Leobersdorf - Knoten Wr. Neustadt - S4 Richtung Mattersburg - Abfahrt Neudörfl. Beim Knoten Wr. Neustadt zweigt die S4 nach Mattersburg ab. Es gab keine Anweisung, beim Knoten nach rechts auf die S4 abzubiegen (Dieses Verhalten ist zumindest 2x passiert). Jedoch nach Abbiegen auf die S4 von der A2 nach wenigen Metern innerhalb der Kurve kam die Anweisung dem Straßenverlauf für 8 km zu folgen (Jetzt, im Nachhinein weiß ich, dass damit das Folgen der S4 gemeint sein sollte). Die S4 macht kurz nach der Ausfahrt Katzelsdorf eine Rechtskurve. Dafür muß man von der Geradeausspur über eine durchgezogene Linie sich rechts halten und dann der Kurve folgen. Jemand, der sich nur auf die Anweisungen verlassen kann, weil er die Gegend nicht kennt, erwartet hier die Anweisung sich rechts zu halten und nicht geradeaus weiterzufahren. An dieser Stelle geradeaus weiterfahren ist naheliegender als abzubiegen, weil die gestrichelte Linie rechts nicht gut zusammenpaßt mit der Anweisung "dem Straßenverlauf folgen". Auch wenn die S4 eben an dieser Stelle ein rechts halten bzw. rechts abbiegen nötig macht. Von Rechts wegen müßte man sogar entsprechend den Blinker setzen. Die Geradeausspur ist eigentlich die Ausfahrt nach Wr. Neustadt Ost. Erst bei der Einmündung in die Neudörfler Straße an der Ampel kam die Meldung "Neuberechnung". Ist es möglich Brouter beizubringen, mehr hilfreiche Anweisungen zu verpassen?

afischerdev commented 2 years ago

To follow your words it would be nice to have also a link for this from BRouter web client

ReinerMeyer commented 2 years ago

Enclosed is the route I drove, generated by https://brouter.de/brouter-web/#map=13/47.7898/16.2692/osm-mapnik-german_style&lonlats=16.227129,47.936213;16.286438,47.787354&profile=car-fast However, I did not use a gpx-track, but entered the destination and let Brouter create the route within OSMAND.

Leobersdorf - Neudörfl-Ausfahrt.zip

afischerdev commented 2 years ago

@ReinerMeyer Thanks for the additional info. Now I could find the addressed problems. For the first sample (missing voice hint) we already have a solution. When published it will bring 'keep right'. The discussion on that can be found in #375.

There I will place the second sample - also a missing voice hint.

333bkz commented 2 years ago

https://github.com/osmandapp/OsmAnd/blob/master/OsmAnd/src/net/osmand/plus/routing/RouteCalculationResult.java

see: RouteCalculationResult#addMissingTurnsToRoute

poutnikl commented 2 years ago

BRouter uses specific rule to decide if it provides the turning hint for a particular turn. It has pros and cons.

Check OSM and priority evaluation to decide, if not reported turn was

See https://brouter.de/brouter/profile_developers_guide.txt

The priority classifier

Priorityclassifier is a BRouter numerical parameter calculated for ways and used for generation of pictogram/voice navigation instructions.

Higher values means the more significant (noticeable) way, as far as it can be predicted from OSM data.

To avoid a navigation instruction flood, it was decided that the instructions are provided only if:

1/ You are supposed to turn at a crossroad/junction and some other ways having the same or higher Priorityclassifier value. OR 2/ You are supposed to go straight ahead and some other ways having the higher Priorityclassifier value.

poutnikl commented 2 years ago

Errata

Dne 29. července 2022 11:31:18 Poutnik Fornntp @.***> napsal:

Check OSM data and profile priority evaluation to decide, if not reported turn was omitted intentionally or due some error.

ReinerMeyer commented 2 years ago

Thanks for this note explaining the brouter behavior regarding priority classifier. In the situation I described, using the priority classifier probably doesn't help. But it would be useful to provide more information in the audio instruction, e.g. "follow the S4 for the next x kilometers" or "follow the route in direction Mattersburg". Would such a modification or addition to the audio instruction be possible?

Translated with www.DeepL.com/Translator (free version)