Subway GTFS-rt: use of TripDescriptor.NyctTripDescriptor.is_assigned field

91 views
Skip to first unread message

Raschke, Kurt

unread,
Jan 13, 2022, 10:58:37 AMJan 13
to mtadeveloperresources

Dear Developer,

 

We would like to remind developers of the use of the TripDescriptor.NyctTripDescriptor.is_assigned field in NYCT’s subway GTFS-realtime feeds.  As described in our GTFS-realtime Reference for the New York City Subway, the field is used as follows:

 

Train Assignment is a function of the Automatic Train Supervision (ATS) office system used by NYCT Rail Operations to monitor and track train movements. ATS provides the ability to “assign” the nyct_train_id attribute when a physical train is at its origin terminal. These assigned trips have the is_assigned field set in the TripDescriptor. When a train is at a terminal but has not been given a work program it is declared unassigned and is tagged as such. Unassigned trains can be moved to a storage location or assigned a nyct_train_id when a determination for service is made.

 

In other words, it is normal and expected for trips which are still at their origin terminal to have their is_assigned attribute set to false.  However, once a trip’s origin departure time (that is, the departure time of the first StopTimeUpdate) has passed, if the trip is still unassigned (that is, the TripDescriptor.is_assigned attribute remains false), that is a strong signal that there may not be a physical train associated with the trip.  Developers of passenger-facing applications may wish to identify these trips in some way (that is, to flag that the trip may not be operating), or suppress the arrival entirely. 

 

Kurt Raschke
NYCT | Subways | Technology

 

Confidentiality Note: This e-mail, and any attachment to it, may contain privileged and confidential information and is intended for the use of the individual(s) or entity named on the e-mail. Unauthorized disclosure of this message is prohibited. If you have received this message in error, please notify the sender immediately by return e-mail and destroy this message and all copies thereof, including all attachments.

Underway

unread,
Jan 14, 2022, 1:44:12 AMJan 14
to mtadevelop...@googlegroups.com
Hello Kurt, 

Speaking of NyctTripDescriptor, is there an ID for a train that doesn't change for the duration of the trip? We've been noticing that the trip ID seems to change sometimes in the middle of a trip. Would the nyct_train_id be guaranteed to be constant?


--
You received this message because you are subscribed to the Google Groups "mtadeveloperresources" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mtadeveloperreso...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mtadeveloperresources/MN2PR09MB5738A0CF169675050A377024E6539%40MN2PR09MB5738.namprd09.prod.outlook.com.

Raschke, Kurt

unread,
Jan 14, 2022, 3:37:31 PMJan 14
to mtadevelop...@googlegroups.com

The short answer is “no”, unfortunately – this is an element of how subway bookkeeping works.  Whenever a trip is re-routed, short-turned, directed to skip stops or run express, etc., the train’s “call letters” (what is in the nyct_train_id field) will change.  Because of how the GTFS trip_id is derived, it may also change if the path changes during the course of the trip (that is, if the train is re-routed).

 

Kurt Raschke

NYCT | Subways | Technology

 

Underway

unread,
Jan 14, 2022, 3:52:35 PMJan 14
to mtadeveloperresources
Would the timestamp at the beginning of the trip_id remain constant, at least? For example, there's a 2 train active right now with trip_id "092150_2..S01R". If the path changes to "03R", for example sake, would the new trip_id be "092150_2..S03R"? If so, that would be good news: we could uniquely identify a train with its starting timestamp and route.

Thanks for the quick response!

Raschke, Kurt

unread,
Jan 18, 2022, 9:51:05 AMJan 18
to mtadevelop...@googlegroups.com

I can’t guarantee that this will hold true in all operating scenarios – but yes, there are situations where the origin time, route, and direction of travel will remain constant but the path will change to a new value.

Juan

unread,
Mar 30, 2022, 8:40:56 AMMar 30
to mtadeveloperresources
Hi MTA folks,

We notice that the flag is_assigned is sometimes not present. What would be the assumption in that case?
1. There is no train assigned hence the trip is likely to be cancelled if its starting time is in the past.
2. There is no information so nothing should be assumed and it is likely the trip is still running.

Thanks in advance
Best

Reply all
Reply to author
Forward
0 new messages