Naming transfers in OTP

56 views
Skip to first unread message

Thomas Gran

unread,
Apr 22, 2021, 5:43:05 AM4/22/21
to OpenTripPlanner Developers
In the OTP2 internal model we will have 2 types of transfers. I would like to have to different names for these. The background is that I am working to add back support for GTFS transfers.txt and NeTEx Interchanges, and when talking about these I would like to avoid misunderstandings.

Type A, Name: ???
  • Attributes: toStop, (framStop indirectly defined by index), list of AStar edges, pre calculated parameters to speed up routing: distance, constant time used independent of distance.
  • It describe the path from a stop to another stop.
  • class today: org.opentripplanner.model.SimpleTransfer
  • If is constructed from OSM data, GTFS Pathways or even from Transfers.txt(type=2, min_transfer_time).
  • It is used by raptor to generate an “edge” from stop to stop, in the Raptor implementation it is called a TransferPath (similar AccessPath and EgresPath).
  • Name brainstorm: TransferPath, SimpleTransfer, StreetTransfer, TransferToStop
Type B, Name: ???
  • Attributes: guaranteed, stay-seated, priority, (max-wait-time not supported)
  • Rules for transferring between to trips (also stop/route in GTFS, but in this case these could be expanded to trip-to-trip)
  • Gtfs: transfers.txt, NeTEx: Interchange. Please note that there is not a one-one mapping between the specifications and the types in OTP.
  • It is used to find the right place to transfer between two trips (post processing the search result) and during routing to force board a guaranteed transfer. Stay-seated should be treated as if it was one TripPattern.
  • Name brainstorm: TransferConstraints,  TransferRestrictions, TransferRules, Interchange(from Transmodel), TripTransfer, TripTransferRestrictions
I think of these to types as distinct types, where B is not a special case of A. A describe how to get from a stop to another stop - the physical path. In the future we might have several paths between a pair of stops, e.g. one for walk, bike, and/or wheelchair (if they differ).In the transfers.txt Type B allow you to specify transfers between to stops, but in OTP these should be mapped to transfers between to specific trips and stops. Type B do not say anything on how you get from (Trip A, Stop S) to (Trip B, Stop T), it only affect the routing (allows, not allowed, preferred over another).

My best suggestion for now is TransferPath and TransferConstraints. 

My native language is NOT English so help here is appreciated.

Thomas Gran

unread,
Apr 22, 2021, 5:47:52 AM4/22/21
to OpenTripPlanner Developers
The plan is to support GTFS transfers.txt as described in the extension, https://developers.google.com/transit/gtfs/reference/gtfs-extensions.

Thomas 

Thomas Craig

unread,
Apr 23, 2021, 10:32:58 AM4/23/21
to OpenTripPlanner Developers
Coming at this not from a programmer's perspective but a 'plain English' perspective, which has its own issues!

Type A suggestion: PathTransfer, or TransferPath

This is reverse of in Raptor, which maybe is an issue, but maybe is also useful to distinguish them? Reads more like an English-as-first-language speaker would expect, and I do think Path is what sets this type apart. TransferPath would also be fine, it just puts the emphasis on being a path rather than on being a transfer.

Type B suggestion: GuaranteedTransfer, or TripTransfer

"Constraint" and "Restricted" make sense from the software perspective (this transfer is restricted to certain trips) but from the rider's perspective, what's important is that this transfer *will* work, rather than *might* work. Guaranteed gets that across better, and generally I think someone expects a guarantee to have certain conditions (trips). TripTransfer also works, gets across that the transfer is specific to some trips.

Thomas Gran

unread,
Apr 27, 2021, 8:32:21 AM4/27/21
to OpenTripPlanner Developers
Thank you for you input Thomas, I will wait a few days, but if no one else have any other suggestions I will go with your suggestion:

Type A suggestion: PathTransfer
Type B suggestion: GuaranteedTransfer 
Reply all
Reply to author
Forward
0 new messages