Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skipped timepoint predictions, improvements to Ridership #19

Merged
merged 7 commits into from
Feb 12, 2019

Conversation

NJBL
Copy link
Contributor

@NJBL NJBL commented Feb 11, 2019

Added functionality: Handling StopTimeUpdates that have Skipped Schedule Relationships.
Also, handling TripUpdates that have Cancelled Scheduled Relationships more effectively.

Changed the response for Ridership Information to be clearer. Included service date filtering option when using the Ridership Service.

@NJBL NJBL requested a review from sheldonabrown February 11, 2019 19:48
@barbeau
Copy link
Contributor

barbeau commented Feb 11, 2019

This is a timely pull request :).

There is a discussion on the google/transit repo debating whether consumers should propagate SKIPPED schedule relationships down the trip if there aren't any more StopTimeUpdates after the SKIPPED one.

Two questions:

  1. What's the implemented behavior for OBA?
  2. Is the implemented behavior based on any existing real-time feeds?

@sheldonabrown
Copy link
Member

Hi Sean,

  1. This implementation applies SKIPPED only per stop update. Otherwise it allows the default behaviour of propagating trip arrival times across the trip and block. The special case that you are describing -- that of a SKIPPED status and no further updates -- has not been observed in the implementing feed. I will watch for it however.
  2. This implementation will be tested against a future real-time feed for Community Transit in Seattle, WA. Its is not public yet, but should be shortly.

@sheldonabrown sheldonabrown merged commit 281ca42 into unified Feb 12, 2019
@barbeau
Copy link
Contributor

barbeau commented Feb 14, 2019

Thanks @sheldonabrown!

So if you had the following Stops with real-time info:

  • A - delay=3
  • B - SKIPPED

...and a Stop C following this, but with no real-time data, would delay=3 from Stop A get propagated to Stop C? Or does Stop C have no real-time info in OBA?

@barbeau
Copy link
Contributor

barbeau commented Feb 19, 2019

@sheldonabrown Friendly ping on above question on whether delays are propagated through SKIPPED stops - I'd like to get this clarified in the spec.

@barbeau
Copy link
Contributor

barbeau commented Feb 25, 2019

@NJBL or @sheldonabrown Could you please clarify on whether delays are propagated through SKIPPED stops? I'd like to call for a vote on GTFS-realtime spec to clarify that delays are propagated through SKIPPED stops (matches Google implementation), but wanted to confirm OBA behavior first.


if (tpr.isSkipped()) {
_log.debug("Skipped Stop: " + instance.getStop().getId().getId());
break;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@NJBL @sheldonabrown I just called for a vote on google/transit#139, which is an official proposal for the GTFS-realtime spec that clarifies that delays should be propagated over SKIPPED stops, which is Google's implementation. It's been a long time since I've dived into this code in OBA, but I think this may need to be changed to a continue instead of break (and counters properly incremented) to propagate delays past the SKIPPED stop? IIRC this break would result in scheduled times showing up after the SKIPPED stop (i.e., no real-time info).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@NJBL @sheldonabrown google/transit#139 is now approved and part of the GTFS-rt spec. Can you please confirm whether OBA follows this behavior or not?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants