How CTA derives its Train Tracker data

Last week, the CTA opened up its Train Tracker API code so outside developers can applications using it.

Train Tracker phone.JPG

(CTA photo)

That's great news. Developers have used the Bus Tracker API to build a number of apps for smartphones and other uses.

But what interested me in the announcement was the explanation of how Train Tracker works.

From the Train Tracker developer site:

How train data gets into our system

Information in the CTA Train Tracker beta comes from data fed to CTA from its rail infrastructure (unlike buses, our current railcar fleet does not have GPS hardware). This data is then processed by software we use to monitor our rail system which also generates the predictions for train arrivals based on recent train travel times from one point to another. (The software is a product called QuicTrak, made by QEI, Inc.)

Prediction data are combined with other data and polished to help present information in the most meaningful way possible.

What the API does

The API makes it easy for developers to get specific, machine-readable information from CTA Train Tracker to incorporate estimated arrivals and location information into innovative apps--mobile, online, or at locations.

Now compare the above explanation with this one given in the press release to announce the launch of Train Tracker in January:

Estimated arrival times are generated through a combination of
scheduling information and data collected by the software that monitors
the signal system to indicate when a portion of track is occupied by a
train. CTA Train Tracker calculates estimated arrival times by first
measuring how long it takes a train to travel a portion of track and
then averaging the times of the last five trains to move across a
portion of track.

The latter makes more sense to me, the layman. You developer geeks get cool geek-speak.


Leave a comment
  • The one thing that wasn't said in either is how a particular run number, or, in the case of a track segment with several lines (such as outer loop) it keeps track of what train is on what line. Apparently that has something to do with "This data is then processed by software we use to monitor our rail system."

  • It might be interesting to note several of the (maybe obvious) caveats in the documentation:

    1. "Predictions may be withheld in circumstances where we expect them to be inaccurate, such as during major work, reroutes or unavoidable service disruptions. Use the Customer Alerts API to determine whether or not an event is affecting service and relay to your end-users when some or all predictions may be affected or unavailable due to an event that affects service." In short, this doesn't tell you that a derailment has halted all service at Clark Jct.

    2. "Unscheduled express runs (where a train runs non-stop from one point on a route to another, such as to space out service following an unavoidable delay) are not expressed in CTA Train Tracker at this time." This doesn't affect the "victim of CTA justice" mentioned last Friday, but certainly those standing on the Bryn Mawr platform.

    3. (Only in the pdf) One an Orange Line train leaves Midway, its destination is Midway, regardless that it has to go around the Loop once; however, there is another field that indicates that it is Loop until it hits Library. So, they have worked that out.

Leave a comment