PTNA - News: GTFS-Analyse

Besten Dank für deinen Einsatz.

Den VRS könntest du gelegentlich mal aufnehmen.
https://www.vrs.de/fahren/fahrplanauskunft/opendata-/-openservice
Das öffentlich zugängliche Internetangebot unter vrs.de ist für die Benutzung in osm freigegeben.

Gruß, Axel

In Vorbereitung, wird noch ein paar Stunden dauern mit der Aggregierung.

… und der Mitteldeutsche Verkehrsverbund MDV https://www.mdv.de/service/downloads/, ganz unten unter Open Data.

Dem schließe ich mich einfach mal an.

Bitte, gerne geschehen.

Die Verbünde VHB, MDV, KVV VRS, … sind nun drin. Die anderen von BaWü kommen die nächsten Tage.

KVV hatte noch rumgezickt: BOM von UTF-8 - man beachte den letzten Satz.

Update:

  • GPX-Download : dieser Button erzeug eine GPX-Datei mit der Fahrstrecke des Busses, … wenn ‘shape’-Daten vorhanden sind, so entspricht das dem genauen Fahrweg und und nicht nur der Luftlinie zwischen den Haltestellen.

  • Download als CSV-Liste für PTNA : dieser Button erzeugt eine CSV-Liste als Input für de OSM-Analyse mit PTNA.

Den zweiten Punkt habe ich mit KVV durchgezogen, VBB steht noch aus.

Update:

Die Analyse einer einzelnen Fahrt (trip) zeigt diese Fahrt nun auch auf einer Karte.

Sind GTFS-shape Daten vorhanden, so sollte das der tatsächlichen Fahrstrecke entsprechen, andernfalls der Luftlinie zwischen den Haltestellen.

Beispiel: https://ptna.openstreetmap.de/gtfs/DE/single-trip.php?network=DE-BW-KV.SHA&trip_id=65.T0.10-1-j20-1.15.R

Ich habe bewusst nur die Nummer der Haltestellen genommen, da das Bild sonst u.U. zu unübersichtlich wird. Ein Klick auf einen Marker zeigt zusätzlich den Namen der Haltestelle.

Ein Problem bleibt zu lösen, siehe https://ptna.openstreetmap.de/gtfs/DE/single-trip.php?network=DE-BW-RAB&trip_id=1.T2.9-1-20a-4.9.H
Die Haltestellen 1 und 19 bzw. 2 und 20 sind identisch, als Marker wird derzeit jedoch nur 19 bzw. 20 angezeigt (der jeweils andere liegt darunter verborgen).

Problem gelöst.

Ja sehr schön :sunglasses:

jetzt könnte man noch… für josm-Nutzer eine Overpass-Abfrage in die Hand drücken… um die Haltestellen herunter zu laden in einem schwung… so in der Art:

http://overpass-turbo.eu/s/Syr

Aber Relationen erstellen hat jeder so seine eigenen vorgehensweisen… :confused: … oder alle Haltestellen in einer Routing abfrage packen :slight_smile:

Gruß Miche

Gute Idee mit Overpass: evtl. weniger als 50m drumherum und wenn shape-Daten vorhanden, dann ebenfalls 1 - max. 2m um diese Punkte herum - was dann aber zu einer Mengenfrage, zu einem Problem der zu vielen Unterabfragen führen kann.

Eine Routingabfrage über alle Haltestellen: machbar, aber notwendig nur wenn keine shape-Daten vorhanden sind.

Gruß
Toni

Ja den Abstand kann man auch kleiner machen… war nur zum testen :slight_smile:

Anhand der Shape-Daten das auch zu machen… ist eine Wissenschaft für sich g… geht… aber

