Talk:ÖPNV Osnabrück

From OpenStreetMap Wiki
Jump to navigation Jump to search

Auch wenn hier die Diskussion hingehört werde ich hier die Quellen veröffentlichen. Die Mails sind mit Absprache des Empfängers veröffentlich worden.


Erste Mail

Die erste Mail bei Anfrage an die Dortmunder Mapper:


Hallo Andreas, Du hast auf der Dortmunder Mailinglist nach Erfahrungen zum ÖPNV-Mapping gefragt. Hier in Dortmund hat der User TobWen mit Hilfe einer ganzen Schaar von Studenten alle Dortmunder Haltestellen mit hochgenauen GPS-Empfängern erfasst und in OSM eingepflegt. Ich bin nun seit einiger Zeit dabei, diese Informationen zu Haltestellen und Buslinien gemäß dem neuen ÖPNV-Schema http://wiki.openstreetmap.org/wiki/User:Oxomoa/%C3%96PNV-Schema zu ergänzen.

Da Du auch schon im OpenStreetMap Forum diverse Male nach verschiedenen Aspekten nachgefragt hast, antworte ich etwas ausschweifender.

Es ist auf jeden Fall sinnvoll, dass neue Schema zu verwenden, - da dieses von erfahrenen Mappern diskutiert wurde und daher - für fast alle denkbaren Situationen eine brauchbare Modellierung liefert, - dabei aber noch weitgehend einfach zu handhaben ist, - in Tools wie der ÖPNV-Karte http://www.öpnvkarte.de am besten genutzt wird - in meinen Augen auf der WIKI-Seite sehr gut mit Beispielen beschrieben wird.

Du hast das Schema ja schon studiert, daher will ich mal einfach aus meiner Sicht seine Umsetzung anhand Deines Beispiels Osnabrück-Neumarkt beschreiben.

Die Zugangsstellen in Form von Platformen hast Du dort bereits gemappt. Ob diese wie bei Dir gewählt, als Linien, als Areas oder wie bei uns in Dormund als Punkte (Position des Haltestellenmastes) gewählt werden, spielt dabei keine Rolle und ist aus meiner Sicht Geschmacksache. Die Kennzeichnung mit public_transport=platform ist korrekt, was bei Dir noch fehlt ist der Tag bus=yes, um die Bussteige dem Busverkehr zuzuordnen. Ich war so frei, das Tagging für den Neumarkt zu ergänzen.

Um die Haltestelle zu ergänzen, braucht es neben den Platformen, wo der Fahrgast wartet, noch die Haltepunkte des Busses auf der Fahrbahn, die mit den Tags bus=yes und public_transport=stop_position gekennzeichnet werden. Für die Bussteige A1, A2, D1 und D2 waren diese vorhanden, bei A1 habe ich das Tag bus=stop auf bus=yes geändert. Bei den restlichen Bussteigen sind die Stop-Positionen von mir hinzugefügt worden.

Die einzelnen Haltestelle Bussteig A, Bussteig B, Bussteig C und Bussteig D sind als Relationen und nicht wie von Dir für A und D erfolgt, als Areas anzulegen. ich habe daher vier Relationen mit public_transport=stop_area, die jeweils die Stop-Positionen und die Platformen enthalten, angelegt. Die Stop-Positionen habe ich dabei jeweils mit dem gleichen Namen wie ihre Haltestelle getaggt. Dies ist zwar laut Schema nicht notwendig, da über die übergeordnete Haltestelle eindeutig zu bestimmen, aber auch nicht verboten. Durch meine zusätzliche Namensgebung ist die Liste der Relationsmitglieder einfach besser zu lesen, da dort dann der Name statt einer ID erscheint.

Die vier Haltestellen/Bussteige habe ich dann in einer Relation für die Gesamthaltestelle "Neumarkt" mit public_transport=stop_area_group zusammengefasst und, weil es gerade mit dem Beispiel in der neuen Schema-Beschreibung passte, den nahen Taxistand mit dazugepackt.


Damit ist aus der Sicht des neuen ÖPNV-Schemas die Haltestelle Neumarkt komplett. Die überflüssigen Punkte mit amenity=bus_station und highway=bus_stop, die Du und user hholm noch erfasst habt, sollten ebenso wie die Areas, die mit public_transport=stop_area gekennzeichnet sind, gelöscht werden, da sie wie oben beschrieben, von mir durch die entsprechenden Relationen ersetzt worden sind. Ich habe es nicht gemacht, da ich anderer Leute Arbeit gern bedenkenlos ergänze, aber nicht lösche.


Nun zu den Buslinien, die die Haltestelle anfahren. Hier habe ich als Beispiel die Linie 41 gewählt und ergänzt, die in Richtung Düstrup am Bussteig C und in Richtung Haste, an Bussteig A1 halten sollte, wenn ich den Osnabrücker Linienplan richtig gelesen habe.

Nach dem neuen ÖPNV-Schema wird eine Buslinie am besten in Hin- und Rückfahrt (und evtl. mehreren Alternativrouten) gesplittet und diese dann in einer Gesamtrelation zusammengefasst. Ich habe die vorhandene Relation für die Linie 41 mit der ID 281760 als Gesamtrelation beibehalten und als Hin- und Rückweg die neuen Relationen 287055 und 287056 erzeugt. Dabei habe ich jeweils die vorhandenen Wegsegmente und die Haltestellen sortiert, von den Haltestellen entspricht aber immer nur der Neumarkt dem neuen Schema, die restlichen müssen noch angepasst werden.

Da ich mich in Osnabrück nicht auskenne, bitte unbedingt meine Änderungen kontrollieren.

Ich hoffe, Dir mit meinen Auführungen geholfen zu haben, wenn Du weitere Fragen hast, stehe ich gern zur Verfügung. Da meine Antwort recht umfangreich und speziell für Deinen Anwendungsfall ausgefallen ist, habe ich Dir eine PN geschickt, statt öffentlich über die Liste zu antworten.


== zweite Mail== Die Frage von mir:

Was sagt dieses "Verknüpft" aus?

Wenn ich es mir nun so anschaue ist keine reale Ordnung der Straßenelemente in ihrer Abfolge zu erkennen, ist das schlimm oder muss ich wie gewünscht(?) den Straßenverlauf 1zu1 in der Relation übernehmen? Also die Straße zu erst befahren wird, taucht auch als erstes in der Relation auf?

Liebe Grüße,

Andreas


Antwort:

Hallo Andreas,

da Deine Frage nach dem "Verknüpft" keinen Bezug hat, kann ich Frage nicht direkt beantworten. Falls es ein Wort aus meiner ersten email war, werde ich es mit hoher Wahrscheinlichkeit in der Bedeutung "Einer Relation fasst oder verknüpft ihre Mitgliederin einer Beziehung zusammen. Also werden Warteraum der Passagiere (platform) und Warteposition eines Busses (stop_position), die erstmal nichts miteinander zu tun haben, über die Relation Haltestelle "verknüpft".

Zu der Reihenfolge von Relationsmitgliedern: Ab der API 6 behalten die Mitglieder einer Relation, wenn sie abgefragt werden, die Reihenfolge, in der sie in die Relation eingeordnet wurden. Dies ist nicht unbedingt die zeitliche Reihenfoge ihrer Aufnahme. Der Relationeneditor von JOSM ab der Version 1981 erlaubt es, beim Einfügen von Mitgliedern in Relationen deren Position zu bestimmen, also z.B. an den Anfang, ans Ende oder hinter einem anderem Mitglied. Bei der Erfassung des ÖPNVs empfehle ich daher JOSM als Editor. Da ich Potlach und andere Editoren nicht benutze, weiss ich nicht, inwiefern diese Relationen unterstützen, so gut wie JOSM aber auf keinen Fall. Du scheinst aber auch mit der neusten Version 2255 von JOSM zu arbeiten.

Zur Ordnung: Wenn Du Dir die beiden von mir angepassten Relationen mit dem Hin- und Rückweg der Linie 41

http://www.openstreetmap.org/browse/relation/287055 http://www.openstreetmap.org/browse/relation/287056

