Hinzufügen einer Relation in JOSM beschädigt bestehende Relationen

Hallo zusammen,

nachdem ich festgestellt habe dass OsmAnd mir an einer Stelle eine falsche Route berechnet weil die Abbiegebeschränkung an der Stelle noch nicht in OSM vorhanden ist hab ich mir gedacht “prima, die baue ich eben schnell ein, kann ja nicht so schwierig sein” - aber anscheinend ist es das doch irgendwie …

Konkret geht es um diese Straße: https://www.openstreetmap.org/way/778507210
Dort darf man, wenn man aus dieser Servicestraße rausfährt, nur nach rechts abbiegen - dort steht ein Zeichen 209.

Ich habe also in JOSM (den ich ewig nicht mehr genutzt habe, also wahrscheinlich mache ich nur irgendeine Kleinigkeit falsch …) den entsprechenden Bereich runtergeladen und mit dem “Abbiegeeinschränkungen”-Plugin (Turn restrictions) eintragen wollen.

Also Typ “Nur Rechts”, “Von” der entsprechende Serviceweg, “Nach” die Bahnstraße angeklickt. Das gibt mir zwei Warnungen. Einmal

  • “Die Startlinie Straße und die Ziellinie Bahnstraße schneiden sich am Punkt 7265867611 aber dieser Punkt ist nicht als Zwischenobjekt eingetragen” - ich nehme an, das meint den “Via”-Eintrag an der restriction?
  • “Die Linie Bahnstraße mit Rolle to sollte am Punkt 7265867611 aufgeteilt werden, wo dieser mit der Linie Straße verbunden ist.”

Die erste Warnung habe ich per Klick auf den Button gelöst ohne Probleme.
Wenn ich die zweite Warnung per Knopfdruck “löse”, dann sind danach (beim Hochladen) sämtliche anderen Relationen (jede Menge Buslinien) über die Bahnstraße irgendwie kaputt, daher habe ich das hochladen lieber mal abgebrochen.
Wenn ich die zweite Warnung ignoriere, dann wird mir danach beim Hochladen gezeigt “Ziellinie beginnt oder endet nicht an einem Zwischenpunkt” - klar, ich habe ja auch die Straße nicht aufgeteilt.

Jetzt ist die Frage, woran liegt das?
Habe ich irgendeine Einstellung / Option vergessen?
Ist das ein Bug in JOSM?
Sind da irgendwelche bestehenden Relationen merkwürdig erstellt worden dass die kaputtgehen wenn ich eine weitere hinzufüge?

Und wie behebe ich das? Kann ich die zweite Warnung einfach ignorieren? Aber irgendeinen Sinn wird die ja bestimmt haben …

Ja.

Die from- und to-Wege müssen eines ihrer Enden am via-Punkt haben, der darf nicht mitten auf einem der Wege sitzen.

Lösung: Erst alle durchgehenden Ways passend aufteilen (JOSM sorgt schon dafür, dass die Busrelationen heil bleiben, solange du da nichts von Hand umbaust, sollte es passen), und dann die Abbiegebeschränkung rein.

Aber grundsätzlich machst du das schon richtig so. Das sind Details, die auftauchen, wenn man zwei Sachen gleichzeitig bearbeitet :slight_smile:

Hallo,

du hast alles richtig gemacht.

Das ist normal, da du ja einen Way, welcher Teil von einer oder mehreren Relationen ist in 2 aufteilst. Der neue enstandene Way muss natürlich in die bestehenden Relationen ergänzt werden, das macht JOSM auch. Daher erscheinen beim Upload auch die ganzen anderen Relationen.

Wow, danke für die schnellen Antworten.
Worauf bezieht sich dann die Warnung mit “unvollständigen” Bus-Relationen beim Hochladen? Waren die vorher auch schon unvollständig?

Also hat meine Änderung https://www.openstreetmap.org/changeset/100501675 jetzt trotz dieser verwirrenden Warnung die anderen Relationen nicht beschädigt?

“vorher auch schon unvollständig?” Ja, denn du hattest ja nur einen kleinen Bereich runter geladen.

Ich vermute, dass sich das darauf bezieht, dass nicht alle Ways/Nodes der Relationen runter geladen wurden … eben jene Ways/Nodes, die nicht in dem Bereich liegen, die du runter geladen hattest.

Wichtig beim Aufspalten von Wegen in JOSM: der gesamte Way muss runter geladen sein, d.h. alle Nodes die den Weg ausmachen und die Anschlussstücke.
Ansonsten kann es passieren, dass eines der beiden Teile (der neue, mit der noch JOSM-internen Id ‘0’) nicht in den Relationen auftaucht. Das ist einer der häufigsten Fehler bei Lücken in (Bus-)Relationen.

Aber davor warnt JOSM ja auch … man muss die Warnung nur berücksichtigen und entspr. handeln.

Wenn du möchtest, kannst du morgen nachschauen, ob die Busrelationen des 922 und 950 diesbezüglich beschädigt wurden. N.B. der 923 ist nicht so gemappt, das man das gescheit prüfen könnte.

Das ist in JOSM etwas blöd formuliert. Das heißt, dass die Relation nur unvollständig runtergeladen wurde, dass JOSM sie also noch nicht ganz “kennt”. Wenn du einen Way aufteilst, übernimmt einer der Teile die alte ID, der andere bekommt eine neue. Die neue muss JOSM zusätzlich in die Relation packen, damit sie keine Lücke bekommt. Dazu muss er aber wissen, ob der neue Teil in der Relation vor oder hinter den alten gehört. Und um das zu erkennen, muss auch etwas Umgebung mit runtergeladen sein, zumindest die zwei davor und danach angrenzenden Ways auch noch.