An Kreuzungen bekommt man viel beifang ab… abbiegende Wege usw. man kann das ganze auf den darauffolgenden Note filtern dann fällt viel beifang weg, aber dazu muss das shape gut mit dem aktuellen OSM Datenbestand zusammenpassen. Man kann aber auch vorher das shape nehmen und neu verrouten… also ersten und letzten Punkt nehmen und möglichst viele zwischen zwischenpunkte und damit Routing betreiben… dann hat man ein neues shape das besser mit osm zusammenpasst :wink:

Gruß Miche

Wow!
Gute Idee, das könnte möglicherweise eine Brücke zwischen shape-Daten und OSM-IDs schlagen.
Wenn der Router die IDs der Nodes/Ways raus spucken würde könnte man die wiederum in JOSM laden.

Gruß
Toni

OverpassAbfragen mit URL füttern :slight_smile:

https://wiki.openstreetmap.org/wiki/Overpass_turbo/Development#Query

https://overpass-turbo.eu/?Q=%5Bout%3Axml%5D%5Btimeout%3A25%5D%3B%0A%28%0A%20%20nwr%5B%22public_transport%22~%22platform%7Cstop_position%22%5D%28around%3A50.0%2C48.1334650800486%2C11.7034371976669%29%3B%0A%20%20nwr%5B%22highway%22%3D%22bus_stop%22%5D%28around%3A50.0%2C48.1334650800486%2C11.7034371976669%29%3B%0A%20%20%0A%20%20nwr%5B%22public_transport%22~%22platform%7Cstop_position%22%5D%28around%3A50.0%2C48.136930511474%2C11.7153080378443%29%3B%0A%20%20nwr%5B%22highway%22%3D%22bus_stop%22%5D%28around%3A50.0%2C48.136930511474%2C11.7153080378443%29%3B%0A%20%20%0A%20%20nwr%5B%22public_transport%22~%22platform%7Cstop_position%22%5D%28around%3A50.0%2C48.143820912491%2C11.7232923109173%29%3B%0A%20%20nwr%5B%22highway%22%3D%22bus_stop%22%5D%28around%3A50.0%2C48.143820912491%2C11.7232923109173%29%3B%0A%29%3B%0Aout%20meta%3B%3E%3Bout%20meta%20qt%3B

Das wäre noch praktischer… aber kenne ich keinen der das macht…

Eins muss man noch aufpassen manche Router optimieren ihre Routen und lassen mache Punkte rausfallen… z.B. Graphhopper der optimiert ein wenig…

Hi Toni,

hab gerade mal eine Relation gemacht mit auf Grundlage von deiner GTFS-Analyse. Geht schon ganz gut :slight_smile: Was mir noch fehlt…wäre eine Tabelle mit den entsprechenden Tagging für die Relation, die ich dann mit Copy&Paste auf die Relation im JOSM übertragen kann :slight_smile: Also so eine Tabelle mit allen tags:

https://www.openstreetmap.org/relation/10981156

Gruß Miche

…und vielleicht auch noch für die Masterrelation…, weil sonst mach ich da zu viele Fehler :confused: :roll_eyes:

Edit:
…noch zwei Relationen
https://www.openstreetmap.org/relation/10981208 (Rückfahrt)
https://www.openstreetmap.org/relation/10981209 (Master)

dritte und vierte version :wink:
https://www.openstreetmap.org/relation/10981294
https://www.openstreetmap.org/relation/10981323

Hab jetzt die gpx-dateien mit meinen Ding da verroutet (Brouter + access Änderung)
https://greymiche.lima-city.de/bus-relation/GPX2Routing-request2/index.html

und ein Overpass-Abfrage erstellt:
https://greymiche.lima-city.de/bus-relation/GPX2Overpass-Queries/gpx2overpass7.html

und mit Josm geladen, gpx Dateien (haltestellen und routing ergebnis ) angehängt
https://greymiche.lima-city.de/bus-relation/GPX2Overpass-Queries/gpx2overpass7.html

