Sammelrelationen (hier: ÖPNV in Berlin)

‘johndoe’ hat gestern und heute Abend jeweils ein CS hochgeladen, ist also bei OSM aktiv. Schade, dass er sich bislang hier noch nicht gemeldet hat…
Ich habe grad ein CS von ihm kommentiert, in dem auch ÖPNV-Sammelrelationen enthalten waren, und ihn nochmal hierher eingeladen und bin ganz offen an seinem Standpunkt hierzu interessiert.

Taxen gelten dennoch als Teil des ÖPV, Stichwort u.a. “Beförderungspflicht”. Aber das nur am Rande.

In Berlin gab es Zeiten, da wurden wenigstens einmal jährlich Teile des S-Bahn-Netzes neu geordnet, teils auch zwischendurch. Auch Straßenbahnlinien werden häufiger neu eingerichtet, Linien verlegt, usw. Es kommt also immer darauf an und grad hinsichtlich Datenaktualität gäbe es eigentlich eine Menge anderes zu tun bei OSM.

Äh? Jaa! OSM wird m.E. nicht drumherum kommen, in sehr gut gemappten Gebieten irgendwann flächendeckend in der Gemeinschaft (neu) abgestimmte Standards durchzusetzen, damit es nicht nur eine einfache Auto-/Rad-Routing-Datenbank ist oder für einzelne sei es räumliche oder inhaltliche Nischengebiete gut ist. Das ist aber eine andere Diskussion :wink:

Bitte überlegt genau, welche Sammelrelationen gelöscht werden sollen!
In Berlin zumindest sind sie seit geraumer Zeit sehr gut gepflegt und das ist auch gut so!
In Brandenburg sieht das ganz anders aus: dort werden teilweise nicht einmal die Busrouten gepflegt.
Bei gut gepflegten Sammelrelationen bin ich gegen ein Löschen, bei allen anderen eher leidenschaftslos.

Um noch eine weitere Stimme abzugeben.
Warum löschen?
Klar gehen Sammelrelationen gerne und schnell mal kaputt, genau wie andere Relationen auch.
Gäbe es kein Check-Tool wäre so manche Grenzrelation mittlerweile auch unbrauchbar.
Sammelrelationen finde ich vorallem nützlich, da ich mir nur mit den auf osm.org vorhanden Tools (insb. durch die Links wie “Teil von”) ohne gesonderte Query einen guten Überblick über vorhanden Relationen machen kann [Edit: und, um] ggf. Fehlende gesondert zu suchen oder neu zu erstellen.
Desweiteren kann ich die Löscherites nicht nachvollziehen. Leben und Leben lassen. Stören die Sammelrelationen denn irgentwie, außer dass Sie 1kB mehr Speicherplatz brauchen? Warum kann man Sie nicht einfach ignorieren, wenn man sie nicht braucht?

Edit2:
Mein Argument, dass Sammelrelationen mit der Zeit genauso kaput geben wie “normale” Relationen, passt nicht ganz.
Viel mehr möchte ich damit sagen, dass man Sammelrelationen ebenfalls Pflegen muss, damit Sie aktuell bleiben.

löschen! es gibt keine notwendigkeit für **jede ** sammelrelationen. manches unkraut lässt sich scheinbar nicht ausreissen. wenn es angeblich auch nicht stört, es braucht keiner. soll doch der anlegende klar begründen warum er es braucht anstatt dass sich der rest der gemeinde versucht gründe fürs behalten zu suchen und sich das schönzureden.

+1

Ich hatte auch mal angefangen hier um Lübben herum Busrouten zu erfassen… Hier auf dem Land hat aber eine Linie oft viele Varianten, was eine Erfassung sehr aufwendig macht. Daran bin ich letztendlich gescheitert… hinzu kam hier auch, dass es durch Straßenbaustellen seit ein paar Jahren zu vielen Abweichungen kommt. Es ist schon sehr viel erreicht, wenn wenigstens die Haltestellen einigermaßen aktuell bleiben.

Unterm Strich stören mich diese in dem Fall nicht, erwartet von mir aber nicht, diese zu pflegen…

Sven

