Ergänzung des name-tags verhindert Routing über diese Strasse

Hallo,
…folgende Situation:

Vorabinfo:
Ich nutze zur Navigation die Software “navit” in der aktuellen SVN-Version (… in diesem Fall die 0.2.0.3495) auf einem Treo 750 mit Windows Mobile 6 Prof.
Als Kartenmaterial nutze ich die aktuellen Downloads über den “Navit: Planet Extractor” (http://maps.navit-project.org/download/)

Ausgangssituation:
Bis letzte Woche wurden alle Routen (ab Bornhöved Iven-Kruse-Weg Richtung Osten resp. Westen) von Süden kommend (Bahnhofstraße) über die B430 berechnet und angezeigt. Dies ist nur Richtung Osten zulässig. Richtung Westen müsste korrekterweise von Norden kommend (Priesterredder) geroutet werden.
Warum hier ausschließlich von Süden über die Bahnhofstraße geroutet wurde, weiß ich nicht (vielleicht das Problem der Abbiegerestriktionen?). Fakt aber ist, daß keine Route von Norden über den Priesterredder gerechnet wurde.
(http://www.openstreetmap.org/?lat=54.07336&lon=10.22643&zoom=17&layers=M)

Änderung:
Über das Tool “OSM-Inspector” (http://tools.geofabrik.de/osmi/?view=highways) habe ich zufällig gesehen, daß es noch “unbenannte” Straßen in Bornhöved gibt. Unter anderem die von Süden kommende “Bahnhofstraße” und der von Norden kommende “Priesterredder”.
Daraufhin habe ich die Bahnhofstraße mit dem tag “name = Bahnhofstraße” versehen. Dieses ist auch korrekt in die online-Anzeige der OSM-Karten wie auch in die aktuellen Downloads des “Planet Extractor” übernommen worden.
Den Priesterredder habe ich noch nicht weiter bearbeitet.

Ergebnis:
Seit der Ergänzung mit dem name_tag “Bahnhofstraße” werden alle Routen ausschließlich von Norden über den Priesterredder berechnet und keine von Süden über die (neu benannte) Bahnhofstraße. Dies betrifft alle aktuell heruntergeladenen Karten sowohl von “Planet Extractor” wie auch von z.B. von “jff-webhosting” (http://jff-webhosting.net/osm/navit/europe/germany/).

Frage 1:
Warum hat das Hinzufügen des fehlenden name_tag dazu geführt, daß die zuvor ausschließlich für Routing benutzte Straße nun komplett gemieden wird?

Weiteres Testing:
Da auch der Priesterredder bisher unbenannt ist, habe ich ihn (am 28.07.2010) auch mit dem noch fehlenden name_tag versehen.

Weiteres Ergebnis (30.07.2010):
Seitdem auch der Priesterredder mit dem name_tag “Priesterredder” ergänzt wurde, werden wieder alle Routen ausschließlich von Süden über die Bahnhofstraße berechnet und keine von Norden über den Priesterredder.

Fazit:
a) beide Straßen unbenannt (= keine benannt) => Routing ausschließlich von Süden kommend über Bahnhofstraße
b) südliche Straße benannt (= eine benannt) => Routing ausschließlich von Norden kommend über Priesterredder
c) nördliche Straße auch benannt (= beide benannt) => Routing wieder ausschließlich von Süden kommend über Bahnhofstraße

Frage 2:
Werden nicht benannte Straßen innerhalb von Ortschaften für das Routing (in diesem Fall mit “navit”) vorrangig behandelt?

Gruß Jörg

===========================================
Bahnhofstraße

am 22.07. über JOSM name_tag hinzugefügt
aktuelle Tags:
highway = tertiary
name = Bahnhofstraße

===========================================
Priesterredder

Überprüfung OSM-Inspector:
layer: name_missing_major
way_id: 24865331
highway: tertiary
tags:
Data from 2010-07-27 20:00

Anschließend am 28.07. über JOSM name_tag hinzugefügt
aktuelle Tags:
highway = tertiary
name = Priesterredder

Jetzt habe ich die B430 in zwei getrennte Fahrbahnen aufgeteilt. Mal sehen, ob das Routing jetzt mit den neuen Daten einwandfrei funktioniert.

Gruß FK270673

…ich bin gespannt!

Allerdings werden die Änderungen erfahrungsgemäß erst in ein oder zwei Tagen in den Karten des “Navit: Palnet Extractor” aktualisiert sein.

Ich werde auf jeden Fall das Ergebnis hier wieder posten.

Danke
Jörg

Warum? Sind die Fahrbahnen dort tatsächlich baulich getrennt?

Bitte nicht die Daten verfälschen, nur damit irgend ein Programm besser routet! (Erst recht nicht, wenn es bereits bewährte Möglichkeiten wie Abbiege-Relationen gibt, welche allen Programmen helfen würden!)

Nein, die Fahrbahnen sind nicht “baulich getrennt”.
Es sind nur getrennte Auf- und Abfahrten vorhanden.

Es ging mir auch weniger um das Problem des “korrekten” Abbiegens auf die B430. Ich weiß, daß es gerade im Bereich Abbiegen bzw. Abbiege-Restriktionen Probleme (insbesondere bei den auswertenden Programmen) gibt.

Mich hat nicht so sehr gewundert, daß ausschließlich von einer Richtung aus kommend berechnet wurde.
Mich hat vielmehr verwundert, daß nach dem Ergänzen des fehlenden name_tag diese zuvor ausschließlich benutzte Straße jetzt komplett gemieden wurde.
Und nachdem Ergänzen des auch fehlenden name_tag der anderen (jetzt ausschließlich benutzten) Straße wurde diese komplett gemieden und wiederum die erste ausschließlich verwendet.

Warum hat das Vorhandensein des name_tag die Auswirkung, daß diese Straße gemieden und eine unbenannte vorgezogen wird?

Gruß Jörg

P.S.
Wenn das Aufteilen in zwei Fahrbahnen bedeutet, daß diese “baulich getrennt” sind, dann entspricht dies nicht der baulichen Situation vor Ort und sollte sicherlich rückgängig gemacht werden.
(…es ist nur eine durchgezogene weiße Mittellinie vorhanden)

Zum eigentlichen Problem kann ich leider auch nichts sagen. Falls Du englisch kannst, solltest Du es über einen der hier beschriebenen Wege versuchen:
http://wiki.navit-project.org/index.php/Contacts

Am besten sind die Navit-Entwickler im IRC zu erreichen (Channel #navit auf irc.freenode.net) - dort sind sie meistens online, aber nicht immer auch antwortbereit, also am besten eine Frage stellen und abwarten :wink: Der Channel ist typischerweise englisch, aber die Entwickler (cp15, horwitz) sprechen auch deutsch.

Ich habe es gerade mit Rev. 3495 ausprobiert, Navit routet mich dabei immer über die Bahnhofstraße - die Karte habe ich von http://deelkar.dev.openstreetmap.org/maps/ heruntergeladen. Wahrscheinlich gibt es da ein Problem mit den Abbiegerelationen… Das könnte an der Karte (soll heißen, an der Übersetzung von OSM nach Navit-bin) oder an Navit selbst liegen. Vielleicht können die Entwickler mehr dazu sagen.

turn-restrictions sollten unterdessen in Navit sauber beachtet werden. siehe dazu den geschlossenen trac: http://trac.navit-project.org/ticket/101

aber ein ähnliches Problem wird in diesem Trac berichtet: http://trac.navit-project.org/ticket/630
vielleicht sollte man auch dieses Problem hier in diesem trac ergänzen…

An obiger Stelle gab und gibt es keine turn-restrictions - der Grund im komischen Routing muss also irgendwo anders liegen…

hoppla… da hätte ich mir das doch anschauen sollen…

Erstmal ist zu sagen, daß es absolut sch… ist, etwas an der Karte falsch zu machen nur damit ein Fehler des Lieblingsprogrammes umgangen werden kann.

Daher bitte schnellstmöglich die Fehler in der Karte beheben.

Ich habe mir das Routing soeben mal angeschaut und kann keine Fehler entdecken. Es sind allerdings auch absolut keine restriction vorhanden, die irgend etwas unterbinden. Oder ich habe Deinen Text nicht ganz verstanden.

Ich bitte drum:

  1. Den Fehler an der Karte zu beheben
  2. Das Routing neu zu testen
  3. Wenn Fehler wieder auftreten bitte einen Screenshot machen auf dem man als Bild den Fehler sieht.
  4. Dann schaue ich mir mal den Fehler im Detail an. In den Daten läßt sich jeder Fehler beheben. (Wobei Navit-Fehler nicht ausgeschlossen sind)

Grüße
Dennis

Hallo Dennis,

zu 1) …ich kann diesen Fehler auf der Karte nicht beheben, da ich weder weiß, wie eine “Fahrbahntrennung” vorgenommen wird noch wie diese wieder zurückgenommen resp. wieder zusammengeführt werden kann.
Im übrigen sollte dies auch eher derjenige tun, der die Änderung vorgenommen hat.
=> ich habe dazu eine Mitteilung an “FK270673” mit der bitte um Rücknahme der Änderung geschrieben.
=> “FK270673” würde dieses gerne zur Diskussion stellen, da wohl bundesweit diese Probleme bestehen.
=> die Frage wäre hier wohl, ob ein “durchgehender weißer Mittelstreifen” als “bauliche Trennung” gewertet werden kann.

zu 2) …ich habe das Routing neu getestet: mit der aktuellen Fahrbehntrennung tritt kein Problem beim Routen auf.
=> dieser Zustand wird sich aber sicherlich beim Zurücknehmen der Fahrbehntrennung wieder ändern.

