Problem mit Relationen in Relationen

Hallo,
ich habe folgendes Problem: ich möchte eine Relation, die verschiedene Buslinien eine gleichen Betreibers zusammenfasst, der Relation des Verkehrsverbundes zuordnen. Allerdings taucht diese network-Relation in JOSM nicht auf, obwohl dort auch Relationen von anderen Betreibern zu finden sind, die schon Mitglied dieser Relation sind.
Ich habe vorher auch schon erfolgreich mehrere Linien-Relationen der Betreiber-Relation zugeordnet, ganz ohne Probleme.

Die Verkehrsverbund-Relation über die API herunterladen. Also Relation-ID im z.B. im Wiki suchen, dann entweder http://api.openstreetmap.org/api/0.6/relation/ID oder http://api.openstreetmap.org/api/0.6/relation/ID/full . Die Links findest kannst du auch einfach anklicken, wenn das Relation-Template benutzt wurde.
Die .osm-Datei speichern in JOSM öffnen und mit deiner Ebene zusammenfügen. Dann kannst du die Relation hinzufügen.

Danke! Hat einwandfrei funktioniert! Ich finde, du solltest das ins Wiki stellen, damit andere direkt wissen, wie es funktioniert.

Hallo nochmal,

ich wollte heute wieder eine Betreiber-Relation einer network Relation nach dieser bisher erfolgreichen Vorgehensweise zuordnen, aber in JOSM kommt beim Upload nach mehreren Minuten eine Fehlermeldung (“Precondition Failed: Cannot update relation 63172: data or member data is invalid.”). Was mache ich falsch? Oder ist es vielleicht ein Fehler in JOSM? (Meine Version ist 1566)

Also ich hab mich noch etwas im Wiki informiert: Die Fehlermeldung steht für Elemente in der Relation, die nicht sichtbar oder nicht vorhanden sind. Aber dies trifft auf kein Mitglied der Relation zu. Ist das vielleicht ein Fehler an der API und sollte man den melden?

Vielleicht kann das auch mal ein anderer für mich versuchen: Ich will Relation 133952 zum Member der Relation 63172 machen.

Wäre für Hilfe ziemlich dankbar, denn ich versuche jetzt schon seit Tagen, das irgendwie hinzubekommen, und verzweifle bald.

Thema hat sich im Prinzip erledigt: Ich bekomme es zwar weiterhin nicht hin, mir ist jedoch in den Sinn gekommen, dass diese Gruppierung mit Relationen eigentlich sinnlos ist, da eh bei jeder Haltestelle und Linien-Relation Betreiber und Netzwerk angegeben werden. Was meint ihr? Sollte man sich vielleicht darauf einigen, diese Relationen zu löschen und sich diesen großen Aufwand sparen?

Dies wurde auch schon hier diskutiert:
http://wiki.openstreetmap.org/wiki/Talk:WikiProject_Germany/Nahverkehr#.C3.9Cbergeordnete_Relationen

Frederik Ramm sagt dazu:
http://wiki.openstreetmap.org/wiki/Relations/Relations_are_not_Categories

Nein, ich bin dagegen das aufzuhören.
1.) An manchen Haltestellen halten u.U. Linien verschiedener Betreiber.
2.) Solange die API nicht mehrere values pro key (z.B. Semikolon-getrenntes) unterstüzt (incl. der API-Abfragen), ist es nicht sinnvoll das einzustellen. Schließlich kann auch eine Linie mehrere Betreiber haben, oder durch mehrere Netzwerke führen.

Das ist richtig, die API sollte mehrere Values pro Key unterstützen. Bis dahin kann man aber mehrere Werte per Semikolon trennen und später nach der API-Umstellung per Script diese per Semikolon getrennten Values aufteilen. Bis zu einer neuen API alles in Relationen zusammenzufassen, um es danach wieder aufzulösen, ist sinnlose Arbeit.

In den Relationen können allerdings viel mehr Informationen angegeben werden…

Das stimmt natürlich. Ich könnte es auch weiter so führen, schließlich habe ich schon Teile der örtlichen Buslinien/Betreiber so zusammengefasst.

Da würde aber weiterhin das oben beschriebene Problem bestehen, und leider habe ich immer noch keine Lösung dafür.

Kann mir denn hier niemand dabei helfen?

