MDV GTFS feed validation results
Validation results for GTFS feed (mdv_mastscharf_gtfs.zip) provided by MDV.
Also have a look at GTFS issue tracker.
Contact: Jens Flemming
GTFS feed version: 2026-04-17
Sections:
Non-IFOPT IDs [link]
Stops in DELFI's feed should use IFOPTs as stop ID. Some do, some do not, and some use an IFOPT suffixed by one or multiple _G. The table shows correponding counts.
See also GTFS issue 115.
| location type | IFOPT | IFOPT with _G | not IFOPT | all |
|---|---|---|---|---|
| 1 (station) | 382 | 0 | 0 | 382 |
| 0 (platform) | 6320 | 0 | 35 | 6355 |
| 2/3 (misc) | 0 | 0 | 0 | 0 |
| all | 6702 | 0 | 35 | 6737 |
Non-IFOPT station IDs [link]
No stations with non-IFOPT ID found.
Non-IFOPT platform IDs [link]
Found 35 platforms with non-IFOPT ID.
| id | name |
|---|---|
| 000022939 | Binnewitz (Ostrau) |
| 000031109 | Brodau, Werbeliner Weg |
| 000953752 | Dessau Tempelhofer Str., Dessau-Roßlau |
| 391008000 | Döbeln Hbf |
| 000007199 | Döbeln, Am Walduferviertel |
| 000007200 | Döbeln, Reichensteinstr |
| 000007201 | Großschirma, Grundschule |
| 000007202 | Großvoigtsberg, Schule |
| 398057000 | Halle Rosengarten |
| 391015900 | Halle(Saale)Hbf |
| 391016200 | Halle-Ammendorf |
| 000960264 | Kühren Meltewitzer Str., Wurzen |
| 000211540 | Langenberg Trift, Gera |
| 001085905 | Leipzig, Colmbergsiedlung Ersatzhalt |
| 000031198 | Leipzig, Dieskau-/Gerhard-Ellrodt-Str. |
| 000031224 | Leipzig, Hutten-/Wilhelm-Michel-Str. |
| 000010230 | Leipzig, Karl-Heine-/Merseburger Str. SEV |
| 000031204 | Leipzig, Zum Wäldchen |
| 398066000 | Magdeburg Hasselbachplatz |
| 391022400 | Magdeburg Hbf |
| 391345500 | Magdeburg Herrenkrug |
| 391348500 | Magdeburg SKET Industriepark |
| 391228700 | Magdeburg Südost |
| 391345600 | Magdeburg-Buckau |
| 391022600 | Magdeburg-Neustadt |
| 000030999 | Mittweida, Kraftwerk (Ersatzhalt) |
| 000031014 | Nicollschwitz (Bockelwitz), Abzweig |
| 000955742 | Petersroda Ortsmitte, Sandersdorf-Brehna |
| 000031215 | Präbschütz (Mochau), Vorwerk |
| 008071671 | Ruhland Busbahnhof |
| 000200197 | Schäferbrunnen, Regis-Breitingen |
| 000983183 | Stadthalle Pleißental, Werdau |
| 000369428 | Wolfen-Nord Anhalter Platz, Bitterfeld-Wolfen |
| 000262219 | Wolfsgefärth B92, Zedlitz |
| 000736464 | Zellendorf Dorfstr., Niedergörsdorf |
Non-IFOPT misc object IDs [link]
No misc objects with non-IFOPT ID found.
Not in ZHV [link]
Stops in DELFI's feed should use IFOPTs as stop ID. The table shows how many of the used IFOPTs starting with "de:" are listed in DELFI ZHV (_G suffixes are ignored).
See also GTFS issue 121.
| location type | in ZHV | not in ZHV, but parent | object and parent not in ZHV | all |
|---|---|---|---|---|
| 1 (station) | 379 | 0 | 3 | 382 |
| 0 (platform) | 6238 | 21 | 61 | 6320 |
| 2/3 (misc) | 0 | 0 | 0 | 0 |
| all | 6617 | 21 | 64 | 6702 |
Stations not in ZHV [link]
Found 3 stations with IFOPT not in ZHV.
| ID | name |
|---|---|
| de:15002:1673 | Halle (Saale), Kaufland Trotha |
| de:15002:4982 | Halle (Saale), Gleimstr. |
| de:15002:7197 | Halle (Saale), Brentanostraße |
Platforms not in ZHV [link]
Found 82 platforms with IFOPT not in ZHV.
| ID | parent in ZHV | name |
|---|---|---|
| de:14522:22697 | False | Methau, Ehemaliger Gasthof |
| de:14524:10808 | False | Crimmitschau, Bahnhof (Bus) |
| de:14713:12154 | False | Leipzig, Augustenstr. |
| de:14713:12637 | False | Leipzig, Uhlandstr. |
| de:14713:12638 | False | Leipzig, Landwaisenhausstr. |
| de:14713:13292 | False | Leipzig, Schongauerstr. |
| de:14713:15810 | False | Leipzig, Karl-Jungbluth-Str./S-Bahnhof Connewitz |
| de:14713:22836 | False | Leipzig, S-Bahnhof Lützschena (Bus) |
| de:14713:23161 | False | Leipzig, S-Bahnhof Grünauer Allee (Bus) |
| de:14713:30084 | False | Leipzig, Holzhäuser Str./Lange Reihe |
| de:14713:31208 | False | Leipzig, Miltitz, Sportplatz |
| de:14713:31209 | False | Leipzig, Bahnhof Miltitz |
| de:14713:31216 | False | Leipzig, Knautkleeberg, Schule |
| de:14713:31223 | False | Markkleeberg, Koburger/Rathausstraße |
| de:14713:31225 | False | Leipzig, Huttenstr./Brückenstraße |
| de:14713:7211 | False | Leipzig-Rückmarsdorf, Bahnhof (Bus) |
| de:14729:100043 | False | Störmthaler See (Großpösna), Hafen |
| de:14729:10749 | False | Belgershain, Bahnhof (Bus) |
| de:14729:15964 | False | Motterwitz (Thümmlitzwalde), Abzweig |
| de:14729:22699 | False | Grimma, Malzmühlstr. |
| de:14729:304900 | False | Regis-Breitingen, Blumrodaer Straße |
| de:14729:31205 | False | Lindennaundorf (b. Leipzig), Hopfenteich |
| de:14729:31210 | False | Lindennaundorf (b. Leipzig), Miltitzer Str. |
| de:14729:31219 | False | Plateka (Wyhratal), Zwölfbogenweg (Ersatzhalt) |
| de:14729:3857 | False | Höfgen (Grimma), Am Mühlgraben |
| de:14729:7210 | False | Deutzen, Markt SEV |
| de:14730:10691 | False | Doberschütz, Gasthof |
| de:14730:12862 | False | Kletzen (Krostitz), Gasthof |
| de:14730:22788 | False | Hainichen (Eilenburg), Aue |
| de:14730:30513 | False | Döbrichau (Beilrode), B87 |
| de:14730:31220 | False | Limbach (Oschatz), Ersatzhaltestelle |
| de:14730:31227 | False | Schkeuditz, Markt |
| de:15002:1673::01 | False | Halle (Saale), Kaufland Trotha |
| de:15002:1673::02 | False | Halle (Saale), Kaufland Trotha |
| de:15002:4982::01 | False | Halle (Saale), Gleimstr. |
| de:15002:4982::02 | False | Halle (Saale), Gleimstr. |
| de:15002:7197::01 | False | Halle (Saale), Brentanostraße |
| de:15082:31211 | False | Zörbig, Bahnübergang |
| de:15084:4149 | False | Weickelsdorf, Kindergarten |
| de:15084:4283 | False | Kleinjena (Naumburg), Schule |
| de:15084:4337 | False | Freyburg (Unstrut), Naumburger Str. |
| de:15088:10060 | False | Langenbogen, Str. der Jugend |
| de:15088:23182 | False | Peißen (Saalekreis), Am Reidepark |
| de:15088:30022 | False | Querfurt, Grundschule |
| de:15088:31221 | False | Schkopau, Dörstewitzer Str. |
| de:15088:39631 | False | Schochwitz, Biege |
| de:15088:39632 | False | Eisdorf, Sportplatz |
| de:15088:7190 | False | Kötzschen, Schillerplatz |
| de:15088:7191 | False | Niederklobikau, Schule |
| de:15088:837 | False | Lieskau, Salzmünder Str. |
| de:15091:960 | False | Linda (Elster), Ort |
| de:16077:10753 | False | Oberkossa (Naundorf) |
| de:16077:10933 | False | Meuselwitz (Thür.), Pestalozzistr. |
| de:16077:11943 | False | Ziegelheim, Abzweig Ziegelheim |
| de:16077:12070 | False | Rolika (Dobitschen) |
| de:16077:13108 | False | Pähnitz (Windischleuba) |
| de:16077:13479 | False | Selleris (Saara) |
| de:16077:30416 | False | Thonhausen (Thür.), Denkmal |
| de:16077:30715 | False | Serbitz (Borna), Landwirtschaftlicher Weg (Ersatzhalt) |
| de:16077:30719 | False | Treben, Altenburger Straße, Ersatzhalt |
| de:16077:31206 | False | Gößnitz (Thür.), Friedhof |
| de:14713:11005::07 | True | Leipzig, Westplatz |
| de:14713:11005::08 | True | Leipzig, Westplatz |
| de:14713:11074::05 | True | Leipzig, Waldplatz |
| de:14713:11074::06 | True | Leipzig, Waldplatz |
| de:14713:11074::07 | True | Leipzig, Waldplatz |
| de:14713:11074::08 | True | Leipzig, Waldplatz |
| de:15002:30803::01 | True | Halle (Saale), Rudererweg |
| de:15002:3941::93 | True | Halle (Saale), Rudolf-Ernst-Weise-Str. |
| de:15002:3951::01 | True | Halle (Saale), Tornau, Kirschallee |
| de:15002:3951::02 | True | Halle (Saale), Tornau, Kirschallee |
| de:15002:4984::01 | True | Halle (Saale), S-Bahnhof Trotha (Bus) |
| de:15002:5027::02 | True | Halle (Saale), Coimbraer Str. |
| de:15002:5047::04 | True | Halle (Saale), Huttenstr. |
| de:15002:5051::04 | True | Halle (Saale), Berliner Brücke |
| de:15002:5065::01 | True | Halle (Saale), Erich-Kästner-Str. |
| de:15002:5112::01 | True | Halle (Saale), Porphyrstr. |
| de:15002:5179::04 | True | Halle (Saale), Wiener Str. |
| de:15002:84202::02 | True | Halle (Saale), Rosenfelder Str. |
| de:15002:96312::01 | True | Halle (Saale), Türkstr. |
| de:15002:96312::02 | True | Halle (Saale), Türkstr. |
| de:15088:9605::02 | True | Bad Lauchstädt, Markt |
Misc objects not in ZHV [link]
No misc objects with IFOPT not in ZHV.
Not in Germany/Europe [link]
The list shows all stations, platforms, misc objects that violate at least one of the following criteria:
- Longitude is between 5.67 and 15.14 and ID starts with "de:".
- Latitude is between 47.19 and 55.13 and ID starts with "de:".
- Longitude is between -10.3 and 32.2 and ID.
- Latitude is between 36.2 and 70 and ID.
See also GTFS issue 35.
No objects outside Germany/Europe found.
Multiple objects at same location [link]
The three lists below show all stations, platforms, misc objects sharing their location with another object of same type. Two objects are considered "at the same location" if their distance is at most 1 meters. All objects of same type and location have a common group ID.
See also GTFS issue 44.
Stations [link]
No locations with multiple stations found.
Platforms [link]
Found 11 platforms sharing their location with another platform.
| ID | lat | lon | group ID | name |
|---|---|---|---|---|
| 000007199 | 51.12948200 | 13.12850600 | 846 | Döbeln, Am Walduferviertel |
| 000007200 | 51.12948200 | 13.12850600 | 846 | Döbeln, Reichensteinstr |
| de:14522:80161 | 51.12948200 | 13.12850600 | 846 | Döbeln, Riesaer Str. |
| 000007201 | 50.98108000 | 13.27587700 | 1479 | Großschirma, Grundschule |
| de:14522:71014 | 50.98108000 | 13.27587700 | 1479 | Großschirma, Zum Steinberg |
| de:14522:70283 | 50.98912600 | 13.27673200 | 1509 | Großvoigtsberg, Zellwald-Center |
| 000007202 | 50.98912600 | 13.27673200 | 1509 | Großvoigtsberg, Schule |
| de:15002:3949::02 | 51.50679200 | 11.87538100 | 2029 | Halle (Saale), Lieskauer Str. |
| de:15002:3949::04 | 51.50679200 | 11.87538100 | 2029 | Halle (Saale), Lieskauer Str. |
| de:15002:3945::02 | 51.49839900 | 11.93540900 | 2257 | Halle (Saale), Straßburger Weg |
| de:15002:3945::01 | 51.49839900 | 11.93540900 | 2257 | Halle (Saale), Straßburger Weg |
Misc objects [link]
No locations with multiple misc objects found.
Duplicate trips [link]
A GTFS feed may (but shouldn't) contain duplicate trips. Two trips are considered identical if all of the following criteria are satisfied:
- Departure times at first stop are identical.
- Arrival times at last stop are identical.
- Both trips have the same number of stops.
- Stops of both trips are pairwise (in direction of travel) identical (same ID) or at least closely spaced (distance at most 150 meters).
- Both trips share at least one service day.
See also GTFS issue 89.
Pairs of duplicate trips [link]
Column "identical stops" contains "True" if all stop pairs of the two trips are identical (same ID). If at least one stop pair has different IDs, the value is "False". Last two columns show how many of each trip's service days overlap with the other trip. A value of 100 in both columns thus means that all service days of both trips are identical.
Found 12 pairs of duplicate trips.
Trip pairs with 100 per cent service day overlap: 9
Trip pairs with partial service day overlap: 3
| ID trip 1 | ID trip 2 | route ID for trip 1 | route ID for trip 2 | identical stops | overlapping days in trip 1 [per cent] | overlapping days in trip 2 [per cent] |
|---|---|---|---|---|---|---|
| 116607 | 116608 | THU___291 | THU___291 | True | 100 | 100 |
| 116646 | 116647 | THU___291 | THU___291 | True | 100 | 100 |
| 84101 | 84102 | MQ____744 | MQ____744 | True | 100 | 100 |
| 84176 | 84177 | MQ____744 | MQ____744 | True | 100 | 100 |
| 84249 | 84250 | MQ____744 | MQ____744 | True | 100 | 100 |
| 116582 | 116583 | THU___291 | THU___291 | True | 100 | 100 |
| 116622 | 116623 | THU___291 | THU___291 | True | 100 | 100 |
| 9928 | 9929 | BLK___602 | BLK___602 | True | 100 | 100 |
| 10890 | 10891 | BLK___794 | BLK___794 | True | 100 | 100 |
| 83025 | 83026 | MQ____727 | MQ____727 | True | 83 | 100 |
| 83053 | 83054 | MQ____727 | MQ____727 | True | 80 | 100 |
| 83080 | 83081 | MQ____727 | MQ____727 | True | 71 | 100 |
Routes with duplicate trips [link]
Found 5 routes with duplicate trips.
Routes with duplicate trips within the route: 5
Routes with duplicate trips in other routes: 0
| route ID | short name | agency ID | route type | trips total | duplicates within route | duplicates in other routes | IDs of other routes |
|---|---|---|---|---|---|---|---|
| THU___291 | 291 | 02012 | 3 | 78 | 4 | 0 | |
| MQ____727 | 727 | 01414 | 3 | 78 | 3 | 0 | |
| MQ____744 | 744 | 01414 | 3 | 145 | 3 | 0 | |
| BLK___794 | 794 | 00208 | 3 | 25 | 1 | 0 | |
| BLK___602 | 602 | 00208 | 3 | 12 | 1 | 0 |
Stop pairs from duplicate trips [link]
No stop pairs from duplicate trips found.
Funding
The code for creating these validation results originates from the VeriBus project. VeriBus was a government-funded project at Zwickau University of Applied Sciences. Funding was provided by the German Federal Ministry of Transport from 2024 till 2026. For legal reasons, we state the following funding information in German:
Das Projekt VeriBus wird im Rahmen der Innovationsinitiative mFUND mit insgesamt 158.464,31 Euro durch das Bundesministerium für Verkehr gefördert.