TheTransitClock / transitime

TheTransitClock real-time transit information system
GNU General Public License v3.0
80 stars 30 forks source link

Make TripUpdate.delay optional in GTFS Realtime trip updates feed #92

Closed nselikoff closed 6 years ago

nselikoff commented 6 years ago

When using the GTFS realtime feeds generated by TheTransitClock for integration with Google Transit, we initially received Google's INVALID_TRIP_UPDATE_DELAY_USAGE warning, in the context of the GTFS Realtime trip updates feed. If both TripUpdate.delay and StopTimeUpdate arrival/departure times are specified, this warning from Google will occur, and they will drop the StopTimeUpdate predictions in favor of TripUpdate.delay. Since StopTimeUpdate predictions are higher fidelity (per stop basis not per trip basis), we commented out setting the TripUpdate.delay in our branch:

https://github.com/omnimodal/transitime/blob/2a4960dea4e062aeae87346a81617f19b5eefabf/transitclockApi/src/main/java/org/transitclock/api/gtfsRealtime/GtfsRtTripFeed.java#L157

However, other GTFS Realtime consumers may prefer having TripUpdate.delay available. Thoughts on how to make this optional/configurable @scrudden?

scrudden commented 6 years ago

Hi Nathan,

Would a BooleanConfigValue in the GtfsRtTripFeed class be a simple way of doing this? We could default it to not show delay based on the fact it is an optional/experimental field.

From the GTFS rt spec about delay

This field is still experimental, and subject to change. It may be formally adopted in the future.

Cheers,

Sean.

nselikoff commented 6 years ago

That sounds good @scrudden. Given that it's experimental I think it's fair to not show delay by default, though that could be a breaking change for anyone currently expecting that to be in TheTransitClock's GTFS Realtime Trip Updates feed.

vsperez commented 6 years ago

Hi Sean, Nathan.

Just to have it in mind. As far as I remember OBA uses the delay field.

Regards Vicente

scrudden commented 6 years ago

Hi,

This post on the OneBusAway developers list would indicate it is optional for OneBusAway and that it will be calculated if it is not provided.

https://groups.google.com/d/msg/onebusaway-developers/bWvYOQXHj0s/aBPKy1NLAwAJ

Cheers,

Sean.

On Thu, Aug 9, 2018 at 12:46 AM, vsperez notifications@github.com wrote:

Hi Sean, Nathan.

Just to have it in mind. As far as I remember OBA uses the delay field.

Regards Vicente

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/TheTransitClock/transitime/issues/92#issuecomment-411589800, or mute the thread https://github.com/notifications/unsubscribe-auth/AF56zsDeHzX8QVu3F171bShkLXZeeK_vks5uO3hbgaJpZM4Vw66v .

vsperez commented 6 years ago

Hi, Completely right, my memory betrayed me a little (today finally I found the email) . “you'll need provide a TripUpdate feed, with each trip_update containing at least one stop_time_update with an arrival or departure delay or time.“ Regards, Vicente

barbeau commented 6 years ago

I agree that turning off TripUpdate.delay by default is the right approach.

scrudden commented 6 years ago

Done in this pull request #95