GTFS and NMBS web app departure board comparison tool
Compares the departure board derived from the Belgian Mobility Company's GTFS and GTFS-RT feeds with the departure board from the NMBS web app.
The problem is that many delays, platform changes and cancellations are not reflected in the GTFS-RT feed, and that some platforms are missing in the GTFS static feed. See the GitHub issue for more details: https://github.com/iRail/iRail/issues/577
To use the tool, follow these steps:
- Select a sample data set or select your own files below (for now, you'll need to use the sample's nmbs web app data, as the scraper is not public)
- Load the GTFS data and NMBS web app data into the local database by clicking "Load GTFS data" and "Load NMBS web app data" (might take a while)
- Set the time range for the comparison from the NMBS web app data
- Click "Compare time range"
The GTFS departure board is calculated locally using Postgres in PGlite. Its logic is not fully tested, but it should handle delays, platform changes and cancellations correctly.
Expected mismatches are:
- Trip headsigns when a trip can be split into multiple trips. e.g. Kortrijk can become Oostende.
- Entries can on the GTFS side can be duplicated when they're actually the same train. e.g. IC 19714 to Lille Flandres and IC 709 to Poperinge, or IC 4310 to Hasselt and L 4410 to Hamont.
Or select your own files below.
GTFS data
Select GTFS files to load.
NMBS web app data
Select an NMBS SQL dump to load.
Load GTFS and NMBS web data to start.
Load data to see departures.