Timetables/Flag Stops

Amtrak Unlimited Discussion Forum

Help Support Amtrak Unlimited Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
No way. I'm designing the whole thing to work from GTFS data. I already know Amtrak generates the GTFS data and gives it to Google. I am hearing that they *should* be releasing it to the usual sites like OpenMobilityData. It just hasn't happened yet... If they don't, the backup is getting the GTFS files by FOIA, which people have done in the past.

Ugh. Family medical stuff has come up. I want to get back to working on this.
Can we get the GTFS data from Google or do they hide it?
 
It is once again possible to download PDF printable timetables for a specific train, route or range of dates. The feature is accessed from the “Schedules” tab of Amtrak.com.

  • On the Amtrak home page, click "Schedules" and enter the desired start and end stations and the date of travel (or range of dates up to a week). Click "Find Trains."
  • The train or trains available for that station pair and date(s) will display
  • Next to the departure date(s) is icon with nine small boxes. Click on that and a choice is offered to print either one train’s schedule (if a train is selected from the list) or the full schedule of all trains. That opens a new bowser tab that shows a PDF timetable with all stops from the selected start to the selected end station that can be downloaded or printed.
The good:
  • Very clean layout
  • Train amenities shown when a single-train timetable is printed
  • Accurate for the date selected (for example: timetable for overnight trains departing March 12 show adjusted times after daylight time kicks in at 2am on March 13).
  • Days of operation shown (even when single date selected)
  • Thruway bus service shown when start or end station requires (for example: service to or from San Francisco).
The not so good
  • Station services such as checked baggage not shown
  • No mileages
  • Thruway bus availability not shown unless selected end points require it
  • The feature is not obvious on the schedules page
It’s an improvement over nothing, but still lacking compared to the prior route and system timetables.
Thanks for the information about what Amtrak will allow us to have. You are right that it is not much. But it is better than nothing and it is important to know how to get it. I never would have figured it out on my own.
 
Fortunately for me I have at least 2 route specific timetables for every LD train that I collected before they were scrapped. That and the ones now proffered are a good guides, but the Crescent's awful changes takes a lot of mental math,
 
The current rendition of the Amtrak Printed Timetable is a garbage toy that is mostly unusable. I would have flunked my First Year Computer Programming student if they brought this to me as their project report. The problem is more with the basic output from the Schedule package than with the rendition package, though the latter is not particularly good either. But it is mostly operating, or trying to operate in a GIGO mode for most examples that I threw at it. The output from Schedule often was five pages of multiple leg choices that were marked canceled followed by one valid single segment through train.
 
Thanks for the update! Yeah - Amtrak's website won't show whatever tickets are booked directly through Megabus. Were you at least able to get a seat pair to yourself or did you have a seatmate?
Yes there were enough seats for everyone to have a pair.

Interesting enough, I took the Amtrak thruway from Saint Paul to Milwaukee today again (I do this frequently and am mourning the loss of the train) and there were only 4 other people on the bus. No megabus tickets this time. Much more pleasant experience, although I would take the train over this in a heartbeat, if only for saving 2+ hours.
 
I’m going to take any return of schedules as good news. The elimination of them goes in the category of sheer idiocy. Now, in the future, let’s hope they bring back route guides and some kind of printed schedules. But this is a good first step.
 
The timetables, as is, may be fine for long distance trains but is useless for researching the large number of trains in the East. There is no easy way to compare train schedules to see what route is best. It does bring up a list of all ways to get between 2 cities but it would be nice to select all and see side by side schedules.
 
The timetables, as is, may be fine for long distance trains but is useless for researching the large number of trains in the East. There is no easy way to compare train schedules to see what route is best. It does bring up a list of all ways to get between 2 cities but it would be nice to select all and see side by side schedules.

If there was a National Timetable, as there once was, all of the trains in the East would be there and very easy to compare routes and the trains' schedules.
 
My timetable generating program is making solid progress. Needs several more modules, plus some finicky tweaks. (I'm working on checked baggage and station services: I know I can do these, I have the data, it's just a matter of parsing it. And of getting Amtrak to fix the cases where their station services data is wrong! I'll also need to write some "find all trains from A to B" modules to generate some of the busier timetables, since the design depends on having a list of the trains for a given timetable. But that's not hard with GTFS; styling the HTML was substantially harder.)

And of course I still need Amtrak to release the GTFS files so the timetables will actually be up to date. (I'm not putting a date on the timetable until it's a real timetable!)

But it's looking pretty... this is autogenerated (from old GTFS data and a one-liner template). I show arrival and departure times only for stations where the dwell is 5 minutes or more (configurable). This was specifically optimized to be as small as possible while being readable (turns out timetables are typically in a very small font to cram information in); I probably won't make the final ones all this small but I wanted to see what I could do.

I admit to being so obsessive that I drew the baggage icon myself.

I can't make Amtrak produce timetables, but I can make my own "Official Guide to the Railways". If anyone can put more pressure on Amtrak to release the GTFS, I can make a pretty nice set of timetables.
 

Attachments

  • tt_cono_old_times.pdf
    34.2 KB · Views: 68
Can we get the GTFS data from Google or do they hide it?
We can't. We just need Amtrak to publish the same files they're emailing to Google. Like practically every other transit agency in the world does. There doesn't seem to be any actual obstacle to doing so other than bureaucratic intransigence and/or incompetence. I've been trying to find the right pressure point to get them to just DO it.
 
My timetable generating program is making solid progress. Needs several more modules, plus some finicky tweaks. (I'm working on checked baggage and station services: I know I can do these, I have the data, it's just a matter of parsing it. And of getting Amtrak to fix the cases where their station services data is wrong! I'll also need to write some "find all trains from A to B" modules to generate some of the busier timetables, since the design depends on having a list of the trains for a given timetable. But that's not hard with GTFS; styling the HTML was substantially harder.)

And of course I still need Amtrak to release the GTFS files so the timetables will actually be up to date. (I'm not putting a date on the timetable until it's a real timetable!)

But it's looking pretty... this is autogenerated (from old GTFS data and a one-liner template). I show arrival and departure times only for stations where the dwell is 5 minutes or more (configurable). This was specifically optimized to be as small as possible while being readable (turns out timetables are typically in a very small font to cram information in); I probably won't make the final ones all this small but I wanted to see what I could do.

I admit to being so obsessive that I drew the baggage icon myself.

I can't make Amtrak produce timetables, but I can make my own "Official Guide to the Railways". If anyone can put more pressure on Amtrak to release the GTFS, I can make a pretty nice set of timetables.
Wow, that looks amazing! You've done an incredible job given your limited time and health challenges at home, too (I hope your partner is feeling much better now). Can you contact RPA to see if they have a way to formally present this to Amtrak? I have emailed RPA to update a TT or two on their page when I saw it was out of date.

I know a guy that worked at Amtrak who was trying to get the GTFS data released but he ended up quitting and going back to WMATA. Apparently Amtrak has some internal issues, especially the IT department, as we all know and he could not deal with the incompetent/apathetic work culture. I'll look through my contacts to see if I have any other business cards laying around that might come in handy to make a contact. Otherwise we ask Congress to micromanage them once again? They got authorized that historical-sized chunk of money so this shouldn't be a tall order.
 
My timetable generating program is making solid progress. Needs several more modules, plus some finicky tweaks. (I'm working on checked baggage and station services: I know I can do these, I have the data, it's just a matter of parsing it. And of getting Amtrak to fix the cases where their station services data is wrong! I'll also need to write some "find all trains from A to B" modules to generate some of the busier timetables, since the design depends on having a list of the trains for a given timetable. But that's not hard with GTFS; styling the HTML was substantially harder.)

And of course I still need Amtrak to release the GTFS files so the timetables will actually be up to date. (I'm not putting a date on the timetable until it's a real timetable!)

But it's looking pretty... this is autogenerated (from old GTFS data and a one-liner template). I show arrival and departure times only for stations where the dwell is 5 minutes or more (configurable). This was specifically optimized to be as small as possible while being readable (turns out timetables are typically in a very small font to cram information in); I probably won't make the final ones all this small but I wanted to see what I could do.

I admit to being so obsessive that I drew the baggage icon myself.

I can't make Amtrak produce timetables, but I can make my own "Official Guide to the Railways". If anyone can put more pressure on Amtrak to release the GTFS, I can make a pretty nice set of timetables.

This is beyond fantastic! Pulling this off would make you an authentic hero to railfans and the general Amtrak riding public.
 
My timetable generating program is making solid progress. Needs several more modules, plus some finicky tweaks. (I'm working on checked baggage and station services: I know I can do these, I have the data, it's just a matter of parsing it. And of getting Amtrak to fix the cases where their station services data is wrong! I'll also need to write some "find all trains from A to B" modules to generate some of the busier timetables, since the design depends on having a list of the trains for a given timetable. But that's not hard with GTFS; styling the HTML was substantially harder.)

And of course I still need Amtrak to release the GTFS files so the timetables will actually be up to date. (I'm not putting a date on the timetable until it's a real timetable!)

But it's looking pretty... this is autogenerated (from old GTFS data and a one-liner template). I show arrival and departure times only for stations where the dwell is 5 minutes or more (configurable). This was specifically optimized to be as small as possible while being readable (turns out timetables are typically in a very small font to cram information in); I probably won't make the final ones all this small but I wanted to see what I could do.

I admit to being so obsessive that I drew the baggage icon myself.

I can't make Amtrak produce timetables, but I can make my own "Official Guide to the Railways". If anyone can put more pressure on Amtrak to release the GTFS, I can make a pretty nice set of timetables.

This is beautifully done and, if expanded to other routes, would be so useful to someone like me. Of course, it is just insane that Amtrak cannot produce something so basic to inform the traveling public about where its trains go and when. I look forward to more installments when you are able to produce them.
 
Looks good. You're going to need a way to show the time zones, though.
Yeah, that's one of the many issues I still have to work on.

Since it *is* possible to simply look up cities and find out what time zone they are in, and a lot of people know that Chicago is Central and New York is Eastern, it hasn't been my top priority. The time zone data is in the GTFS data.

The way it was displayed in the old Amtrak timetables is certainly possible, but will require some tricky HTML and is a bit nonobvious to the viewer. I think we can do better.

Do you have an opinion on where to display the time zone? City cell, time cell? What part of the cell? Column of its own?

It's easy enough to display the timezone in every row. Picking it out so it's only shown at the stations adjacent to the time zone change is harder, though I think I just figured out how to do it while I was typing; I need to do a pre-pass across the stations before the main timetable filling routine. (I'm already doing another pre-pass to find the dwell times. I think I'm going to have to add another one for another reason.)

----

In case people are curious, here's some of my rather long to-do list for timetable_kit (and mind you, I'm going to be interrupted by needing to do income taxes soon):

Top priority: I'm going to get the baggage symbol placed where it belongs, which is very important. I can extract which stations have checked baggage from Amtrak's station DB (available on the web in JSON), but I have to clean that code up. At the moment I need to maintain a list of which trains have a baggage car separately, but I think that's probably manageable, though I probably have to special-case 448 & 449.

I also have to get the implementation for less-than-daily information working properly, important right now; I had that working in an earlier version, so that should be a fairly simple matter of forward-porting.

I'm also going to get a row showing the train names implemented; that one should be easy.

Those are fairly small projects.

My next stages of major work are actually some internal code cleanup. There's some very ugly string-patching stuff in the presentation code which I'm hoping to simplify and make more maintainable with jinja2 templates. My plans for this aren't pinned down yet; I've got some prototyping and design work to do. Whatever I do has to be better than the current very long list of string concatenations and individual small file reads I'm currently doing.

A thornier problem is that I don't have a good approach for loading resource files (templates, "specs", fragments) from either the module itself or a user directory (which should override module defaults); I'm currently just doing "run it all out of the program directory and hardcode the file names". I've been trying to find out if there's a standard or preferred method of doing this in Python, but I'm not sure yet.

If anyone here knows Python and knows the answer to this, let me know. (I taught myself Python to write timetable_kit.)

I also have to patch the open-source font I'm using; I'm currently using a very hacky scheme to get the numbers in the times lined up by boxing them individually in HTML; it makes it difficult to change the font size. I know how to amend the font to provide tabular-nums which should allow a cleaner implementation; this is straightforward but will take quite a bit of tedious repetitive work.

These three changes together should allow for easier changes of font, font size, symbol choices, colors, and page layout changes (like key to the right of the timetable, two related timetables on one page, etc.)

What I have right now works well if you know which train numbers should be listed in the timetable, in what order, which have to be specified in a "spec". I am now certain that that can't be fully automated (it's an artistic decision), but I also need to write some more code for prototyping these (code to extract all the trains from NY to DC and put them in order, for instance) even though it will need manual tweaks before making it a "spec". I don't think that'll be difficult since I've got the right framework, and I already have some prototype functions, but it'll involve some code reorg.

There's more; the very tricky problem of showing connecting trains on a single timetable has been on my mind and I've got a couple of approaches. That one might not get done quickly though. (The California Coastal Services timetable is my holy grail of timetables; I'm not sure I can replicate that one but I'm gonna try.)