zu 3) …der von mir beschriebene Fehler ist wie folgt aufgetreten:
a) beide Straßen unbenannt (= keine benannt) => Routing ausschließlich von Süden kommend über Bahnhofstraße
b) südliche Straße benannt (= eine benannt) => Routing ausschließlich von Norden kommend über Priesterredder
c) nördliche Straße auch benannt (= beide benannt) => Routing wieder ausschließlich von Süden kommend über Bahnhofstraße
d) weiterhin beide benannt, zusätzlich ist die B430 in zwei Fahrbahnen getrennt worden => Routing korrekt

Ich habe entsprechende Screenshots “vorher” und “nachher” gemacht, die ich anschließend einbinde (…hoffe, daß es funktioniert)

zu 4) …ich freue mich, wenn Du eine Ursache für das unterschiedliche Routing-Verhalten ausfindig machen kannst :wink:

Meine Frage bezog sich auf das Unverständnis, weshalb eine unbenannte Straße beim Routing (mit “navit”) anscheinend bevorzugt wird, wogegen die gleiche Straße, wenn beide benannt resp. unbenannt sind, komplett gemieden wird.

Meine Änderungen an der Karte bezogen sich nur auf das Hinzufügen der noch fehlenden name_tags.


[-> Bilder zu Situation a) und c) = beide Straßen unbenannt und beide benannt]