ansiehst, wirdt Du sehen, dass ich die Reihenfolge der Wege sortiert habe, von Haste ist die Meller Straße der Anfang, danach folgen in der Reihenfolge alle anderen Wege bis zu abschließenden Neumarkt, in der Gegenrichtung ist es genau andersherum, dort sind nur in der Haltestelle Neumarkt Bussteig A ein anderer Weg genutzt worden. Genauso ist es mit der Reihenfolge der Haltestellen.

Bedenke: Die Aufsplittung der Linienrelation in Hin-und Rückweg und die Reihenfolge der Haltepositionen in der Relation machen die Vergabe von Rollen wie forward:stop_23 etc., die jeden verwirrt haben, überflüssig.



3. Mail

Frage:

Hallo,

warum wird der Neumarkt nun nicht als eine große Haltestelle mit diesen farbigen gelben Flächen erkannt?

Lg,

andreas

Anwort:

Hallo Andreas,

bei gelben Flächen hast Du bestimmt die ÖPNV-Karte im Sinn. Deren Aktualisierung hinkt zwei Tage hinterher und verarbeitet Gesamthalte wohl noch nicht, da der Dortmunder Bahnhof schon länger so gemappt ist und auch nicht gesamt gekennzeichnet wird. Bei Namensgleichheit (von Bushaltestellen und S-Bahnstops zu Beispiel) erfolgt es aber.

CU Martin

Vierte Mail

Weitere Zusammenfassung:


Hallo Andreas,

auch wenn ich Dir schon auf einige andere mail geantwortet habe, diese hier noch mal eine Zusammenfassung dessen, was ich Dir mitteilen wollte:

Ich habe Dir in meiner ersten Antwort beschrieben, wie wir in Dortmund mappen. Dort wird alles zur Zeit auf das neue ÖPNV-Schema umgestellt und ich habe am Beispiel Neumarkt in OS versucht, Dir näherzubringen.

Als Vorteil dieser Vorgehensweise von uns Dortmundern ist auf jeden Fall festzuhalten, dass dies aus der jetzigen Sicht die beste Art zu mappen ist und man damit bis jetzt alle vorkommenden Spezialitäten umsetzen konnte. Nachteil ist aber auf der anderen Seite, dass es auch viel und genaue Arbeit bedeutet und durch die vielen Relationen am Anfang gerade für den Ungeübten etwas unübersichtlich erscheinen mag.

Da Du in Osnabrück für den ÖPNV quasi auf der grünen Wiese beginnst, würde ich Dir eine andere Vorgehensweise nahelegen. Zur Begründung:

Das alte ÖPNV-Schema kennt nur das Tag highway=bus_stop für eine Haltestelle und unterscheidet nicht, ob dies die Stopposition des Busses auf der Strasse oder ein Zugansbereich wie ein Bussteig neben der Strasse ist. Dies hat zu wahren Glaubenskriegen zwischen Vertretern beider Richtungen geführt. Gute Argumente hatte jede Gruppe. Ein anderer Nachteil des alten Scheams war, das pro Buslinie nur eine Route verwendet wurde und die Reihenfolge der Stops und die Richtung in Mitgliederrollen gemappt wurde, die viele vorkommende Fälle in der Praxis nicht beschreiben konnten.

Der Glaubenskrieg Platform oder Stopposition war ein Grund, das neue Schema mir den Tags public_transport=platform|stop_position einzuführen, in dem beide Arten vorkommen. Mit dem neuen Schema kann man also mehr und kompliziertere Fälle modellieren. Es hat aber auch den Vorteil, rückwärts kompatibel zu sein. Man muß daher nicht entweder neues oder altes Schema nutzen, sondern kann auch beides parallel verwenden bzw. erst langsam vom alten aufs neue ummappen.

Damit Du bei einem Aufbau des ÖPNV-Netzes Dich nicht im Detail verirrst und schnellere Erfolge hast, empfehle ich folgende Vorgehensweise.

1) Bei Haltestellen würde ich erst nur die stop_position mit den Tags - bus=yes - public_transport=stop_position - name=... - highway=bus_stop erfassen. Die ersten beiden Tags aus dem neuen Schema ersetzen zwar das alte, es aber noch zu haben, schadet auch nicht, da einige Tools es noch verwenden (ich glaube z.B. Osmarender für Bushaltestellen). Erst nur Stop-Positionen statt Plattformen nur aus dem Grund, -weil die Lage von Stop-Positionen nicht so genau sein muß. Ein Bus hält mal 1 Meter weiter vorn als das andere Mal, die Position kann man unter dem Fahrersitz, bei der vorderen Tür oder in der Mitte festlegen etc. Bei Zügen oder verschieden langen Straßebahnen ist die Stop-Position auf den Gleisen noch umstrittener. -Außerdem hat die 0815-Haltestelle nur eine Stop-Position auf der Straße und zwei Platformen auf jeder Straßenseite für die Hin- und Rückrichtung. Erst mal nur die Stop-Position einzutragen ist also weit weniger Aufwand.

Mit dieser Vorgehensweise kannst Du mit guten Ortskenntnissen 90% aller Haltstellen super schnell abbilden. Erst wenn man an kompliziertere Haltestellen wie bei Dir dem Neumarkt kommt, hat man Probleme, diese kann man aber erst mal als 4 Haltestellen in Obiger Weise mappen und später erst komplett ins neue ummappen oder nur diese wenigen Haltestellen gleich ins neue Schema mappen, wie ich es Dir vorgemacht habe.

2) Linien erfassen und dabei Linie für Linie vorgehen. D. h. an der Starthaltestellen anfangen und dann der Reihe nach die Stop-Positionen und die Wege/Straßen, die der Bus nutzt, in ihrer Reihenfolge in die Relationen eintragen. Dabei aber wie im neuen Schema Hin- und Rückfahrt von Anfang an in zwei Relationen unterscheiden. Denn dies macht Rollen bei Haltestellen wie forward_stop_23, die jeden verwirren und nie vernünftig zu belegen sind, überflüssig. Durch das Vorgehen Linie für Linie hast Du Erfolge, die in der ÖPNV-Karte auch sehr gut aussehen.Gleichzeitig hast Du aber nicht viele offene Mapping-Baustellenüber die ganze Stadt verteilt, sondern höchstens die Linie, die Du gerade in Bearbeitung hast. Das Fertigstellen einer Linienrelation gleich in der richtigen Reihenfolge ist recht schnell, späteres umsortieren und nachfügen aber sehr zeitaufwändig.

Ein Beispiel aus unserer Nachbarstadt Castrop-Rauxel, wo so vorgegangen worden ist: http://www.öpnvkarte.de/?lat=51.5231&lon=7.3733&zoom=14 Dorst siehst Du auch, wie gleichnamige Haltestellen wie Castrop-Markt automatisch zusammengefasst werden. Dies macht aber das Werkzeug ÖPNV-Karte, die beiden Haltestellen sind nicht als Haltestellen und auch nicht zu einer Gesamthalte per Relationen im neuen Schema verknüpft, dumme Tools bemerken daher die Zusammengehörigkeit nicht. Und beim Neumarkt in Osnabrück würde das auch nicht klappen, da dort die Bussteige unterschiedliche Namen haben.

Die ersten Schritte sind auch für den ungeübten Mapper recht unkompliziert und nach Schritt 2 hast Du schon das Busnetz in der der ÖPNV-Karte sehr schön abgebildet, es fehlen nur Details, die Du ab jetzt ergänzt.

3)Haltestelle für Haltestellen die Platformen dazufügen. Diese Platformen lassen sich i.fd.R. sehr genau in ihrer Lage erfassen, bei uns in Dortmund definieren wir als Platform/Zugangsstelle z.B. die Haltemasten und haben diese zentimetergenau erfasst (aber mit einem irren Aufwand, der für den ersten Wurf nicht nötig ist). Wenn sowohl Stop-Positionen wie auch Platformen einer Haltestelle vorhanden sind, alle in eine Haltestellenrelation zusammenfassen, der Relation den Namen geben und mit public_transport =stop_area mappen.

4)Komplizierte Haltestelle mit mehreren Platformen wie dem Neumarkt in aller Ruhe mit dem neuen Schema genau nachbilden. Dann kann man auch Taxistände, Fahrkartenautomaten und Gesamthaltestellen public_transport =stop_area_group abbilden