Ich kann dir jetzt nicht konkret helfen, allerdings ist es besser wenn du die Linien direkt der Verkehrsverbund-Relation zuordnest, da es unter umständen sein kann, dass der Betreiber auch eine Linie außerhalb des Verkehrsverbundes unterhält, oder unterhalten wird.

Die Betreiber, die Linien in zwei Verkehrsverbünden betreiben, habe ich dann auch beiden Verbünden zugeordnet (na ja, habe ich im Moment noch nicht geschafft, werde es aber in den nächsten Tagen nachholen) Ich denke jedoch, man sollte die Linien nicht direkt dem VRR zuordnen, da es auch Linien gibt/geben kann, die von zwei oder mehr Betreibern gefahren werden.

Ich denke, als Schema wäre folgendes gut geeignet und sollte, wenn man sich darauf einigt, als Richtwert genommen werden:

(<- Mitglied von)

Verkehrsverbund ← Betreiber ← Linie ← Haltestellen und Linienwege
^--------------------------------------’

Ich denke, dass dieses Schema einfach ist, aber gleichzeitig auch erlaubt, alle Situationen und Sonderfälle abzubilden.

Beispiel 1: Eine Haltestelle wird von mehreren Linien genutzt → Haltestelle wird mehreren Linien zugeordnet.

Beispiel 2: Eine Linie wird von mehreren Betreiber betrieben → Linie wird in mehrere Betreiber-Relationen eingefügt.

Beispiel 3: Ein Betreiber gehört zu mehreren Verkehrsverbünden → Betreiber-Relation wird mehreren Verkehrverbünden zugeordnet.

Bis auf Beispiel 3 kann ich nur zustimmen…

Das Problem an Beispiel 3 (also Betreiber-Relation in Verkehrsverbund-Relation) ist folgendes:
Man stelle sich vor, ein Betreiber agiert in einem Gebiet, wo zwei Verkehrsverbünde aufeinander treffen. Dort gehören dann bestimmte Linien nur zu einem Verkehrsverbung, und andere nur zum anderen. Wenn aber den Betreiber in beiden Relationen hast, dann sind in der Hirarchie auch alle Linien beiden Relationen zugeordnet.

Daher sollte man, wie im Schema dargestellt, auch die Linien der Verkehrsverbund-Relation zuordnen, und die Betreiber dann nicht mehr, also etwa so:

(<- Mitglied von)

Verkehrsverbund Betreiber ← Linie ← Haltestellen und Linienwege
^------------------------------------------’

Jo, genau das meine ich… So wär das problem gelöst…

So ein kleines Problem wäre da noch: Wäre ganz hilfreich, wenn alle dieses Schema verwenden würden. Vor allem für Programme, die das dann später auswerten wollen, wäre ein einheitliches System besser.

Auch eine Linie kann keinem Verbund alleine angehören, wenn sie die Verbundgrenzen überschreitet. Da gelten dann wieder die Haustarife des Betreibers etc …
Einzig die Haltestellen (und Linienwege, wenn man sie zum ÖV-routen braucht?) können Teil eines Verbundes sein. Allerdings durchaus von mehreren Verbünden, evtl. brauchen sie dann eine role, ob sie originär dem Verbund XY angehören oder nur für Fahrten in den Verbund XY nach Übergangstarifen (wichtig für Fahrten innerhalb der Wabe/Zone, der diese Haltestelle angehört oder zu Waben/Zonen des originären Verbundes, dann nur Ticket des Verbundes, dem sie originär angehören).

Linien, die in mehreren Verkehrsverbünden lägen, würden nach meinem Schema auch in die jeweiligen Verkehrsverbund-Relationen aufgenommen werden. Mit role könnte man dann bei den jeweiligen Linien angeben, in welchem Verkehrsverbund sie hauptsächlich nach Standarttarif verkehren und in welchem sie nur Grenzüberschreitend nach Übergangstarifen fahren.
Die Wabe kann man auch bei den Haltestelle mit angeben (http://wiki.openstreetmap.org/wiki/Talk:WikiProject_Germany/Nahverkehr#Tarifgebiete_und_Waben). Vielleicht könnte man auch Waben-Relationen einführen, in denen sich dann alle Haltestellen und/oder Linienwege einer Wabe oder eines Tarifgebiets befinden.