In the longer run, I'm going to try to separate out the Amtrak-specific stuff so this can be used for other agencies' timetables too. The underlying architecture also makes it theoretically possible to do something like a merged Amtrak / Metro-North or Amtrak/Metrolink/Coaster timetable, though it would require another layer of coding to pull out the relevant data and merge it. Right now it's entirely Amtrak-dependent (I'd need totally separate code to extract station information for a different agency).
-----

I can't really use any of this for real timetables until I get current Amtrak GTFS though. :sigh:

The main reason I'm not producing more installments is that I don't have accurate data, so these are pretty but they're no good as timetables without the GTFS data.

That's why there's just the one sample. (I actually have test runs on a bunch of other timetables in my working directory.)

When I get the data, I'll start putting out timetables, probably through RPA.
 
My timetable generating program is making solid progress. Needs several more modules, plus some finicky tweaks. (I'm working on checked baggage and station services: I know I can do these, I have the data, it's just a matter of parsing it. And of getting Amtrak to fix the cases where their station services data is wrong! I'll also need to write some "find all trains from A to B" modules to generate some of the busier timetables, since the design depends on having a list of the trains for a given timetable. But that's not hard with GTFS; styling the HTML was substantially harder.)

And of course I still need Amtrak to release the GTFS files so the timetables will actually be up to date. (I'm not putting a date on the timetable until it's a real timetable!)

But it's looking pretty... this is autogenerated (from old GTFS data and a one-liner template). I show arrival and departure times only for stations where the dwell is 5 minutes or more (configurable). This was specifically optimized to be as small as possible while being readable (turns out timetables are typically in a very small font to cram information in); I probably won't make the final ones all this small but I wanted to see what I could do.

I admit to being so obsessive that I drew the baggage icon myself.

I can't make Amtrak produce timetables, but I can make my own "Official Guide to the Railways". If anyone can put more pressure on Amtrak to release the GTFS, I can make a pretty nice set of timetables.
What you’re doing is awesome. Thank you.
 
What Amtrak management doesn't realize is that by publishing the GTFS data, a lot of this work (timetables, maps, alerts, apps, ...) can be outsourced to us willing outsiders, and they don't have to pay for it anymore. On the other hand, Amtrak's IT department probably does realize it and therefore will resist publishing it to the bitter end.

jb
 
What Amtrak management doesn't realize is that by publishing the GTFS data, a lot of this work (timetables, maps, alerts, apps, ...) can be outsourced to us willing outsiders, and they don't have to pay for it anymore. On the other hand, Amtrak's IT department probably does realize it and therefore will resist publishing it to the bitter end.

jb
Or they are just trying to figure out what and how 😬
 
Amtrak has released GTFS data. (Woohoo!)

Discovered at transit.land:
https://www.transit.land/feeds/f-9-amtrak~amtrakcalifornia~amtrakcharteredvehicle
And the canonical source:
https://content.amtrak.com/content/gtfs/GTFS.zip
There are still a few problems with it, so it'll need some manual massaging. My framework is capable of dealing with that.

Unfortunately, I am about to have to dive into doing taxes.

So although I'd love to get timetable_kit release-ready and start making timetables, don't expect any proper timetables out of me until April 15th is over; I probably won't have time to work on it for most of the next month. Timetable_kit is looking a lot cleaner and it might be possible for others to use it at this point, but it is still going to need some major rework and its interfaces remain completely in flux.
 
Amtrak has released GTFS data. (Woohoo!)

Discovered at transit.land:
https://www.transit.land/feeds/f-9-amtrak~amtrakcalifornia~amtrakcharteredvehicle
And the canonical source:
https://content.amtrak.com/content/gtfs/GTFS.zip
There are still a few problems with it, so it'll need some manual massaging. My framework is capable of dealing with that.

Unfortunately, I am about to have to dive into doing taxes.

So although I'd love to get timetable_kit release-ready and start making timetables, don't expect any proper timetables out of me until April 15th is over; I probably won't have time to work on it for most of the next month. Timetable_kit is looking a lot cleaner and it might be possible for others to use it at this point, but it is still going to need some major rework and its interfaces remain completely in flux.
Thanks for posting the link to the data. As a former DB programmer, it's fun to poke around in there.
 
It's possible to get a route's schedule, without mileage, on the Amtrak website. Enter departure, arrival and date in the booking fields, then on the next screen click on "Trip Details." This gives the latest information, including layovers ("Fresh Air stops"), which sometimes are not shown in the historical timetables.
 
Back
Top