- [Web + Android] Amtracker
- 03 May 2017 11:15:39 am
- Last edited by KermMartian on 19 Jan 2018 07:00:46 pm; edited 2 times in total
Many of you know that I like and ride Amtrak a great deal. I find it to be by far the most comfortable and pleasant way to travel, from the legroom to the scenery to the ease of just walking to my local Amtrak station and getting on the train. Unfortunately, one of the most frustrating parts of traveling on Amtrak is that they largely run on other people's tracks, and even when they're running on their own tracks in the Northeast Corridor, they sharing those tracks with other railroads. The upshot is that Amtrak trains are frequently delayed, but Amtrak routinely underestimates those delays and/or doesn't announce them until it's almost the train's scheduled departure time, even if those delays could have been anticipated simply from the location of the train. Amtrak provides a very rough set of data that clever enthusiasts have scraped into an online map via a scraping API, but train locations are only update every 7-10 minutes on this map, and there's currently no easy way to get an estimate of whether your train will be late without consulting that map.
A few months ago, I started formulating an idea to create an app that will make it easy for Amtrak passengers to see when their trains will actually arrive. I'm envisioning engineering this in a couple of steps:
So far, I've been gradually working on (1). I have built an Android app that can track your train's location using the on-board API, or simply track your phone's location via GPS when you're not connected to Amtrak WiFi. I'll gradually work on making this spiffier, including letting you set your destination and reminding you to connect to Amtrak WiFi before unleashing this on the general public. Do you take Amtrak? Would something like this help you? Let me know how I can develop this to be the most useful possible tool to make train travel even better.
A few months ago, I started formulating an idea to create an app that will make it easy for Amtrak passengers to see when their trains will actually arrive. I'm envisioning engineering this in a couple of steps:
- First, take advantage of the fact that when you're riding Amtrak and you're connected to your train's WiFi, there's a JSON API available that will give you your train's location and estimated station arrivals at 10 second intervals. With this data, I can create a simple app that shows you where your train is and when you're likely to get to your destination.
- Using the existing (coarse) train location APIs, use historical data and simple machine learning to estimate when all trains will actually get to their destination.
- Have each instance of the app run by a current passenger send finer-grained location data to a server that will allow it to make more precise estimates of train arrival.
- Scrape relevant keywords from news and social media to try to correlate news events with train delays to notice and predict otherwise exceptional and unpredictable delays.
So far, I've been gradually working on (1). I have built an Android app that can track your train's location using the on-board API, or simply track your phone's location via GPS when you're not connected to Amtrak WiFi. I'll gradually work on making this spiffier, including letting you set your destination and reminding you to connect to Amtrak WiFi before unleashing this on the general public. Do you take Amtrak? Would something like this help you? Let me know how I can develop this to be the most useful possible tool to make train travel even better.
![](https://www.cemetech.net/img/projects/amtrakker/20170501-1.jpg)
![](https://www.cemetech.net/img/projects/amtrakker/20170501-2.jpg)
![](https://www.cemetech.net/img/projects/amtrakker/20170501-3.jpg)