Sammelrelationen sind keine Daten erster Ordnung, sondern “Hilfsdaten”, die den Zugriff auf die tatsächlichen Daten erleichtern sollen. Ich finde, dass wir sowas nicht erfassen sollten. “Alle Buslinien in Berlin” kann man heutzutage mit einem Overpass-Query finden, und wenn man den erstmal drauf hat, kann man ihn für jeden Ort der Welt anwenden, ohne für jeden Ort der Welt eine eigens gepflegte Sammelrelation anzulegen (die dann übrigens jedesmal, wenn sie geändert wird, weil eine Route hinzukommt oder wegfällt, nochmal Speicher braucht). Also meiner Meinung nach: Löschen. - hab ich auch schon vor gut 10 Jahren hier geschrieben: https://wiki.openstreetmap.org/wiki/Relations/Relations_are_not_Categories

+1

Sammelrelationen sind unnötiger Ballast.

Sie müssen manuell gepflegt werden und sind nur solange einigermaßen aktuell, bis der “Betreuer” keine Zeit oder kein Interesse mehr hat. Und der “schöpferische Wert” ist gleich Null, da sich das gleiche Ergebnis mit SQL- oder auch Overpass-Abfragen erreichen lässt.

Gruss
walter

Hallo,

Die folgenden Overpass-Abfragen beweisen, dass die Sammelrelationen unnötig sind. Wer sie löscht, hat meine volle Zustimmung.

S-Bahnlinien in Berlin, wobei die Abfrage nur Mitglieder und deren Abhängigkeiten (Nodes der Mitgliederways) ausgibt, die in Berlin liegen:


rel[route=train][ref~"^S ?[0-9]"][type=route](area:3600062422)->.linien;
.linien >->.linienmitglieder;
way.linienmitglieder(area:3600062422)->.waysinberlin;
way.waysinberlin;
out meta;
.waysinberlin >->.nodesinberlin;
(node.linienmitglider(area:3600062422); node.nodesinberlin;)->.nodesinberlin;
.nodesinberlin out meta;
.waysinberlin out meta;
.linien out meta;

Durch Anpassen der Tags in der ersten Zeile lassen sich auch Bus-, Regionalzug-, U- und Straßenbahnlinien abfragen.

Die folgende Anfrage gibt alle Mitglieder der Relationen aus:


rel[route=train][ref~"^S ?[0-9]"][type=route](area:3600062422);
out meta;
>;
out meta;

“(area:3600062422)” kann durch “({{bbox}})” in JOSM und Overpass-Turbo ersetzt werden, um den aktuellen Kartenausschnitt als Polygon zu verwenden. 3600062422 ist die Relations-ID der Stadtgrenze von Berlin plus die Overpass-Relations-Konstante 3600000000.

Die eckigen Klammern in der ersten Zeile der Abfragen lauten

für Regionalzüge:
[route=train][ref~“^R[BE] ?[0-9]”]

für Buslinien (network-Filter gegen Flixbus, Regex wegen verbundübergreifender Fahrten):
[route=bus][network~“Verkehrsverbund Berlin-Brandenburg”]

für Straßenbahnlinien:
[route=tram]

für U-Bahnen:
[route=subway]

Für Fähren sind die Overpass-API-Abfragen einfacher:


way[route=ferry](area:3600062422);
out meta;
>;
out meta;

qed

Viele Grüße

Michael

PS Fähren scheinen noch kein network-Tag zu tragen, z.B. die F10 Wannsee –Alt Kladow.

EDIT: “qed” ergänzt, PS ergänzt (vormals letzter Satz vor dem Gruß)

Und das Ganze in grün SQL (Full Planet mit PostgreSQL/PostGIS):


\set city 62422 -- Berlin

select distinct -osm_id "Relation",
       tags->'ref'      "ref",
       name             "Name",
       tags->'from'     "from",
       tags->'to'       "to"
  from planet_osm_line 
 where osm_id < 0
   and route = 'bus'
   and st_intersects((select way from boundaries where id=:city), way)
   and way @ (select way from boundaries where id=:city)
 order by ref
;

