Was tun mit JOSM Warnung?

Hallo!
Ab und zu wenn ich einen Knoten löse der zwei Flächen verbindet, erhalte ich von JOSM die Warnung, dass eine Relation dadurch verändert wird und ich prüfen soll ob sie jetzt kaputt ist.
So weit so gut. Die Frage ist: Wie prüfe ich das?
Bis jetzt habe ich alles wieder rückgängig gemacht und etwas anderes bearbeitet. Das ist natürlich kein Zustand.

Gruß, Gerald

Im allgemeinen kümmert sich JOSM um betroffene Relationen automatisch, es ist wirklich mehr ein Hinweis als eine Warnung.

Wie du das prüfst, kommt auf die Relation an. Ist es ein Multipolygon, prüfst du, ob Außengrenze und Innengrenzen noch geschlossene Wege sind. Wenn du wirklich nur einen Punkt löst, ohne einen Way zu unterbrechen, sollte sich daran nichts ändern.

–ks

Bei Flächen die man löst ist es also klar.

Ich möchte eigentlich bei uns in Hiddenhausen einen neuen Kreisel einzeichnen.
Leider ist das eine Hauptstraße. Da gibt es Busrelationen und Radwegerelationen.
Darum habe ich da erst mal die Finger von gelassen.
https://www.openstreetmap.org/way/73853758

Ist das dieser Brauereikreisel? Falls ja: Man man man, der ging landesweit durch die Presse :smiley:

Wenn du es dir einfach machen willst, nimm einfach den ganzen Kreisel-Way in die entsprechenden Relationen mit auf. Besser als Unterbrechung ist das allemal, und jeder weiß, wie es gemeint ist.

Wenn du es perfekt machen willst und die Busrouten in Hin- und Rückweg getrennt angelegt sind, teil den Kreisel entsprechend auf, damit kein Bus da eine volle Drehung machen muß :slight_smile:

–ks

@TobWen
Ja, ist der Brauereikreisel mit dem Braukessel drauf.

@kreuzschnabel
Da ich mich mit Busrelationen auch noch nicht beschäftigt habe, wusste ich gar nicht, dass es hin und zurück gibt.

Ob man wegen der Routenrelationen den Kreisel auftrennen sollte, da scheiden sich die Geister. Notwendig ist es jedenfalls nicht, dazu fehlerträchtig. Das Kreiselobjekt ist einzelnes Member in Hin- und Rückrelation, sogar mit eigenem Icon.

Außerdem sollte Jede vernünftige Routing-SW Kreisel richtig behandeln können, da Ein- und Ausfahrknoten bekannt sind.

Nur bei großen, komplizierten Kreiseln (mehrspurig, Bypass etc.) ist ein Aufspalten kaum zu vermeiden.

Das Problem ist nicht unbedingt die Routing-Software, sondern die Software für die kartographische Darstellung. Es gibt inzwischen zahlreiche ÖPNV-Anbieter, die OpenStreetMap zur Darstellung ihrer Stadtlinienpläne verwenden. Ich habe schon mit einigen Anbieter aus diesem Bereich zusammengearbeitet. Sie benutzen in der Regel eine spezielle Routing-Software, entweder auf OSM- oder anderer Datenbasis. Diese wertet Kreisverkehre aber leider nicht immer richtig aus, also kommt Handarbeit ins Spiel. Manche machen das, manche nicht. Andere verwenden nur GI- oder Mappingsoftware, um die Pläne darzustellen und bearbeiten sie dann in Corel oder Illustrator weiter. Wenn die Qualitätssicherung versagt, fahren dann die Busse gerne mal im Gegenverkehr durch den Kreisel - habe ich auch schon auf gedruckten Karten gesehen :slight_smile:

Natürlich mappen wir nicht für den Renderer, aber ich würde in diesem Fall den Kreisel aufbrechen und die Hin- und Rückrichtung als einzelne Route und die gesamte Linie dann als Master-Route eintragen. Das ist ja syntaktisch nicht falsch und mehr Daten produziert es auch nicht wirklich, da man ja nur eine Relationsinformation dranhängt. Wer diese nicht in seiner osm2pgsql-Datenbank haben will, kann sie ja einfach rausfiltern (osm2pgsql wandelt sie automatisch eine eine Geometrie um).

Kann unsere übliche Routing-SW denn inzwischen vernünftig mit geteilten Kreiseln umgeben? Vor einigen Jahren hat mich mein Garmin in UK ziemlich verarscht, indem es für “den Kreisel an der ersten Ausfahrt verlassen” erst ab der Teilung gezählt hat.

Baßtölpel

Wir mappen nicht falsch um eines Anwenderprogrammes willen, aber wir mappen schon für den Anwender (für wen denn sonst?).
Von daher kann es u.U. hilfreich sein, einen Kreisel aufzuspalten (habe ich auch schon gemacht). Das Problem ist nur, dass dann alle betroffenen Relationen bearbeitet werden müssen und das können auch mal ein/zwei Dutzend sein.

Hilfreich wäre es, wenn JOSM und Co. beim Splitten eines Kreisels das richtige Teilstück in die Routenrelation einsetzen würden. Das ist aber deutlich aufwendiger (Richtung der Route, Rechts-/Linksverkehr) als das Splitten eines simplen ways an einem Punkt. Das läuft ja bei JOSM seit längerem problemlos (wenn auch mit Warnung), sofern alle Relationen geladen sind.

Nach der Teilung ist das eben kein Kreisel mehr, sondern nur noch mehrere Straßenstücke mit dicht aufeinander folgenden Abfahrten.

Abhilfe könnte nur eine Kreisel-Relation schaffen, die der Router auswerten und die gewohnten Ansagen “x-te Ausfahrt” (nach der Einfahrt) erzeugen könnte. Einfacher zu mappen wird es aber dadurch sicher nicht.

Ganz ohne Nebenwirkungen ist das Teilen also nicht.

Für Routen würde ich den gesamten Kreisverkehr hinzufügen. Der Grund ist ganz einfach: So ein Kreisverkehr kann man als einzelnes Element betrachten. Man befährt diesen Kreisverkehr an einer Stelle und fährt an einer anderen Stelle wieder heraus, kann aber auch ein paar Mal im Kreis fahren. Die korrekte Darstellung ist dann Sache des Routers.

Die Segmente des Kreisels sind durch junction=roundabout ausreichend als „insgesamt einen Kreisel bildend“ gekennzeichnet. Das kann in der Datenaufbereitung ebenso auswertertet werden¹ wie deine Relation, und es hat den Vorteil, daß es schon da ist :slight_smile:

–ks

¹ Der Datenaufbereiter muß bei einem junction=roundabout prüfen, ob es ein geschlossener Way ist (erster und letzter Node gleich), und wenn nicht, angeschlossene junction=roundabout dazunehmen, bis das der Fall ist. Stelle ich mir nicht schwierig vor.

Moin,

hast Recht:
Da ein Routing-Programm ja eh schon die Route berechnen muss, ohne dass sie ihm in mundgerechten Stücken serviert wird, kann es auch gleich vorher noch das zuviel Gestückelte wieder zusammensetzen.

Warum sollte ein Routen-Renderer jetzt plötzlich anfangen, auch mal aus dem Quark zu kommen - lassen wir es lieber beim bewährten mundgerechten Servieren aller einzelnen Häppchen.

:wink: Grüße, Georg

Es geht ja nicht nur ums Aufteilen von Kreiseln für Routen-Relationen (ich hab ja weiter oben schon geschrieben, daß ich es nicht falsch finde, einfach den kompletten Kreisel in die Relation zu nehmen). Sondern ums Aufteilen von Kreiseln aus welchem Grund auch immer (lanes=, turn:lanes= oder sonstwas). Mir ging es nur darum, daß man keine Kreiselrelation braucht, um die Stücke als zusammengehörig zu kennzeichnen.

–ks

OK, wenn es so geht, umso besser. Wenn beim Splitten des Kreisels das junction bleibt, sollte das reichen.

Router arbeiten über Topologie. Es ist vollkommen wurscht, ob es stücke sind oder nicht. Wie gesagt, ich sehe als Hauptproblem hier die kartographische Darstellung. Nehmen wir mal an, der Bus fährt nur auf der Hinfahrt über den Kreisverkehr. Dann erscheint in der Karte aber nachher trotzdem der ganze Kreisverkehr als Teilelement der Buslinie, obwohl nur ein kleines Segment überfahren wird. Ich glaube, es wird in naher Zukunft keine “Kartographie-Engine” geben, welches auf Rechts- und Linksverkehr und auf Befahrbarkeit achtet.

Das Teilen eines Kreisverkehrs erzeugt minimale Mehreinträge in der DB, hat aber - wie gesagt - keine Nachteile für eine Routing-Engine und für die Bearbeitung auch nicht. Sowohl über die Topologie, als auch über die Tags und sogar durch optische Sicht in der XML-Datei kann man erkennen, dass es sich um einen Kreisverkehr handelt.

Inzwischen bin ich ja zum Glück nicht mehr auf ein Navi mit OSM-Basis angewiesen. Es ist oben erwähnt, daß man bei der Konvertierung gestückelte Kreisverkehre wieder zusammensetzen kann, es hat hier aber noch keiner geschrieben, ob und bei welchen downloadbaren Garmin-Karten das gemacht worden ist bzw. welche Parameter man dafür setzen muß.

Baßtölpel

Das muß ja was Furchtbares sein. Bedauert mich mal alle, ich lasse ausschließlich nach OSM-Material navigieren, ich Ärmster.

Mein Montänchen gibt mir am schröcklich zersthöckelten Amöneburger Kreisel, von Norden kommend, die korrekte Ansage, ich möge an der 3. Ausfahrt ausfahren, wenn ich in die Ferdinand-Knettenbrech-Straße möchte. Die downloadbare Garmin-Karte von Th. Kukuk kann es demnach wenigstens. Ob der Kollege dafür spezielle Parameter gesetzt hat, kann er dir sicher selbst am besten sagen, aber er hat seine Skripte auch veröffentlicht.

Oder was meintest du?

–ks

Selbstverfreilich bleibt das, alle Segmente des Kreisels tragen junction=roundabout.

–ks