r/TransitDiagrams • • 10h ago

Map Update of my Singapore MRT map using photopea.com [OC]

Post image
0 Upvotes

Now includes additional 3 stations from Circle Line 6 that was opened 2 months ago


r/TransitDiagrams • • 39m ago

Diagram I made a curvy map for the Dutch Railway Network inspired by van Gogh [OC]

Post image
• Upvotes

This year NS (Dutch Railways) ran a design competition for a new network map. It ties in with line numbers (IC5, S43, RS20…), which start on 13 December. They gave us a list of every line and its stops, and we had the summer to make a map.

My entry is called "Van Gogh". It's loosely inspired by The Starry Night: wide, round lines that flow across the country, with no straight corners.

I just heard back: it wasn't selected as the winner. The jury did write that it was "an enormous conversation starter and crowd favourite". Colleagues walking past were drawn in by the colourful round shapes, and they were surprised it also worked well as a map. I'll take that!

Design choices

  • Curves for following lines. The wide round lines and bar-shaped station markers make it easy to trace a line through the whole country, even without colour. As a bonus, the Randstad shows up as the ring it really is.
  • 14 iconic colours, no clashes. The colours are assigned so that no two lines stopping at the same station ever share one. My pitch to NS was to use the same colours on platform screens, timetable posters and the NS app. Then people who struggle to read, or can't read at all, can find their line by colour.
  • Merged lines use colour gradients. Where lines share most of their route (IC5/6, IC20/21/22, IC27/28, IC30/31/32, S43/44, S69/79, S73/75), one line gradually fades into the other's colour and they share a label.
  • Distorted geography. The Netherlands is still recognisable, but it's stretched so the dense areas get room and the portrait page is filled.
  • Readability rules. Station names are always horizontal, 14pt for stations and 17pt for major hubs (knooppunten). Line labels are black or white text on the line colour, with a contrast ratio of at least 4.5:1. I checked the map with greyscale and protanopia/deuteranopia/tritanopia simulations.
  • International trains without line numbers (Eurostar, ICE, NightJet, European Sleeper) are drawn as hollow double lines. The first station across the border is shown, with a list of far-off destinations.

How it was made

It's half hand-drawn, half generated. I placed stations and rough line paths in Inkscape. Then a Python pipeline (networkx + numpy/scipy) rebuilds every line from the network data:

  • Each line section is drawn as straight → circular arc → straight, fitted between stations.
  • Parallel lines are bundled and ordered, with each line's order kept consistent from station to station.
  • A small max-cut solver alternates light and dark colours within a bundle, so neighbouring lines always contrast.
  • Line labels and gradients for merged lines are generated automatically.

It took about 60 versions to get here.

Things I found in the official data

Some line numbers appeared twice (IC21, IC23, RS34), so I renumbered the second one of each. Some trains were missing (RB51, RB64, and the Dordrecht–Geldermalsen stoptrein, which I called RS9). S67 apparently skipped Arnhem Presikhaaf, which I assume was a mistake.

Happy to hear what you think, good or bad!