ergibt 553 Busrelationen. ist natürlich erweiterbar: z.B. “route in(‘bus’,'train,‘tram’,‘subway’) order by route,ref


 Relation |  ref   |                                               Name                                               |                   from                    |                    to                     
----------+--------+--------------------------------------------------------------------------------------------------+-------------------------------------------+-------------------------------------------
  3046906 | 009    | Flixbus 009: Ludwigshafen => Berlin ZOB                                                          | Ludwigshafen                              | Berlin ZOB
  3016480 | 030    | Flixbus 030: Berlin ZOB => Koblenz ZOB                                                           | Berlin ZOB                                | Koblenz ZOB
  3145327 | 031    | Flixbus 031: Münster => Berlin ZOB                                                               | Münster                                   | Berlin ZOB
  9109793 | 032    | Flixbus 032: Berlin ZOB => Malmö, Centralstation                                                 | Berlin ZOB                                | Malmö, Centralstation
  9111991 | 032    | Flixbus 032: Malmö, Centralstation => Berlin ZOB                                                 | Malmö, Centralstation                     | Berlin ZOB
  9160281 | 034    | Flixbus 034: München ZOB => Berlin ZOB                                                           | München ZOB                               | Berlin ZOB
  9160643 | 034    | Flixbus 034: Berlin ZOB => München ZOB                                                           | Berlin ZOB                                | München ZOB
  3144678 | 038    | Flixbus 038: Bonn Museumsmeile => Berlin ZOB                                                     | Bonn Museumsmeile                         | Berlin ZOB
  3389905 | 039    | Flixbus 039: Berlin ZOB => Zwickau, Stadthalle                                                   | Berlin ZOB                                | Zwickau, Stadthalle
  3389906 | 039    | Flixbus 039: Zwickau, Stadthalle => Berlin ZOB                                                   | Zwickau, Stadthalle                       | Berlin ZOB
  8785887 | 041    | Flixbus 041: Passau Hbf => Berlin ZOB                                                            | Passau Hbf                                | Berlin ZOB
  8790453 | 041    | Flixbus 041: Berlin ZOB => Passau Hbf                                                            | Berlin ZOB                                | Passau Hbf
  3145545 | 044    | Flixbus 044: Wilhelmshaven => Berlin ZOB                                                         | Wilhelmshaven                             | Berlin ZOB
  3149199 | 047    | Flixbus 047: Kühlungsborn, Bhf. Ost => Berlin ZOB                                                | Kühlungsborn, Bhf. Ost                    | Berlin ZOB
  9515925 | 047    | Flixbus 047: Berlin ZOB => Kühlungsborn, Bhf. Ost                                                | Berlin ZOB                                | Kühlungsborn, Bhf. Ost
  4068534 | 049    | Flixbus 049: Lübeck, Hbf. Beim Retteich => Berlin ZOB                                            | Lübeck, Hbf. Beim Retteich                | Berlin ZOB
  4075844 | 049    | Flixbus 049: Berlin ZOB => Lübeck, Hbf. Beim Retteich                                            | Berlin ZOB                                | Lübeck, Hbf. Beim Retteich
  9523672 | 050    | Flixbus 050: Kiel, Interims-ZOB => Berlin ZOB                                                    | Kiel, Interims-ZOB                        | Berlin ZOB
  9523673 | 050    | Flixbus 050: Berlin ZOB => Kiel, Interims-ZOB                                                    | Berlin ZOB                                | Kiel, Interims-ZOB
  9523808 | 057    | Flixbus 057: Stettin, Hbf. => Berlin ZOB                                                         | Stettin, Hbf.                             | Berlin ZOB
  9523809 | 057    | Flixbus 057: Berlin ZOB => Stettin, Hbf.                                                         | Berlin ZOB                                | Stettin, Hbf.
  7767482 | 059    | Flixbus 059: Paderborn, ZOB am Hbf. => Berlin ZOB                                                | Paderborn, ZOB am Hbf.                    | Berlin ZOB
  9513296 | 059    | Flixbus 059: Berlin ZOB => Paderborn, ZOB am Hbf.                                                | Berlin ZOB                                | Paderborn, ZOB am Hbf.
...
...
  1200267 | X76    | Buslinie X76: U Walther-Schreiber-Platz => Lichtenrade, Nahariyastraße                           | U Walther-Schreiber-Platz                 | Nahariyastraße
  1200268 | X76    | Buslinie X76: Lichtenrade, Nahariyastraße => U Walther-Schreiber-Platz                           | Nahariyastraße                            | U Walther-Schreiber-Platz
  1899923 | X83    | Buslinie X83: Königin-Luise-Straße/Clayallee => Lichtenrade, Nahariyastraße                      | Königin-Luise-Straße/Clayallee            | Nahariyastraße
  1899924 | X83    | Buslinie X83: Königin-Luise-Straße/Clayallee => Marienfelde, Nahmitzer Damm                      | Königin-Luise-Straße/Clayallee            | Nahmitzer Damm
  1899925 | X83    | Buslinie X83: Lichtenrade, Nahariyastraße => Königin-Luise-Straße/Clayallee                      | Nahariyastraße                            | Königin-Luise-Straße/Clayallee
  1899926 | X83    | Buslinie X83: Marienfelde, Nahmitzer Damm => Königin-Luise-Straße/Clayallee                      | Nahmitzer Damm                            | Königin-Luise-Straße/Clayallee
  1887974 | X9     | Buslinie X9: Flughafen Tegel => S+U Zoologischer Garten                                          | Flughafen Tegel                           | Hertzallee
  1887975 | X9     | Buslinie X9: S+U Zoologischer Garten => Flughafen Tegel                                          | Hertzallee                                | Flughafen Tegel
(553 rows)

Enthält alle Busrouten von denen mindestens ein Teilstück durch Berlin führt.

Laufzeit: 30.6 Sekunden.

Was will man mehr? :wink:

Gruss
walter

ps: Komplette Liste auf Wunsch gerne.

Irgendwas, das auch unbedarfte User nutzen können :wink:

Apropos Öpnv-Linien, würde es nicht Sinn machen, an die Haltestellen zu taggen in welcher Tarifzone sie sind (A B oder C)? Oder gibt es da Flächen dafür?

Die Erfahrung hatte ich auch schon gemacht, entweder kommt keine Antwort oder etwas wie “…bin ich nicht bereit, mit Dir in eine Grundsatzdiskussion einzusteigen!..”

oft im Gegenteil, Doppeltagging und Mapping für den Renderer

Unabhängig davon!
Ich bin in dem Fall für Löschen, kann mich hierzu den o.a. Argumenten nur anschließen, sehe keinen Mehrwert.

Gruß
Bernd

Ich schätze dich nun wirklich nicht als “unbedarft” ein, aber es gibt durchaus einige Kollegen, die eine PostGIS-DB nutzen.
Und für diese ist mMn die SQL-Abfrage einfacher (*)

Overpass ist natürlich auch toll.

Gruss
walter

*) Mich hatte das Thema gestern gereizt, da das Problem “wie finde ich Relationen, die mindestens einen (High)way in einer bestimmten Area haben?” für mich lange - sehr lange - ungelöst war. Ich hab mir dabei über Jahre! richtig einen “abgebrochen” und immer wieder kapituliert.

