ÖPNV-Tagging für Anfänger

Guten Morgen,

ich versuche gerade die Abfahrtspläne an einem Bahnhof zu aktualisieren (also wo fährt welche Linie ab). Da wurde zwar schon Vorarbeit geleistet, diese ist aber entweder nicht zu Ende geführt oder nicht mehr aktuell.

Jedenfalls schaute ich mir gerade eine Buslinie, die an einer Haltestelle abfährt, an und da steht bei den Parametern ca. 100x “nicht heruntergeladen”, zuerst ca. 30x mit “platform” und am Ende steht noch zig mal “nicht heruntergeladen” mit “Rolle”. Zwischendurch kommen noch verwirrende Parameter mit Fußgängerzone etc.pp.

Soll das so?

Ps.: Ich bekomme gerade nicht die ID von der Haltestelle raus…:smiley:

Grüße

Arbeitest du gerade mit JOSM? Wenn ja, dann:

  1. Wenn du die “Haltestelle” auswählst, erscheint unterhalb der normalen (Detail-)Informationen auch noch eine Liste “Element von”. Dort wählst du dann die entsprechende Relation aus und machst einen Rechtsklick. Im folgenden Kontextmenü kannst du dann “Unvollständige Elemente herunterladen” auswählen.
  2. Am linken Fensterrand findest du ein Symbol mit “Ein Fenster mit der aktuellen Auswahl öffnen (Alt+Umschalt+T)”, dort findest du dann auch die ID des Objektes
  3. Musst du halt aufpassen, nach welchem Erfassungsschema die Relation erfasst wurde, hier gibt es nämlich im Bereich Public Transport aktuell zwei Versionen!
  4. Auch wenn du die ID nicht rausbekommst, dann schreib einfach den Haltestellennamen und den Ort, dann wird hier auch jeder fündig :wink:

Du kannst die ID auf mindestens zwei verschiedene Weisen leicht herausbekommen:

In JOSM selektierst Du den entsprechenden Knoten oder Weg und drückst Strg+i für die Informationen.

Auf der normalen Karte (.org) zoomst Du so weit wie möglich ran und klickst dann rechts im Menü auf des Ebenen-Symbol. Im erscheinenden Bereich aktivierst Du unten “Kartendaten”. Wenn diese geladen sind, suchst Du Dir das entsprechende Objekt und klickst es an. In der Adresszeile steht dann direkt der Link zu diesem Element, und links am Rand findest Du alle Eigenschaften nebst ID in der Überschrift.

Danke an euch beide für die freundliche Antwort!

Mich hat gestern die Tagging-Wut gepackt und ich habe nahezu den ganzen Tag ÖPNV getaggt + fehlende Haltestellen hinzugefügt und ich muss sagen, dass das für Anfänger (selbst mit der ganzen Dokumentation in diversen wikis) echt nicht so leicht verständlich und wenig intuitiv ist.

  1. Ich habe, wie es in der einen wiki geschrieben wurde, jede Station einer Regionalstrecke mit dem Tag “stop_position n” (n = je nachdem um die wievielte Haltestelle es sich auf der Route ist handelt). Nun gibt mir JOSM eine Warnung aus, dass es diesen Tag nicht kennt und ich überlege alles wieder normal in “stop” umzutaggen. Dachte die Nummerierung würde echt Sinn machen. Reicht es denn, wenn die Elemente innerhalb der Routenrelation einfach in der richtigen Reihenfolge stehen?

  2. Ist mir zwar unangenehm, weil ich eigentlich nicht auf den Kopf gefallen bin, aber mir erschließt sich (auch nach mehrmaligem Lesen der public transport-wiki) nicht der Sinn von Master-Routen. Dachte Hin- und Rückroute lassen sich über 2 unterschiedliche Relationen erstellen und fertig ist, wieso dann auch noch eine Master-Route?!

  3. Achja und noch eine technische Frage: Ich habe gestern zum ersten Mal mit JOSM gearbeitet und war darüber verwundert, dass ich (aufgrund der Datenmenge) nur relativ kleine Kartenausschnitte bearbeiten kann. Wenn man aber eine Regionalbuslinie, die weite Strecken über das Land verläuft, mappen und taggen möchte, ist das äußerst müßig, da man nach allen 2 Stationen einen neuen Kartenbereich downloaden muss…was bei über 40 Stationen wirklich anstrengend ist. Gibt es denn eine Möglichkeit den Bearbeitungsbereich zu erweitern oder wie arbeitet ihr Profis so?