( => bei edit in Josm muss man aufpassen wenn man Wege teilt muss immer der komplette Weg mit angrenzenden Wegen und Relationen geladen sein! Und relation-Fenster geschlossen! sonst andere Relationen ein wenig kaputt :wink: )

…jetzt noch was… bei https://ptna.openstreetmap.de/gtfs/DE/single-trip.php?network=DE-BY-MVV&trip_id=15.T0.19-262-s20-1.12.R ist die Fahrer Anweisung mit dem Wenden noch dabei, willst du die drin lassen?

Ich hab mich mal versucht den GTFS trip mit einer OSM-Relation zu vergleich bzw. zuzuordnen… in dem ich die Haltepunkt die lat/lon “verunschärfe” und runde auf eine vierstellige Zahl, um Abweichungen glatt zu bügeln… also aus 48.1752064111777;11.7630580897431 wird 4818;1176. Das ganz mit OSM-Relation und GTFS-Trip… dann noch ein wenig verkleinert die Ausgabe… (die kleinsten Wert von lat/lon abgezogen)… dann müsste bei beiden das gleiche raus kommen. :slight_smile:

- Relation zu GPX machen:
https://greymiche.lima-city.de/bus-relation/ptv2_platform_to_rte/index.html?relation=10981156

- GPX zu ID machen:
https://greymiche.lima-city.de/bus-relation/gpx2rel_id/index.html

Ist schon ganz gut, bis auf das wenden des Fahrers macht den unterschied: :confused:

minlat=4813&minlon=1170&lonlats=6,5;6,5;5,4;6,4;5,3;5,3;6,3;6,3;4,2;3,2;2,1;2,1;0,0;0,0;
minlat=4813&minlon=1170&lonlats=6,5;6,5;5,4;6,4;5,3;5,3;6,3;6,3;4,2;3,2;2,1;2,1;0,0;

Trip und Relation:
https://ptna.openstreetmap.de/gtfs/DE/single-trip.php?network=DE-BY-MVV&trip_id=15.T0.19-262-s20-1.12.R
https://www.openstreetmap.org/relation/10981156#map=14/48.1560/11.7335

Servus Miche,

nein, dass will ich noch “ausbügeln”, d.h. als PTNA Information ausgeben.

Das Problem gibt es scheinbar mehrfach, auch ‘mein’ 210er “leidet” in Brunnthal, Zusestraße darunter, siehe https://ptna.openstreetmap.de/gtfs/DE/trips.php?network=DE-BY-MVV&route_id=19-210-s20-1 .
Die beiden PTNA Infos dort sind von mir händisch eingetragen worden.
Den zweiten davon kann ich automatisch erkennen und als “zu prüfen” kommentieren. Der erste Fall ist ähnlich gelagert (Anweisung für Busfahrer des Verstärkerbusses, der abends nur in eine Richtung fährt). Dieser Fall ist schwer zu erkennen, eigentlich unmöglich.

Einen Trip definiere ich in PTNA durch einen String, der die Stop-IDs der Reihe nach enthält.

  • “stopid_1|stopid_2|stopid_3|…|stopid_n-1|stopid_n”

Auf diese Weise erkenne ich dann auch “Teilroute von” (= substring of) oder “identisch zu”

Das Problem des speziellen Wendens hier (“München Messestadt-Ost”, “Brunnthal, Zusestraße”, …) erkenne ich im Fall von Stop-ID == IFOPT … “stopid_n-1” nahezu gleich mit “stopid_n” bis auf den letzten Teil des IFOPT (den Steig).

Den Code habe ich schon anderswo, werde ihn aber noch in die Analyse der GFTS-Daten einbringen … bevor das Erkennen von “Teilroute von” ausgeführt wird.

Gruß
Toni

Oh je… eine Leerfahrt :confused: ja das kann man nicht erkennen… ist das nicht im GTFS irgendwie markiert, weil wenn jemand man dem GTFS routing machen will muss man ja diese fahrt ausschießen :confused: