Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DELFI: Doppelte Trips #89

Open
hbruch opened this issue Mar 24, 2022 · 9 comments
Open

DELFI: Doppelte Trips #89

hbruch opened this issue Mar 24, 2022 · 9 comments
Labels
DELFI Falsche Angaben Hier liegt ein inhaltlicher Fehler vor

Comments

@hbruch
Copy link
Member

hbruch commented Mar 24, 2022

Der DELFI-GTFS-Datensatz beinhaltet mehrere grundsätzlich äquivalente Trips mehrfach.
Mutmaßliche Ursache sind in den vermutlich aus unterschiedlichen Quellen stammenden Fahrten teilweise abweichende Steige, z.B. bei unten stehenden Fahrten.

Beispiele

SELECT agency_name, route_color, route_text_color,
       route_short_name, trip_headsign, direction_id, trip_short_name,
       wheelchair_accessible, st.departure_time, t.service_id, t.trip_id
 FROM agency a
 JOIN routes r ON a.agency_id=r.agency_id AND a.feed_index=r.feed_index
 JOIN trips t ON t.route_id=r.route_id AND t.feed_index=r.feed_index
 JOIN stop_times st ON st.trip_id = t.trip_id AND st.feed_index=t.feed_index AND st.stop_sequence=0
WHERE agency_name IN ('NEB Niederbarnimer Eisenbahn', 'NEB Betriebsgesellschaft mbH' )
  AND a.feed_index=2
ORDER BY departure_time;
agency_name route_color route_text_color route_short_name trip_headsign direction_id trip_short_name wheelchair_accessible departure_time service_id trip_id
NEB Niederbarnimer Eisenbahn RB62 Prenzlau,Bahnhof 0 61295 03:39:00 666 1687956459
NEB Betriebsgesellschaft mbH DA6BA2 FFFFFF RB62 Prenzlau,Bahnhof 0 61295 1 03:39:00 666 1688224088
NEB Niederbarnimer Eisenbahn RB62 Prenzlau,Bahnhof 0 61295 03:59:00 667 1687956461
NEB Betriebsgesellschaft mbH DA6BA2 FFFFFF RB62 Prenzlau,Bahnhof 0 61295 1 03:59:00 667 1676824057
NEB Betriebsgesellschaft mbH A5027D FFFFFF RB12 S Ostkreuz Bhf (Berlin) 1 61102 1 04:34:00 659 1676821331
NEB Niederbarnimer Eisenbahn RB12 S Ostkreuz Bhf (Berlin) 1 61102 04:34:00 659 1687965808
NEB Niederbarnimer Eisenbahn RB12 Templin,Stadt Bhf 0 61101 04:47:00 659 1687965873
NEB Betriebsgesellschaft mbH A5027D FFFFFF RB12 Templin,Stadt Bhf 0 61101 1 04:47:00 659 1676821348
NEB Niederbarnimer Eisenbahn RB62 Angermünde,Bahnhof 1 61296 04:51:00 670 1687956441
NEB Betriebsgesellschaft mbH DA6BA2 FFFFFF RB62 Angermünde,Bahnhof 1 61296 1 04:51:00 670 1676824048
...
SELECT trip_id, stop_id, departure_time, stop_sequence FROM stop_times st
 WHERE trip_id in ('1687956459','1688224088')
ORDER BY stop_sequence,trip_id;
trip_id stop_id departure_time stop_sequence
1687956459 de:12060:900350127:2:51 03:39:00 0
1688224088 de:12060:900350127:2:51 03:39:00 0
1687956459 de:12060:900350124:1:50 03:43:00 1
1688224088 de:12060:900350124:1:50 03:43:00 1
1687956459 de:12060:900350125:2:51 03:48:00 2
1688224088 de:12060:900350125:1:50 03:48:00 2
1687956459 de:12073:900340004:3:54 03:59:00 3
1688224088 de:12073:900340004:3:52 03:59:00 3
1687956459 de:12073:900341270:1:50 04:09:00 4
1688224088 de:12073:900341270:1:50 04:09:00 4
1687956459 de:12073:900340056:1:50 04:16:00 5
1688224088 de:12073:900340056:1:50 04:16:00 5
1687956459 de:12073:900340055:1:50 04:19:00 6
1688224088 de:12073:900340055::2 04:19:00 6
1687956459 de:12073:900340050:1:51 04:27:00 7
1688224088 de:12073:900340050:1:51 04:27:00 7

Behebungsvorschlag
Bei der Ermittlung von Äquivalenten ist es womöglich sinnvoller, statt auf steigscharfe Identität zu vergleichen (was ich als aktuelle Ursache vermute), auf Äquivalenz der übergeordneten Haltestellen-ID zu prüfen (ohne Steig).
Dabei sollten festgestellte Differenzen an die Datenbereitstellenden rückgemeldet werden, da zumindest eine Quelle fehlerhaft sein dürfte.

Aktualisierungszeitpunkt der GTFS-Daten:
21.03.2022

Downloadlink der GTFS-Daten:
oepnv-opendata

@hbruch hbruch added DELFI Falsche Angaben Hier liegt ein inhaltlicher Fehler vor labels Mar 24, 2022
@derhuerst
Copy link
Collaborator

Zur Bestätigung: Ich habe stichprobenartig geschaut, im VBB-Feed kommen diese Fahrten nicht doppelt vor.

@hbruch
Copy link
Member Author

hbruch commented Dec 13, 2022

Das Problem besteht Stand heute weiterhin.

Stand der Daten:
VBB: 9.12.2022
DELFI: 5.12.2022

@hbruch
Copy link
Member Author

hbruch commented Aug 17, 2024

Das Problem besteht im DELFI-Datensatz Stand 12.08.2024 weiterhin.

@BeckertAnke
Copy link

Wir bekommen Eisenbahnlinien in der Regel von mehreren Lieferanten und versuchen per Konfiguration jeweils genau eine in die Ausgabeschnittstellen zu übergeben. Für das konkrete Beispiel ziehen wir das nach.
Die einzig wirklich effiziente Methode nach Linien-Duplikaten auf unserer Seite zu suchen, ist die deutschlandweite Linien-ID (DTID). Leider ist die Versorgung von DTID bei Eisenbahnlinien noch nicht auf dem Stand, den wir gerne hätten, sodass wir Linien- und Fahrtduplikate nie ganz ausschließen können.

Anke Beckert (DELFI-Team)

@jeflem
Copy link

jeflem commented Jan 25, 2025

Zu doppelten Trips/Routes hänge ich hier ein paar konkrete Route-Doppelungen aus dem DELFI-GTFS-Feed vom 06.01.2025 an. Parallel gibt es noch Issue #140 zu doppelten Trips/Routes.

Vorgehen für die Auswahl:

  1. Für jede Route alle Stops aller Trips sammeln.
  2. Die Stopmengen aller Routen miteinander vergleichen.

Routenpaare werden als Doppelung gewertet, wenn folgende Kriterien erfüllt sind:

  • Alle Stops der einen Route befinden sich im 150-Meter-Umkreis der Stops der anderen Route und umgekehrt (also praktisch identische Haltestellen).
  • Unterschiedliche agency_id.
  • Gleicher short_name.
  • stop_ids zwischen den Routen nicht alle identisch (also keine trivialen/exakten Routen-Kopien).
  • Beide Routen sind Bus oder beide sind Bahn (Kombination Bahn+SEV ausgeschlossen).
  • Kein _D_ in den route_ids (also keine offensichtliche Doppelung).
  • Mindestens 10 nicht übereinstimmende Stopppositionen (Vergleich der Koordinaten).

Ergebnis sind 69 Paare. Insbesondere betrifft das Problem nicht nur Bahnlinien (wie man aus dem Kommentar von @BeckertAnke schließen könnte), sondern auch eine ganze Menge Buslinien. Mildert man die die Kriterien etwas ab, geht die Zahl ins Dreistellige.

Für die Ursachensuche habe ich 4 Fälle aus meiner Region genauer angeschaut. Dazu kommt noch demnächst separates Issue, da dort zusätzliche Probleme auftreten. Mein Eindruck ist, dass manche Datenlieferanten (DB?) keine steigscharfen Routen liefern, die Verbünde aber schon.

Bei einigen Paaren sind die Fahrzeiten/-tage disjunkt, die Routen werden also zu verschiedenen Zeiten von verschiedenen Unternehmen bedient. Diese Routen sind trotzdem in der Aufstellung enthalten, da dieser Umstand zwar zu doppelten Einträgen im GTFS-Feed zwingt (nur eine Agency pro Route-Eintrag), aber keine Abweichungen bei den Stopppositionen rechtfertigt.

Regionale Verteilung:
Image

Alle Paare:

route_id 1 (agency 1) route_id 2 (agency 2) short_name
7118063_3 (RBA Dillingen) 7090866_3 (Stauden 02 (ab j24)) 694
7120472_3 (Verkehrsgemeinschaft Main-Tauber) 7096087_3 (BUS) 82
7125403_700 (Cottbusverkehr GmbH) 4106324_700 (DB Regio Bus Ost GmbH1) 855
7125405_700 (Cottbusverkehr GmbH) 4106326_700 (DB Regio Bus Ost GmbH1) 857
7125409_700 (Cottbusverkehr GmbH) 4106330_700 (DB Regio Bus Ost GmbH1) 861
7125410_700 (Cottbusverkehr GmbH) 4106331_700 (DB Regio Bus Ost GmbH1) 866
7125413_700 (Cottbusverkehr GmbH) 4106334_700 (DB Regio Bus Ost GmbH1) 872
7125414_700 (Cottbusverkehr GmbH) 4106335_700 (DB Regio Bus Ost GmbH1) 873
7125416_700 (Cottbusverkehr GmbH) 4106336_700 (DB Regio Bus Ost GmbH1) 877
7125418_700 (Cottbusverkehr GmbH) 4106338_700 (DB Regio Bus Ost GmbH1) 880
7125424_700 (Cottbusverkehr GmbH) 4106344_700 (DB Regio Bus Ost GmbH1) 887
7125425_700 (Cottbusverkehr GmbH) 4106345_700 (DB Regio Bus Ost GmbH1) 890
7125426_700 (Cottbusverkehr GmbH) 4106347_700 (DB Regio Bus Ost GmbH1) 892
7125428_700 (Cottbusverkehr GmbH) 4106349_700 (DB Regio Bus Ost GmbH1) 895
de:NWL:05770|Bus|530:_3 (Minden C) 5760389_700 (MKB-MühlenkreisBus GmbH) 530
de:VBB:12069448|Bus|X2:vetter_3 (Vetter Verkehrsbetriebe) de:VBB:12069448|Bus|X2:_700 (regiobus Potsdam Mittelmark GmbH) X2
de:VBN-VOS:19:2_700 (Weser-Ems-Bus Betrieb Osnabrück) de:VBN-VOS:19:1_3 (Schrage Reisen) 19
de:VBN:331:2_3 (Gerdes Reisen) de:VBN:331:1_700 (AM Bus) 331
de:VBN:338:2_3 (Gerdes Reisen) de:VBN:338:1_700 (AM Bus) 338
de:VBN:343:2_3 (Gerdes Reisen) de:VBN:343:1_700 (AM Bus) 343
de:VBN:760:2_3 (Weser-Ems-Bus Auftragnehmerleistung von Wilmering) de:VBN:760:1_700 (Vonau Reisedienst GmbH & Co. KG) 760
de:VBN:760:3_700 (AllerBus) de:VBN:760:2_3 (Weser-Ems-Bus Auftragnehmerleistung von Wilmering) 760
de:ZPS:10042111|Bus|238:_3 (ARGE Nahverkehrsgesellschaft Merzig-Wadern) 7125289_3 (Verkehrsgesellschaft Merzig-Wadern) 238
de:ZPS:10042112|Bus|211:_3 (ARGE Nahverkehrsgesellschaft Merzig-Wadern) 7125273_3 (Verkehrsgesellschaft Merzig-Wadern) 211
de:ZPS:10042112|Bus|222:_3 (ARGE Nahverkehrsgesellschaft Merzig-Wadern) 7125278_3 (Verkehrsgesellschaft Merzig-Wadern) 222
de:ZPS:10042112|Bus|230:_700 (ARGE Nahverkehrsgesellschaft Merzig-Wadern) 7125283_700 (Verkehrsgesellschaft Merzig-Wadern) 230
de:ZPS:10042113|Bus|241:_3 (ARGE Nahverkehrsgesellschaft Merzig-Wadern) 7125291_3 (Verkehrsgesellschaft Merzig-Wadern) 241
de:ZPS:10042116|Bus|202:_3 (ARGE Nahverkehrsgesellschaft Merzig-Wadern) 7125266_3 (Verkehrsgesellschaft Merzig-Wadern) 202
de:ZPS:10042116|Bus|202:_700 (ARGE Nahverkehrsgesellschaft Merzig-Wadern) 7125266_700 (Verkehrsgesellschaft Merzig-Wadern) 202
de:ZPS:10045112|Bus|501:_3 (Saar-Mobil GmbH) 7125308_3 (Reise Fischer GmbH) 501
de:ZPS:10045116|Bus|507A:_700 (Saar-Mobil GmbH) 7125310_700 (Reise Fischer GmbH) 507
de:h3nv:31666_:_700 (Landkreis Heilbronn) de:h3nv:31666M:_3 (Bus (Region)) 666
de:hvv:7591:_3 (AKMasten) de:NAHSH:7591:_3 (Autokraft Kiel GmbH) 7591
de:hvv:8180:_3 (AKMasten) de:NAHSH:01062|8180:_3 (Autokraft Kiel GmbH) 8180
de:hvv:8182:_3 (AKMasten) de:NAHSH:01062|8182:_3 (Autokraft Kiel GmbH) 8182
de:naldo:67a801f123054befab20c5b2d9257e7d:_3 (RAB-Bus (ZÖA-LB-NW)) de:naldo:53N80_:_700 (Nachtbus (Region)) N80
de:nasa:14730|Bus|527:OVH_3 (Nordsachsen Mobil) de:VBB:12062224|Bus|527:_700 (Verkehrsmanagement Elbe-Elster GmbH) 527
de:nasa:15088|Bus|700:VGS_3 (Verkehrsgesellschaft Südharz) de:nasa:15088|Bus|700:PNVG_3 (PNVG Merseburg-Querfurt) 700
de:ostalbmobil:x40914_:_3 (RBS AA + FMO SHA) de:ostalbmobil:40914_:_700 (Ostalbkreis) 7914
de:rmv:00000530:002_3 (Omnibus Sauter) 7119856_700 (Verkehrsgesellschaft Gersprenztal/Sauter) 52
de:vag-freiburg:14033__700 (Taxi) de:vag-freiburg:10033__3 (VAG - BUS) 33
de:vag-freiburg:14033__700 (Taxi) de:vag-freiburg:13033__3 (FREMD - Unternehmer) 33
de:vag-freiburg:14034__700 (Taxi) de:vag-freiburg:13034__3 (FREMD - Unternehmer) 34
de:vgc-online:15667_:_700 (Privatunternehmer-Bus (CW)) 7124785_3 (Calw VPC) 667
de:vms:52-C11_101 (Chemnitzer Modell) 162107_106 (City-Bahn Chemnitz) C11
de:vms:52-C13_101 (Chemnitzer Modell) 162108_106 (City-Bahn Chemnitz) C13
de:vms:52-C14_101 (Chemnitzer Modell) 162109_106 (City-Bahn Chemnitz) C14
de:vms:52-C15_101 (Chemnitzer Modell) 162110_106 (City-Bahn Chemnitz) C15
de:vmv-mbh:13074|05|05|0000131:_3 (NAHBUS GmbH) de:hvv:131:_3 (nahbus1) 131
de:von:64-747_3 (OBB-Beck) 7125581_3 (RBO-Busverkehr) 747
de:von:64-747_3 (OBB-Beck) 7125729_3 (RBO-Busverkehr) 747
de:von:64-750_3 (OBB-Beck) 7125650_3 (RBO-Busverkehr) 750
de:von:69-709_3 (Schmidt-Reisen) 7125595_3 (RBO-Busverkehr) 709
de:von:69-710_3 (Schmidt-Reisen) 7125728_3 (RBO-Busverkehr) 710
de:vpe:99731E:_3 (Pforzheim Ezkreis Ost) de:vpe:04731_:_3 (Regionalbusse (privat)) 731
de:vpe:99733E:_3 (Pforzheim Ezkreis Ost) de:vpe:04733_:_3 (Regionalbusse (privat)) 733
de:vpe:99933E:_3 (Pforzheim Ezkreis Ost) de:vpe:04933_:_3 (Regionalbusse (privat)) 933
de:vrn:02785:_3 (Südwestdeutsche-Verkehrs-AG) de:h3nv:31675_:_3 (Bus (Region)) 675
de:vrr:112:STO-15-112-B_0 (Stadtwerke Oberhausen) de:vrr:112:BTM-13-112_0 (Mülheimer Verkehrsgesellschaft) 112
de:vrr:130:STO-15-130-B_3 (Stadtwerke Oberhausen) de:vrr:130:BTM-13-130_3 (Mülheimer Verkehrsgesellschaft) 130
de:vrr:562:VER-45-562_3 (Verkehrsgesellschaft Ennepe-Ruhr mbH) de:vrr:562:BVR-88-562-K_3 (Busverkehr Rheinland) 562
de:vrr:828:RBG-72-828_3 (Rheinbahn Bus) de:vrr:828:BVR-88-828-K_3 (Busverkehr Rheinland) 828
de:vrr:995:STO-15-995-S_3 (Stadtwerke Oberhausen) de:vrr:995:BVR-88-995-K_3 (Busverkehr Rheinland) 995
de:vrr:SB38:VER-45-S38_3 (Verkehrsgesellschaft Ennepe-Ruhr mbH) de:vrr:SB38:BVR-88-S38-K_3 (Busverkehr Rheinland) SB38
de:vrr:new-80-281:_3 (NEW mobil und aktiv Mönchengladbach GmbH) de:vrr:SB81:west_3 (WestVerkehr GmbH) SB81
de:vvo:27-500_3 (RBO-Busverkehr) de:von:27-500_3 (RBO-Bus) 500
de:vvs:31460_:_700 (Privatunternehmer-Bus (VVS)) 7126138_3 (Bus (Region)) 460
de:vvs:31X46_:_700 (Privatunternehmer-Bus (VVS)) 7126141_3 (Bus (Region)) X46
de:vvv:19-64_3 (VVV) de:vvv:19-64R_3 (POB Vnetz Hauptlinien) 64

@sebastianknopf
Copy link

Zu den Linien im Bereich Pforzheim kann ich vielleicht etwas beitragen: Die Linien mit den DLIDs de:vpe:04731_:, de:vpe:04733_: und de:vpe:04933_: werden sowohl durch den Verkehrsverbund Pforzheim Enzkreis (VPE), als auch den Betreiber, die SWEG geliefert. Als Verkehrsverbund haben wir bereits im September vergangenen Jahres die Datenhoheit über die Regionalbuslinien zu uns zurück geholt, da bei der Datenpflege durch die Betreiber-VU zu oft betriebliche Belange im Vordergrund standen und die Datenqualität litt.

Die NVBW wurde von uns gebeten, die Linien der SWEG zu unterdrücken und unsere Linien zu priorisieren. In der EFA-BW klappt das auch nach meinem aktuellen Kenntnisstand, beim GTFS-Export war mein letzter Stand auch, dass es soweit funktioniert hat, nachdem die drei Linien eine ganze Zeit lang aus unerklärlichen Gründen komplett gefehlt hatten.

Wie so oft bei den aggregierten Gesamtdatensätzen fehlt uns als eigentlicher Datenbereitsteller jeglicher Durchblick, an welcher Stelle die Fehler entstehen und folglich auch die Handhabe, irgendetwas daran zu ändern.

@BeckertAnke
Copy link

Vielen Dank für die umfangreichen Analysen. Im Rahmen einer DELFI-internen Änderung des Datenformats bei den Zulieferungen hatten wir insbesondere in Sachsen und in Baden-Württemberg etliche Linien doppelt. Wir sind bereits dabei die Dopplungen aus unseren Exportkonfigurationen wieder zu entfernen. Leider gibt es immer noch Probleme beim Erstellen eines neue GTFS-Datensatzes (siehe [#163])

@jeflem
Copy link

jeflem commented Jan 27, 2025

Im GTFS-Feed vom 06.01.2025 habe ich aktuell reichlich 800 Routen, die mehrfach vorkommen; meist doppelt oder dreifach, eine sogar 8-fach. Betroffen sind also gut 1600 Routen. Von den 800 sind gut 500 exakte Kopien (alle stop_ids gleich) und fast 300 sind praktisch identisch mit anderen Routen, wenn man statt der stop_ids nur auf die Koordinaten schaut (Abstand max. 150 Meter, gleicher route_type).

Die Auswertung läuft inzwischen etwas anders als im Eingangspost, sodass False-Positives auch ohne die übermäßig strengen Kriterien weitgehend vermieden werden.

Wenn es beim Bereinigen der Exportkonfiguration hilft, spende ich die Daten gern.

Hier zur Orientierung die exakten Kopien (blau) und die Nahezu-Kopien (rot):
Image

@derhuerst

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DELFI Falsche Angaben Hier liegt ein inhaltlicher Fehler vor
Projects
None yet
Development

No branches or pull requests

5 participants