Sasha's Stuff

Subway-Style Amtrak Map

This is an interactive map displaying every Amtrak train route. When routes overlap, they're shown side-by-side, like on a subway map. You can hover over a route to see its name.

I have a semi-serious goal of riding every mile of Amtrak track in the United States. As part of this, I need to know what routes cover what tracks, so that I know how far a given route will take me.

Amtrak has a map showing the entire Amtrak system, but it only shows the tracks. It also has maps for each individual route, but these maps only show one route at a time. I haven't been able to find a map that shows all Amtrak routes, so I thought I'd make one.

I wanted something that looks like a subway map such that when two or more routes overlap, they’re are shown side-by-side. I was able to get GIS data for the routes from the National Transportation Atlas Database (NTAD). I used the shapely library to do the offsetting of routes. Offsetting resulted in lots of little lines that I had to filter out to remove the visual clutter. The result isn’t perfect, and if you zoom in, you can sometimes still see breaks in the route, especially in areas where many offsets were done, like between NYC and DC. But for my purposes, it works. I'll likely improve it in the future by interpolating between the disconnected line segments resulting from the offsetting.