Es werden sicherlich noch Fragen auftreten, hoffe ich nerve nicht.

Grüße
kakoon85

zu 1) und 2), ja ÖPNV ist definitiv nicht leicht und auch sonst erfahrene Mapper scheitern daran … ich für meinen Fall versuche nicht damit in berührung zu kommen und kann dir da wenig weiterhelfen.

zu 3) versuch doch mal das Continous Download Plugin :wink:

Zu 3:

Es gibt da einige Plugins, die einem das Arbeiten mit JOSM erleichtern. Hier wäre das Continous download plugin zu nennen. Alternativ kann man im Experten-Modus über die overpass-API ausgewählte Objekte aus einem größeren Bereich runterladen. (shift-alt-Pfeil-runter) Für eine Überland-Buslinie z.B. die Bundesstraße xy, dann die entsprechende Kreisstraße. Dbei aber immer, wenn man einen so heruntergeladenen way trennen will, die direkte Umgebung noch einmal separat runterladen, sonst zerstört man eventuell andere Relationen, von denen JOSM nichts weiß, weil es sie nicht geladen hat.

Baßtölpel

Und noch so ein Hinweis, mir ist nicht wirklich klar, was jetzt genau im Wiki dokumentiert wird, aber hier im Forum gab es auch schon eine Diskussion über Public Transport Version 3 :wink:

Letztendlich ist es auch leider so, dass es hier schon mehrere Themen und endlose Diskussionen meist ergebnisoffen zum Thema ÖPNV und PublicTransport (PT) Schema gab und weiterhin geben wird, einfach mal die Suche nutzen und wenn die manchmal nicht weiterhilft, dann über google.de mit der Einschränkung auf site:forum.openstreetmap.org

Mit “stop_position n” in der Beschreibung ist mMn das Objekt an sich (n-te Haltestelle) gemeint, nicht als Tag (role) zum Eintragen.

Weil die alles zusammenfasst, was für alle Einzelrouten gilt:
Routen-Nr., Betreiber, Netz, …
Jeder meint mit “Linie 4” ja auch Hin- und Rückroute.

Es ist eigentlich gar nicht so schwer :slight_smile:
Jede Haltestelle besteht grundsätzlich aus 2 Elementen: der Ort auf der Straße, wo der Bus hält, und der Ort, wo der Fußgänger auf den Bus wartet.
Ersteres ist die Vorlage “Halteposition” bei JOSM (public_transport=stop_position)
Zweiteres ist die Vorlage “Plattform” (public_transport=platform + highway = bus_stop [für PT1-Kompatibilität])

Die Linie ist eine Relation, wo zuerst die Haltestellen (je Haltestelle immer zuerst stop_position, dahinter platform) und danach die komplette Strecke folgt.

Die Master-Route ist eine Zusammenfassung aller Variationen (Hin- und Rückweg sowie zusätzlich Variationen, also wenn die Linie zu bestimmten Uhrzeiten einen anderen Linienweg mit anderen Haltestellen hat)

Ich nutze folgenden Trick: Fahre die Strecke im Reallife ab, während du den GPS-Tracker aktiv hast und lade die .gpx in JOSM, oder unter http://www.gpsies.com/createTrack.do kannst du mit der Maus die Strecke tracken (Stell rechts auf Auto und “Wegen folgen”, manchmal musst du kleinere Zwischenschritte machen, da GPSies dich manchmal anders schicken möchte als der Linienweg ist), exportierst den Track und öffnest ihn in JOSM.
Nun kannst du oben rechts mit der rechten Maustaste auf die Ebene des GPX-Tracks klicken und “OSM-Daten entlang dieser Spur herunterladen” auswählen. Dort wählst du 10 Meter und 5 km² aus, da sonst der OSM-Server meckern könnte) Dann hast du alles entlang der Spur heruntergeladen.

Achtung: Beim Bearbeiten von Linien in JOSM kann es sehr schnell kommen, dass der Speicher von Java voll ist. Standardmäßig wird das 32-bit-Java gestartet mit 256MB maximalem RAM, was viel zu wenig ist.
Deshalb ersetze den String vor dem -J-D durch:
<Pfad zur 64-bit-javaws.exe> -localfile -Xmx2048m
(Der Pfad ist meist “C:\Program Files\Java<jreversion>\bin\javaws.exe” oder “C:\Program Files\Java<jdk-version>\jre\bin\javaws.exe”)

Wenn du noch Fragen hast, frag ruhig :slight_smile:

Ich fände es schön, wenn alle, die hier Hilfestellung gegeben haben, einfach einmal im Wiki das so aufschreibt, wie z.B. simsidii es beschreibt. Es gibt auch vom User Weide eine Handlungsanleitung, nur müsste diese einmal als “offiziell” (eventuell überarbeitet) ins WIKI. Und vielleicht sollten wir PT1 einmal als “Auslaufmodell” stellen …

Dann könnten zumindest die einzelnen Routen-Relationen korrigiert werden, wo es notwendig ist. (Eine Master-Route kann dann sicher aus den einzelnen zusammengefasst werden?)

Jop, dies würde ich auch befürworten. Eine klare Schritt-für-Schritt-Anleitung, wie man alles mappt. Ich bin auf jeden Fall bereit, mitzuhelfen. Bzgl. PT1: Ein Auslaufen würde ich auch befürworten, zumindest bei den Linien, bei den Haltestellen “highway=bus_stop” zusätzlich ist ja kein Problem, das kann man ja irgendwann immer noch überlegen, ob man dies dann auch als obsolet bezeichnet.

Das wird dauern, ich habe hier in der Umgebung (VVS) so einige Routen, die nur halb und auch nach PT1 nicht richtig gemappt sind. Die Master-Routen sind das einfachste dann am Ende (Von mir aus muss ja auch nicht jeder gleich von jeder Linie alle Variationen mappen, das kann ja nach und nach aufgebaut werden. Am wichtigsten ist es, dass überhaupt alle Buslinien hineinkommen)

Es gibt zwei Arten von ÖPNV-Routen: die alten (“PTv1”, man nummeriert bei Bedarf selbst) und die neuen (“PTv2”, die Reihenfolge zählt).

Damit man die beiden unterscheiden kann, sollten die alten das Tag “public_transport:version=1” und die neuen das Tag “public_transport:version=2” haben.

Nur in den alten Relationen gibt es Rollen wie “stop:6” oder “forward_stop:17” oder “forward” oder “backward”. Hier gibt es für die gesamte Buslinie genau eine Relation. Es gibt daher nie eine Masterrelation. Die Rolle “platform” gibt es nicht. Alle Haltestellen sind Nodes. Die Reihenfolge der Angaben spielt keine Rolle. Man kann damit immerhin einen schönen Linienplan zeichnen. Man kann damit aber oft nicht herausfinden, ob der Bus über Rathaus auch immer hinterher nach A-Dorf fährt.

Im neuen Schema spielt die Reihenfolge der Angaben die Hauptrolle. Jede Variante (Hin über Schule, Hin über Rathaus, Zurück über Schwimmbad, …) bekommt eine eigene Relation und in der werden erst alle Haltestellen und dann alle Wege in der richtigen Reihenfolge angegeben. “forward”, “backward”, stops mit Nummern gibt es nicht. Die werden dann alle durch eine Masterrelation zur Gesamtlinie zusammengefasst.

Ich hab eine Übersicht dazu auf
http://wiki.openstreetmap.org/wiki/User:Weide
gemacht.

Die Rolle “stop_position” gibt es aber in keinem der beiden.

Weide

Oooookay, also ich hatte jetzt beim Lesen das ein oder andere Aha-Erlebnis, danke dafür und (wie immer) für die freundlich, konstruktive Art und Weise der Hilfestellung!

@Harald Hartmann
Danke für die hilfreichen Ratschläge auch bei anderen Fragen bzgl. OSM, JOSM etc.pp.

@ simsidii & Weide
Nach dem Lesen eurer beiden Postings ist mir einiges klarer geworden, selbst wenn einiges so oder so ähnlich in den wikis steht. Da führt dann z.T. leider die Kombination von völlig Neuartigem (und nicht gerade Trivialem) und der sehr dichte Informationsgehalt, zur kognitiven Überforderung und man ist sich gar nicht mehr so sicher, ob man es richtig macht.

Ich hätte mir tatsächlich ein ganz konkretes Hands-on-Beispiel gewünscht. Also man sucht sich eine (fiktive) Strecke aus und beschreibt dann Stück für Stück, vielleicht sogar mit Zuhilfenahme von Screenshots, welche Schritte man wie macht, um zu einem adäquaten Mapping und Tagging zu gelangen. Würde das auch als didaktisch wertvoll erachten, selbst wenn Profis mit den Augen rollen sollten und sich ihren Teil dächten. Aus der Perspektive eines Neueinsteigers, der engagiert und voller Tatendrang gestartet ist, kann das schon mal zu leichten Frustrationen kommen. Es ist schon ein wenig deprimierend Sachen über Stunden hinweg mit größter Hingabe und Sorgfalt zu mappen, um dann rauszufinden, dass man nochmal ran muss, weil alles (zwar marginale aber eben doch) Fehler aufweist.

Also sehe ich das nun richtig, HaltePUNKTE werden mit der Rolle “stop” ausgestattet und dieser muss direkt auf der Straße platziert sein. Dann braucht man für jeden Haltepunkt nur noch ein Objekt mit der jeweiligen Vorlage. HalteSTELLEN (platform), im Sinne eines physischen Wartebereichs auf den Bus, müsste es dann je Richtung eine (also in der Regel 2) an der jeweiligen Stelle geben. Bei letzterem ist es auch unbedingt nötig, genau die Örtlichkeit zu kennen, sonst wird es mit dem exakten mapping schwierig. Der Haltepunkt lässt sich einfacher auf Basis von anderen Karten eintragen. Hoffe das war jetzt ungefähr richtig?

Okay, das wird dann aber noch ein riesiger Kraftakt, da in der ganzen Region, in der ich momentan den ÖPNV mappe, kaum bis kein einziger Haltepunkt auf der Straße steht, immer nur jeweils einer pro Richtung neben der Straße und die Haltestellen (als platforms) sind nahezu nicht gemapped. Das wird noch ein Riesenprojekt!

Grüße

Ps.: Die Strecken im RL abfahren wird bei den meisten leider nicht funktionieren, da es sich dabei zum Teil um Regional- und Überlandlinien handelt, bei denen man z.T. 2h unterwegs ist bis man die letzte Station erreicht hat…wobei, an einem verregneten Sonntag, wenn man sowieso die Zeit nicht draußen verbringen möchte und nichts anderes vor hat, Buch und NRW-Ticket eingepackt und auf geht’s zur lustigen ÖPNV-Mapping-Tour.

Nein, so wild ist es nicht. Es gibt zwar in PTv2 für jede Haltestelle zwei mögliche Angaben, aber die müssen nicht beide da sein. Und die alten Tags gelten in PTv2 weiter und müssen nicht ergänzt werden. Man soll also nur die Möglichkeit haben, eine Haltestelle zu ergänzen. Da gilt die Regel “Man muss die Haltestelle nicht detailmappen. Aber wenn beides gemappt ist, dann muss beides in die Relation. Die Namen müssen gleich sein und das “stop” jeweils zuerst kommen.”

Man muss also an alten Haltestellen garnichts machen:

Wenn da nur ein Node (meist für beide Richtungen) auf der Straße ist (highway=bus_stop und name=xyz), dann kommt der Node mit der Rolle “stop” in die Relationen und fertig.

Wenn da ein Node mit “highway=bus_stop” und “name=xyz” neben der Straße ist, dann kommt er mit der Rolle “platform” in die jede betreffende Relation und fertig.

Als Beispiel für eine PTv2-Linie mit vielen alten und einigen neuen Haltestellen geht der Ortsbus in Hilden:
Im JOSM: “Datei” “Objekt herunterladen” “Relation” “934912”

Weide

Das verwundert mich tatsächlich aber jetzt ein wenig. Auf den dort gelisteten Buslinien sind die Haltestellen nahezu alle als “platform” und nicht als “stop” getaggt. Ich hatte es so verstanden, dass bei den Elementen innerhalb der Relation immer zuerst der HaltePUNKT als Ort wo ebend der Bus anhält (mit “stop” getaggt) und danach die HalteSTELLE als physischer Ort des Wartens auf einen Bus (mit “platform” getaggt) angegeben wird. Nach der Logik gäbe es auf dieser Strecke nur physische Orte des Wartens und keine Haltepunkte. Es war doch so gedacht, diese beiden Elemente getrennt voneinander zu halten, oder?

Ich habe mal einen Screenshot zu einem Beispiel erstellt, so wie ich es nun verstanden habe:

Und hier nochmal für mehr Details auf dem Bild bzw. ohne Lupe die Bild-URL:
https://img1.picload.org/image/ragrlprl/bsp_oepnv.png

Es gibt einen Haltepunkt “Weidenau Krankenhaus” = stop
Und es gibt 2 Haltestellen “Weidenau Krankenhaus” = platform (eben wo die Leute auf den Bus warten)
Innerhalb der Relation steht von der Reihenfolge her immer “stop” vor “platform”

So hatte ich das bis dato - der neuen Dokumentationssystematik “public_transport:version = 2” folgend - verstanden…

(Also meist wird “HaltePUNKT” nur als Fachausdruck im Bahnverkehrs benutzt und “HalteSTELLE” ganz allgemein. Ich sage daher mal statt dessen “stop” und “platform”.)

Ja, es muss immer zuerst der “stop” und direkt danach die gleichnamige “platform” kommen.

Und es stimmt auch, dass man keinen der beiden in der Relation einfach weglassen darf.

Aber: es ist völlig OK, wenn nur einer der beiden gemappt wurde. Dann kommt auch nur einer in die Route. Die Rolle richtet sich danach, was da gemappt wurde. Der Punkt des Fahrwegs hat die Rolle “stop” und das Objekt neben dem Fahrweg (Punkt, Linie oder Fläche) hat die Rolle “platform”.

Das Tag “highway=bus_stop” sollte benutzt werden (man sieht die Haltestelle sonst nicht in der Karte). Es darf aber nur an Punkte und pro Halt des Fahrzeugs darf es nur einen geben. Wenn also eine Haltestelle mit einen Node für “stop” und einem Node für “platform” gemappt ist, dann darf das “highway=bus_stop” nicht an beide.

Wenn irgendwo schon “highway=bus_stop” dran ist, dann muss man kein “public_transport=xxx” dranschreiben. Wenn aber sonst nichts dran steht, dann nimmt man das “public_transport=xxx”-Tag. Man darf es aber auch zusätzlich benutzen … und der JOSM benimmt sich dann freundlicher und trägt bei “public_transport=stop_position” gleich die einzig passende Rolle “stop” in die Relation ein. Bei “public_transport=platform” ist entsprechend die einzig passende Rolle “platform”.

(Es gibt auch noch die Rollen “stop_entry_only”, “stop-exit_only”, “platform_entry_only” und “platform_exit_only”. Die sind für Halte, bei denen Aussteigen bzw. Einsteigen verboten ist. Das gab es z.B. bei Schlafwagenzügen. Da durfte man abends nur einsteigen und morgens nur aussteigen.)

Weide

Gibt es bei Bussen an den Endpunkten auch, wenn zwischen Ankunft und Abfahrt eine Ruhepause vorgesehen ist.
Aber das sind Feinheiten, die es am Anfang nur unübersichtlicher machen.

Seh ich anders. Wenn die Tour anfängt ist der Bus leer, aussteigen ist nicht verboten sondern unmöglich weil keiner drin ist … dass der Bus vorher woanders eingesetzt wurde, spielt keine Rolle. Ich nehm das nur, wenn z.B. ein Zug von Hannover nach Hamburg fährt, man damit aber nicht von Hannover nach Hamburg fahren darf.

Da sind die Formulierungen aber nicht eindeutig und es wäre m.E. auch kein großer Verlust, wenn es ganz entfallen würde.

Weide

In Hamburg gab es mal einen Busbahnhof, wo die Busse zum Aussteigen an einen speziellen Bussteig gehalten sind, und dann zum Einsteigen an ihren eigentlichen Bussteig, dafür wäre das nützlich, sonst nicht.

In dem Beispiel brauchst du 2 stop_positions, da die stop_position auf der Straße liegen muss. Ich mach auch immer 2 stop_positions, wenn die Busse nicht gegenüber halten, sondern versetzt.

Man braucht sie nicht … man darf sie hinzufügen, wenn man darin einen Sinn sieht.