Gestern hatte ich anscheinend einen “Geistesblitz”, da ich noch nie eine sinnvolle Verwendung für die Tabelle planet_osm_line hatte und diese bestens für so was geeignet ist (oder gar dafür entwickelt wurde?)

Kennst du https://cycling.waymarkedtrails.org/#search?query=hamburg+veloroute ? :wink:

Es geht hier nicht um mich oder dich, sondern um unbedarfte User.
Für die Overpass- und SQL-Anfragen hätte ich vermutllich recht viel Zeit investieren müssen. Andere würden das überhaupt nicht hinkriegen.
User sollen irgendwas haben, das sie einfach anklicken können.

Nein, kannte ich noch nicht. Gibt’s sowas auch in Berlin für ÖPNV-Routen?

Eine Lösung wäre vielleicht eine zentrale Anlaufstelle für User, wo sie solche Webseiten und auch vorgefertigte Overpass-Anfragen finden.

mir nicht bekannt, mir reicht hier allerdings https://ptna.openstreetmap.de/ oder halt overpass,
vielleicht kann ja bei Bedarf jemand sowas basteln, mir fehlt dazu allerdings das knowhow

Auch wenn etwas OT: Ich habe keine Ahnung, ob sowas schon existiert. Aber in jedem Fall sollte das sehr sehr gut überlegt sein. Tarifzonen ändern sich gerade auf dem Land sehr oft. Eine Pflege könnte schwer werden. Auch sollte beachtet werden, dass verschiedene Halte durchaus in mehreren Tarifzonen liegen können - von unterschiedlichen Verbünden oder Verkehrsbetrieben (Bsp: Potsdam ABC ist komplett in Berlin C; Aus Sicht von Havelbus ist Potsdam aber noch in mehrere Tarifwaben unterteilt)

Berlin ABC ändert sich nicht so oft, AFAIK in den letzten 20 Jahren gar nicht oder nur sehr punktuell

Deswegen habe ich ja auch “auf dem Land” geschrieben, wo es zum Teil sehr komplexe Wabensysteme unter ständig wechselnden Zuständigkeiten gibt.

Bzgl. Berlin ABC: Die Verschiebung von Schönefeld von B nach C ist noch nicht sooo lange her :wink: