Inspiration
Trains are cool, but sometimes sitting around waiting for a delayed train at a platform sucks because you have no idea where it is - so why not let people look up where their train is, in real-time?
What it does would do
- Let a user track the live location of their train
- Allow a user to see the location of their connecting trains and track multiple trains
- See the status of their train (is it late, early, on time, etc.?)
How we were going to build it
Using the National Rail Open Data APIs, we were going to use the publicly-accessible train scheduling and real-time movement data to determine the live location of every train on the National Rail network.
In order to work out what routes to plot on a map, we were going to incorporate the OpenStreetMaps database to work out where the train tracks physically lie in space.
We were ultimately unable to produce a project suitable to demo.
Challenges we ran into
We're external to the rail industry - locations on the National Rail network are referred to with a variety of different types of identifiers, none of which are easily translatable into a real-world latitude and longitude. If you're operating entirely within the rail industry, then this doesn't pose a problem - but as soon as you try to expand into other areas, like plotting rail locations on maps, it becomes near-impossible to find up-to-date, accurate and definitive information.
We attempted to pivot and use our datasets and code that we'd written to create another, smaller and more limited project but were also unable to due to the same issues.
Accomplishments that we're proud of
- Learning how to use Redis
- Good teamwork and collaboration trying to deal with the unforseen location shenanigans
- Learning how to use the OpenStreetMaps Overpass API and Overpass Query Language
What we learned
That next time, we need to start smaller, plan and research more thoroughly and have firm fallback plans in the event that our plan A doesn't work out.