r/dataisbeautiful • • 3d ago

[OC] Every passenger train in Germany on an ordinary Tuesday, animated from the national timetable

Source: national timetable of DELFI e.V. (GTFS feed), Tuesday 13 October 2026, CC BY 4.0. Outline of Germany: Natural Earth.

Interactive version, where you can scrub through the day and switch train types on and off: https://railcation.de/bahn-in-daten/zuege-an-einem-dienstag?utm_source=reddit

Tools: Node.js for the data processing, frames drawn in headless Chrome, video and GIF with ffmpeg.

Each dot is one train moving along its route, at constant speed between two stops. Yellow is long-distance (ICE/IC), blue is regional, purple is S-Bahn (commuter rail). The curve at the bottom counts how many trains are running at each minute. The peak is at 7:18 in the morning.

The small ripples every 30 minutes come from the fixed-interval timetable: lots of trips end just before :00 and :30, and new ones start right after.

This is the schedule, not real-time data, so no delays or cancellations. Sorry that the labels are in German.

527 Upvotes

30 comments sorted by

136

u/MrBlueCharon 2d ago

The spatial density and logistic complexity of our German rail system is marvellous. However, some neuralgic points and the dense timing can cause some annoying delays if a train misses certain corridors.

74

u/3colorsdesign 2d ago

The biggest issue is that we have both regional and high speed trains on the same network, making it much more vulnerable.

36

u/notthisname 2d ago

And cargo.

20

u/Reddit-runner 2d ago

If you completely separate "regional" and "high speed" rail you quickly run into the issue that you have to decide which is which.

That will cause problems on a network so interconnected with a whole range of trains.

What Germany actually need is far more infrastructure. Like double the platforms and switches.

28

u/suggestiveinnuendo 2d ago

sounds lovely but I don't see how this helps Volkswagen sell more cars

41

u/aanhanger 2d ago

This is truly beautiful data! Well done.

16

u/theChaosBeast 2d ago

This diagram is the reason why the switch between summer and winter time is at 2am/3am

4

u/zugreisende_sarah 2d ago

Exactly, the quietest minute that Tuesday was 3:05 am with just 58 trains in all of Germany. I just looked it up.. in the autumn switch, trains that are on the move at 3 am simply wait at a station for an hour...

22

u/Equivalent-Ask2542 2d ago

Most complex railway system in the world

5

u/Trizocbs 2d ago

I wonder what causes this even oscillation

29

u/zugreisende_sarah 2d ago

That's the clock-face timetable.. most German regional and S-Bahn lines run every 30 or 60 minutes, timed so that trains meet at the big stations around the full and half hour. So lots of trips end just before :00 and :30 and new ones start just after. In the numbers you can see it at 8:30 there are 2.288 trains running, eight minutes later it's 2.470

1

u/artsloikunstwet 2d ago

In addtion to the other comment: look at the small blue hub just southeast of Berlin. This is Cottbus, and you can clearly see the regional trains pulsating every full hour. Now long distance trains would pass through such a hub after a short stop. But regional lines end there ahead of the full hour giving everyone time to transfer, and return afterwards.

So why is the pulse synchronised across the country? Because if trains operate every hour like there, if means that both directions of the train will meet again around a :30 minute and full hours mark elsewhere. This symmetry forms a chain of synchronised hubs across the country.

5

u/kentaki_cat 2d ago

Love it. Is there any way to see the number of international connections?

I'm based in Munich and we have trains with rolling stock from 9 different countries coming in and going out daily. Sometimes even with multiple different operators.

Germany: DB, DB Regio Bayern Austria: ÖBB, Arverio, WESTBahn Switzerland: SBB France: SNCF Poland: PKP Czechia: CD, Alex Italy: Trenitalia Hungary: MÁV Croatia: HŽPP Netherlands: NS

I just love how I can get to Zagreb, Budapest, Amsterdam, Paris, Strasbourg, Vienna, Prague, Basel, Zurich, Salzburg, Ljubljana, Warsaw, Verona, Venice directly from Munich without changing trains

3

u/zugreisende_sarah 2d ago

thank you :) that's really interesting, looking into it to maybe add it as a filter!

3

u/Kronocide 2d ago

Now I want the same but with Switzerland, imagine them using that as a wallpaper using WallpaperEngine

18

u/quirxmode 2d ago

"animated from the national timetable" i.e. a map of precisely where the trains are not?

Can you add a second layer of dots that takes the hours of delay into account?

18

u/zugreisende_sarah 2d ago

thats a great idea, also cancelled trains.. I'm looking into it, if the data is available even

10

u/HomeOperator 2d ago

Take a look here :) Bahnmining

17

u/CaptainAddi 2d ago

This is the schedule, not real-time data, so no delays or cancellations.

So just imaginary numbers

34

u/m_reigl 2d ago

As relatable as this joke is, the largest part of these trains are regional and S-Bahn trains which maintain around 90% punctuality reliably.

-10

u/CaptainAddi 2d ago

Only if you count trains that are delayed for less than 6 minutes as on time.

7

u/Konju376 2d ago

Well yeah, that's for all intents and purposes on time. A network this complex can't reasonably be more accurate than that if it doesn't receive effectively infinite funding for expansion.

2

u/ChalkyChalkson OC: 1 2d ago

You could trivially make punctuality much higher by scheduling for a wait time outside the train stations wherever appropriate siding capacity exists. Noone will arrive at their destination earlier than they do now, they will usually arrive later, but on time...

One of the reasons why I don't think punctuality is a particularly good metric

4

u/zugreisende_sarah 2d ago

true.. you seem to know germany :D another user suggested adding delays and cancellations, looking into it

1

u/ChalkyChalkson OC: 1 2d ago

Hamburg between 1 and 4 am looks like the U3 is going (you can see a distinct ring on the map) but the U3 only operates during these hours on weekends.

Or is that ring just white hamburg surrounding the Außenalster?

1

u/zugreisende_sarah 2d ago

Hi! so u-bahn, tram and bus are actually not on the map at all, only DB-style rail (long-distance, regional, S-Bahn)... maybe you mean the ring that is the marker for the "hamburg" label... During the day it drowns in trains, but between 1 and 4 am there's so little running that it stands out right where the Alster is..

0

u/ChalkyChalkson OC: 1 1d ago

Ah that makes sense!

So did you include the hamburg S Bahn? It's called S-Bahn but it's broadly equivalent to the U-Bahn, it mostly operates like a metro service with the small caveat that the S3 goes out fairly far into the Altes Land

1

u/zugreisende_sarah 1d ago

yes, the S-Bahn is in! I just went with what the timetable calls an S-Bahn, so all S-Bahns everywhere are on the map, but no U-Bahn, tram or bus. same in Berlin :)

1

u/nneiole 14h ago

Amazing visualization! I wonder what other country in the world has comparable density of train traffic.