beide un/benannt => Richtung Osten ok

beide un/benannt => Richtung Westen falsch


[-> Bilder zu Situation b) = nur Bahnhofstraße benannt, Priesterredder noch unbenannt]

nur Bahnhofstraße benannt, Priesterredder unbenannt => Richtung Osten falsch

nur Bahnhofstraße benannt, Priesterredder unbenannt => Richtung Westen ok


[-> Bilder zu Situation d) = beide Straßen benannt und zusätzlich B430 in zwei Fahrbahnen getrennt]

beide Straßen benannt und B430 in zwei Fahrbahnen getrennt => Richtung Osten ok

beide Straßen benannt und B430 in zwei Fahrbahnen getrennt => Richtung Westen ok


[-> Bilder OSM-Inspector vor und nach Hizufügen des name_tag]

Angezeigtes fehlerhaftes Element im OSM-Inspector = fehlender Name bei der Straße “Priesterredder”

Korrekte Anzeige des Elements “Priesterredder” nach Hinzufügen des name_tags

Gruß Jörg

Wenn da keine turn-restrictions vorhanden sind, dann ist das doch ein Grund, warum das Routing falsch läuft. Was soll Navit denn daran hindern, jemanden in die falsche Richtung abbiegen zu lassen, wenn keine turn-restrictions vorhanden sind?

Ich füge mal die beiden Fahrbahnen wieder zusammen und ergänze die turn-restrictions. Mal sehen, ob es danach richtig funktioniert.

Ach ja, eine durchgezogene Linie ist keine bauliche Trennung. Eine doppelte Linie dagegen gilt dagegen gemäß StVO als bauliche Trennung - dazu gab es hier mal irgendwo einen Thread…

Das Routing änderte aber, je nach dem ob und welche Strassen einen Namen haben. Darum geht es eigentlich im aktuellen Problem, unabhängig davon, dass Turn-Restrictions notwendig und richtig sind (wie ich auch bereits in meinem ersten Posting in diesem Thread geschrieben habe).

Das mit den Namen ist noch mal eine zusätzliche Merkwürdigkeit. Aber wie man auf den Bildern sehen kann, ist das Routing in allen Fällen fehlerhaft, egal ob nun Namen vergeben wurden oder nicht:

a) Routing nach Osten ist OK, Routing nach Westen ist fehlerhaft.
b) Routing nach Osten ist fehlerhaft, Routing nach Westen ist OK.
c) Routing nach Osten ist OK, Routing nach Westen ist fehlerhaft.
d) Beschreibt nicht die tatsächliche Situation.

Und genau diese Fehler, die bei a-c auftreten, sollten sich durch die Abbiegeeinschränkungen lösen lassen, und dürften daher kommen, dass keine Abbiegeeinschränkungen vorhanden sind. Die unterschiedliche Namensvergabe hat ja nur dazu geführt, dass mal der eine und mal der andere Fehler auftritt. Und letzteres lässt sich relativ leicht erklären:

Wenn eine Straße einen Namen hat, nimmt Navit an, dass sie sich in einer geschlossenen Ortschaft befindet (bzw. das Programm, das die Daten von OSM nach Navit-bin umwandelt, tut das). Wenn beide Straßen einen Namen haben, wählt Navit die kürzere der beiden aus, und das ist die Bahnhofstraße - unabhängig davon, in welche Richtung man fahren will. Wenn aber die Bahnhofstraße einen Namen hat (= innerorts ist) und der Priesterredder nicht (= außerorts ist), bevorzugt Navit den Priesterredder, ebenfalls unabhängig von der geplanten Fahrtrichtung.

Die Abbiegeeinschränkungen sorgen nun aber dafür, dass jeweils nur eine der beiden Straßen, Bahnhofstraße oder Priesterredder, in Frage kommt. Folglich sollten sie auch das beschriebene Routingproblem lösen.

@all: Danke für die zahlreichen Tips (neudeutsch = Tipps)
Dies ist ein phantastisches Forum. Es macht Lust auf mehr Arbeit mit OSM :wink:

@MHohmann: Danke für die Rückstellung der B430.
Des weiteren war die Erklärung (Interpretation benannte Straßen = innerorts und unbenannte Straßen = außerorts) genau die Info, auf die meine Frage abzielte.

Ob die eingefügten Abbiegerestriktionen das gewünschte Routing-Ergebnis liefern, werde ich in den nächsten Tagen hier posten.
Aktuell sind diese Änderungen noch nicht im “Navit: Planet Extractor” verfügbar.

Allen ein wunderschönes Wochenende wünscht
Jörg

wenn das so bleiben soll, erwähne die folgenden Diinge nicht:

  • footway/cycleway vs path+foot/bicycle=*
  • bauliche Trennung von Straßen
  • Mitbenutzung von Wegen/Wegknoten für Landuse Flächen
  • Multipolygon vs Übereinanderzeichen von leisure Flächen auf Landuse Flächen
    und last but not least
  • den anstehende Lizenzwechsel

Wenn Du Action haben willst, formuliere eine Frage in der alles vorkommt.

:wink:

Diese Vorgehensweise (Name == innerorts) scheint mir allerdings sehr Deutschland-orientiert zu sein. Hier in der Schweiz haben alle Strassen (ausser Autobahnen und Schnellstrassen) einen Namen, egal ob inner- oder ausserorts. Auch in den Nachbarländern (FR, NL, IT, AT) habe ich auf den ersten Blick ettliche Ausserorts-Strassen mit Namen gesehen, so dass ich davon ausgehe, dass das dort auch ‘normal’ ist…

Auch in Deutschland gibt es durchaus Straßen außerhalb von Ortschaften,
die einen Namen haben. Siehe:

Im ersten Beispiel gibt es Bebauung entlang der Straße, im zweiten weis ich es nicht.

Edbert (EvanE)

Stimmt, diese Zuordnung ist nicht ganz logisch. Das Problem ist, dass man einer Straße bzw. ihren OSM-Tags nicht unbedingt ansieht, ob sie innerorts oder außerorts liegt. Eine Geschwindigkeitsbeschränkung wäre schon mal ein Indiz, aber die kann auch außerorts sein. Ich habe gerade mal im Maptool-Queltext nachgeschlagen:

Also, wenn name=* vorhanden ist, wird die Straße als innerorts einsortiert, sonst als außerorts. Dieses Verhalten lässt sich überschreiben, indem man zusätzlich das Tag rural=0 bzw. rural=1 vergibt - allerdings konnte ich rural=* nirgendwo dokumeniert finden, von daher halte ich das für ziemlichen Unfug. Da sollte man lieber schauen, ob ein maxspeed=:urban oder maxspeed=:rural vorhanden ist.