(This is an auto copy over from my old blog at Joe8bit.com, some links may be broken)
An interactive data experiment with Angular, Mapbox and GeoJson
Growing up around Kentish Town there were always rumours about an old abandoned tube station. It was variously claimed people had held raves down there in the 80’s; that it was used as some kind of bizarre goth sex dungeon; or even, that it was the place ‘they’ buried that kid who just left school suddenly. While none of these were true (except we still haven’t found little Timmy, coincidence, I think not!) the truth was it self like part of a (quite literally) forgotten underground. A part of London that existed, and yet very people knew anything about, save the innuendo of bored adolescents.
Only when I grew up and Google made researching these things easy did I discover that the station did actually exist: it was South Kentish Town and that it was every bit as real as all out stupid stories had been imaginary.
In hindsight, it was obvious: the tiling, the colour, the second exit that stands just behind where this photo was taken that leads down to nothing.
Not only are there dozens of these stations dotted around London and outside it, there are entire lines that have been closed that lead dozens of miles out of London. In my search to get more information about this subject, I came across this wonderfully 1990’s website where someone has loving indulged and curated a very good list of the stations, when this was combined with another fantastic Wikipedia resource I knew I had the beginnings of a cool data project.
Over the course of a couple weekends I put it together using AngularJS, MapBox and and some GeoJSON. However, I ran into a problem, what would I use to indicate the tube lines? I’d need a geographically accurate map of London’s Tube network. Uh oh.
Only when I found this Google map did the project come to completion. One of the issues I had, and that I found a little perplexing, was the way that MapBox rendered the default KML output from Google Maps, it never rendered the Polyline output right and never seemd to respect the styling data. What I really didn’t want to do was spend hours/days/months hand converting KML to GeoJSON, there are lots of tools for automating this process but none of them supported the conversion of the (god awful) XML based styling syntax of KML layers to the (just a little but less awful) GeoJSON styling metadata, but having tried a couple of tools I ended up using MapBox’s own toGeoJson which while it didn’t solve the styling problem it did produce very clean GeoJSON output that I would then (ugh) manually annotate with the correctly styling information.
As with most experiments, this one is available and open sourced (under the MIT license) on Github. If you run into any issues with the little app, I’d really appreciate it if you would reach out Twitter or file a Github issue!