Interactive London Underground Travel Time Map

February 10, 2016

Click here to view the map in full screen. Note: The map just isn’t going to work well on mobile. Sorry!

About the Map

I created this map as a first real challenge to test my d3.js skills. I think it can be called a success - certainly it could do with quite a vast amount of additional polish, but I think the intent has been fully realised. Plus, it looks cool, and in the end that’s all that matters. It’s inspired by an old Java applet I saw online made by Tom Carden.

To use the map, you double click on any station on the map, or single-click any station in the table, to select that station. All other stations will then move so that their direction from the selected station is preserved, but moves closer to or further away based on how long it would take to get there! The rings that appear are at 5 minute intervals.

The time taken is calculated using average journey times from TfL with an additional 5 minutes for each line change. In my experience it is reasonably accurate.

The map is meant primarily as a visualisation tool - I don’t claim that it works very well as a route planner! I’m sure you will find plenty of sub-optimal route choices here. Additionally, bear in mind that it only considers tube-only journeys, so journeys like Bank - Monument show up as a 15 minutes long even though in reality its just a few minutes’ walk.

Interesting observations

Here are some of my favourites:

  • Any of the end stations
  • Dollis Hill (no one likes that section of the Jubilee line, apparently)
  • West Ruislip (Watch what it does to the Piccaddilly line)
  • Similarly Harrow & Wealdston, the most unexpectedly lonely point on the map
  • Trying to get from Park Royal to Hanger Lane (~2 mins walking; 25 mins tube!)
  • Anywhere on the Piccadilly line west of Green Park to North of Finsbury Park - it says you’re better off switching to the Victoria line, I think this might be true!

Check out the source code

You can view the source code here. Forks and pull requests welcome; I know there is a lot more that could be done with this!

comments powered by Disqus