mfdz / GTFS-Issues

Documentation and Tracking of Issues in GTFS- and GTFS-RT Feeds
36 stars 3 forks source link

DELFI: Doppelte Trips #140

Open hbruch opened 8 months ago

hbruch commented 8 months ago

Beschreibe den Fehler Der Delfi-Feed enthält doppelte Trips verschiedener Agencies.

Als Beispiel sei die N44 Nachtbuslinie der VVS hier dargestellt:

Bereits die route_id wird als Duplikat unterschiedlicher Agencies (8096 Regional-Busse RBS bzw 7998 Nachtbusse (Regional)) in routes.txt geführt:

"de:vvs:34044_:",7998,"N44
"de:vvs:34044_:_D",8096,"N44","",3,"","",""

die calendar.txt Einträge sind identisch, die calendar_dates überlappend.

Mutmaßliche Ursache für scheiterende Duplikaterkennung in der GTFS-Ausleitung sind mutmaßlich Abweichungen der in den stop_times referenzierten Stops:

seq_nr arrival_time departure_time stop_ids trip 2395445069 stop_ids trip 2394000840
0 28:34:00 28:34:00 "de:08118:1503:2:4" "de:08118:1503:3:4"
1 28:36:00 28:36:00 "de:08118:3521:0:4" "de:08118:3521:0:4_G"
2 28:37:00 28:37:00 "de:08118:3523:0:4" "de:08118:3523:0:4"
3 28:38:00 28:38:00 "de:08118:3559:0:3" "de:08118:3559:0:3_G"
4 28:39:00 28:39:00 "de:08118:7560:0:3" "de:08118:7560:0:3_G"
5 28:40:00 28:40:00 "de:08118:6940:0:4" "de:08118:6940:0:4_G"
6 28:43:00 28:43:00 "de:08118:5566:1:4" "de:08118:5566:0:1"
7 28:44:00 28:44:00 "de:08118:5934:0:3" "de:08118:5934:0:3_G"
8 28:45:00 28:45:00 "de:08118:3582:0:3" "de:08118:3582:0:1"
9 28:46:00 28:46:00 "de:08118:5570:1:3" "de:08118:5570:1:1"
10 28:47:00 28:47:00 "de:08118:5571:1:3" "de:08118:5571:1:3"
11 28:48:00 28:48:00 "de:08118:5572:0:3" "de:08118:5572:0:3"
12 28:50:00 28:50:00 "de:08118:3597:0:3" "de:08118:3597:0:3_G"
13 28:51:00 28:51:00 "de:08118:5573:0:3" "de:08118:5573:0:3_G"
14 28:52:00 28:52:00 "de:08118:3591:0:3" "de:08118:3591:0:3_G"
15 28:53:00 28:53:00 "de:08118:3592:0:3" "de:08118:3592:0:3_G"
16 28:58:00 28:58:00 "de:08118:5574:0:3" "de:08118:5574:0:3_G"
17 29:00:00 29:00:00 "de:08118:5575:1:3" "de:08118:5575:1:3"
18 29:02:00 29:02:00 "de:08118:3499:0:1" "de:08118:3499:0:1_G"

Aktualisierungszeitpunkt der GTFS-Daten: 29.1.2024

Downloadlink der GTFS-Daten: Open-Data ÖPNV

hbruch commented 8 months ago

Nachtrag: die von trip 2394000840 der Agency "8096 (Regional-Busse RBS)" referenzierten DHIDs de:08118:3582:0:1, de:08118:5570:1:1, de:08118:5566:0:1, de:08118:1503:3:4 sind nicht im zHV enthalten und daher wahrscheinlich fehlerhaft.

NVBWSeifert commented 8 months ago

Nachtrag: die von trip 2394000840 der Agency "8096 (Regional-Busse RBS)" referenzierten DHIDs de:08118:3582:0:1, de:08118:5570:1:1, de:08118:5566:0:1, de:08118:1503:3:4 sind nicht im zHV enthalten und daher wahrscheinlich fehlerhaft.

Hallo Holger, für diese Fehler bitte die NVBW als verantwortlich labeln, wir verwalten federführend das RBS-Teilnetz. Ich habe die falschen Steig-DHIDs ermittelt und die korrekten Steig-DHIDs mitgeteilt und hoffe, das in einigen Tagen die Fehler beseitigt sind.

viele Grüße Dietmar

hbruch commented 8 months ago

Guten Morgen Dietmar, Danke für's Annehmen. Ich habe Dir alle 78 stop_ids angehängt, welche trips von duplizierten vvs-Routes (solche mit _D in der route_id) zugeordnet, jedoch nicht im zHV enthalten sind. Die meisten davon dürften RBS betreffen, auch wenn ich dies nicht explizit ausgewertet habe.

Verwendetes Statement (_G-Suffixe explizit ignoriert):

SELECT DISTINCT s.stop_id 
  FROM gtfs_trips t 
  JOIN gtfs_stop_times s ON t.trip_id = s.trip_id
 WHERE t.route_id LIKE 'de:vvs:%D' 
   AND replace(stop_id,'_G','') NOT IN (SELECT DHID FROM zhv);
hbruch commented 4 months ago

Die o.g. Halte de:08118:3582:0:1, de:08118:5570:1:1, de:08118:5566:0:1, de:08118:1503:3:4 werden nicht mehr referenziert. Von den ursprünglich 78 sind derzeit jedoch weiterhin 52 stop_ids von Routen mit _D_ in der ID nicht im zHV enthalten.

Da mittlerweile der route_type in die route_id aufgenommen wurde, muss obiges SQL-Statement angepasst werden:

SELECT DISTINCT s.stop_id
  FROM gtfs_trips t
  JOIN gtfs_stop_times s ON t.trip_id = s.trip_id
 WHERE t.route_id LIKE 'de:vvs:%_D_%'
   AND replace(stop_id,'_G','') NOT IN (SELECT DHID FROM zhv);

Die Linie N44 hat weiterhin abweichende Haltestellen:

SELECT DISTINCT st.stop_sequence, t.route_id, st.stop_id, st2.stop_id, t2.route_id
  FROM gtfs_trips t, gtfs_trips t2
  JOIN gtfs_stop_times st ON t.trip_id=st.trip_id
  JOIN gtfs_stop_times st2 ON t2.trip_id=st2.trip_id AND st.stop_sequence = st2.stop_sequence
 WHERE t.route_id = 'de:vvs:34044_:_D_3'
   AND t2.route_id = 'de:vvs:34044_:_700';
SeqNr route_id_1 stop_id_1 stop_id_2 route_id_2
0 de:vvs:34044_:_D_3 de:08118:1503:2:4 de:08118:1503:2:4 de:vvs:34044_:_700
1 de:vvs:34044_:_D_3 de:08118:3521:0:4_G de:08118:3521:0:4 de:vvs:34044_:_700
2 de:vvs:34044_:_D_3 de:08118:3523:0:4 de:08118:3523:0:4 de:vvs:34044_:_700
3 de:vvs:34044_:_D_3 de:08118:3559:0:3_G de:08118:3559:0:3 de:vvs:34044_:_700
4 de:vvs:34044_:_D_3 de:08118:7560:0:3_G de:08118:7560:0:3 de:vvs:34044_:_700
5 de:vvs:34044_:_D_3 de:08118:6940:0:3_G de:08118:6940:0:4 de:vvs:34044_:_700
6 de:vvs:34044_:_D_3 de:08118:5566:2:3 de:08118:5566:1:4 de:vvs:34044_:_700
7 de:vvs:34044_:_D_3 de:08118:5934:0:3_G de:08118:5934:0:3 de:vvs:34044_:_700
8 de:vvs:34044_:_D_3 de:08118:3582:0:3_G de:08118:3582:0:3 de:vvs:34044_:_700
9 de:vvs:34044_:_D_3 de:08118:5570:1:3 de:08118:5570:1:3 de:vvs:34044_:_700
10 de:vvs:34044_:_D_3 de:08118:5571:1:3 de:08118:5571:1:3 de:vvs:34044_:_700
11 de:vvs:34044_:_D_3 de:08118:5572:0:3 de:08118:5572:0:3 de:vvs:34044_:_700
12 de:vvs:34044_:_D_3 de:08118:3597:0:3_G de:08118:3597:0:3 de:vvs:34044_:_700
13 de:vvs:34044_:_D_3 de:08118:5573:0:3_G de:08118:5573:0:3 de:vvs:34044_:_700
14 de:vvs:34044_:_D_3 de:08118:3591:0:3_G de:08118:3591:0:3 de:vvs:34044_:_700
15 de:vvs:34044_:_D_3 de:08118:3592:0:3_G de:08118:3592:0:3 de:vvs:34044_:_700
16 de:vvs:34044_:_D_3 de:08118:5574:0:3_G de:08118:5574:0:3 de:vvs:34044_:_700
17 de:vvs:34044_:_D_3 de:08118:5575:1:3 de:08118:5575:1:3 de:vvs:34044_:_700
18 de:vvs:34044_:_D_3 de:08118:3499:0:1_G de:08118:3499:0:1 de:vvs:34044_:_700
19 de:vvs:34044_:_D_3 de:08118:6718:0:3_G de:08118:6718:0:3 de:vvs:34044_:_700
20 de:vvs:34044_:_D_3 de:08118:5567:0:3_G de:08118:5567:0:3 de:vvs:34044_:_700
21 de:vvs:34044_:_D_3 de:08118:5934:0:4_G de:08118:5934:0:4 de:vvs:34044_:_700
22 de:vvs:34044_:_D_3 de:08118:5566:1:4 de:08118:5566:1:4 de:vvs:34044_:_700
23 de:vvs:34044_:_D_3 de:08118:6940:0:4_G de:08118:6940:0:3 de:vvs:34044_:_700
24 de:vvs:34044_:_D_3 de:08118:7560:0:3_G de:08118:7560:0:3 de:vvs:34044_:_700
25 de:vvs:34044_:_D_3 de:08118:3559:0:4_G de:08118:3559:0:4 de:vvs:34044_:_700
26 de:vvs:34044_:_D_3 de:08118:3523:0:4 de:08118:3523:0:3 de:vvs:34044_:_700
27 de:vvs:34044_:_D_3 de:08118:3521:0:3_G de:08118:3521:0:3 de:vvs:34044_:_700
28 de:vvs:34044_:_D_3 de:08118:1503:2:3 de:08118:1503:2:4 de:vvs:34044_:_700