Netherlands — National Transit Ballet
Moving heads · schedule expansionEvery scheduled train, bus, tram, metro and ferry in the Netherlands for one Friday — 121,031 journeys moving on the national timetable.
A whole country’s public transport as one animated timetable, at national scale. Every vehicle scheduled for Friday 2026-07-03 is a dot moving along its real route: intercity trains across the Randstad, night buses after midnight, ferries to the Wadden islands.
No vehicle positions are recorded — the static GTFS feed is the data. The build expands the service calendar to one concrete day, then places each trip along its published route shape by matching the stop-time distances (shape_dist_traveled), interpolating per-vertex timestamps between consecutive stops (dwell included). 97.5% of trips carry exact shape-distance timing; the rest (shapeless trips) fall back to stop-to-stop lines.
The archive holds all 121,031 trips with per-vertex timing; AnimatedTripHeadsLayer interpolates every active vehicle per frame. Zoom into Amsterdam or Utrecht Centraal at rush hour for dense platform activity, or zoom out for the whole network.
stt-generate gtfs --feed data/gtfs-nl/feed --date 20260703 \--output examples/showcase/public/data/gtfs-nl
Download + unzip https://gtfs.ovapi.nl/nl/gtfs-nl.zip first; the feed refreshes daily and only covers its published window, so pick a --date inside it. The build prints the exact archive time span to paste into the dataset’s timeRange.
Full recipes for every dataset live in the data-generation guide.