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

New Rule Proposal: Individual scheduled trip_id not accounted for in Trip Updates feed #157

Open
evansiroky opened this issue Aug 3, 2022 · 3 comments
Labels
GTFS(-rt) best practice clarification GTFS RT Best Practices Used for issues or pull requests related to GTFS RT Best Practices new rule

Comments

@evansiroky
Copy link

Summary:

An error should be raised whenever an individual Trip that should be in service at the time a Trip Update feed was downloaded is not accounted for in any TripUpdate record in the Trip Update feed.

Steps to reproduce:

Given a TripUpdate dataset
and its associated GTFS Schedule dataset
When when the validator has compiled a list of all trips that should be currently in service
and has scanned through all TripUpdate entities in a Trip Updates feed
and does not find an individual Trip that was expected to be in service being accounted for in any TripUpdate record
Then the validator should flag this respective trip_id in question for not having any corresponding TripUpdate entity describing its realtime status in the Trip Update feed.

Expected behavior:

The GTFS-Realtime Best Practices state:

Feeds should cover the vast majority of trips included in the companion static GTFS dataset. In particular, it should include data for high-density and high-traffic city areas and busy routes.

The GTFS Validator should flag all trip_ids individually that should have been accounted for at the time that the trip should have been in service.

Observed behavior:

An error or warning is not raised for this problem at this time.

etc

This issue seeks to add more detailed scope to #119.

@holly-g holly-g moved this from New Requests to Prioritized Backlog (sorted) in Data Services: External Contributions Aug 16, 2022
@holly-g holly-g moved this from Prioritized Backlog (sorted) to Next Sprint in Data Services: External Contributions Aug 25, 2022
@holly-g holly-g moved this from Next Sprint to Prioritized Backlog (sorted) in Data Services: External Contributions Aug 25, 2022
@holly-g holly-g moved this from Prioritized Backlog (sorted) to Blocked in Data Services: External Contributions Oct 5, 2022
@holly-g holly-g moved this from Blocked to Prioritized Backlog (sorted) in Data Services: External Contributions Dec 8, 2022
@holly-g holly-g moved this from Prioritized Backlog (sorted) to Next Sprint in Data Services: External Contributions Feb 2, 2023
@e-lo e-lo added new rule GTFS RT Best Practices Used for issues or pull requests related to GTFS RT Best Practices GTFS(-rt) best practice clarification labels Feb 6, 2023
@briandonahue
Copy link

Is there an established method for determining if a trip should be currently in service? If no, would the correct approach be to see if the current time is between the first and last stop times for a trip?

@evansiroky
Copy link
Author

would the correct approach be to see if the current time is between the first and last stop times for a trip?

Yes, this is what should be done, but the calendar files also need to be taken into account to make sure that the trip is supposed to be operating on the given day in question.

@briandonahue
Copy link

In reviewing this with @bdferris-v2, it seems it could be a fairly complicated implementation. Currently there is no easy way to find a list of trips that should be active from the static feed data. We would have to add code to build a more structured list of trips by service date, start time, end time, (and account for trips that span days/midnight) that could be more easily indexed for a real-time validation. Additionally he mentioned complications like the way Daylight Savings Time is handled in GTFS data (didn’t get into details here) as well as trips in blocks that can have cascading delays (a late trip can make the next trip in the block late).

This seems like it could be a significant effort that maybe should be broken into smaller chunks? Open to suggestions!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GTFS(-rt) best practice clarification GTFS RT Best Practices Used for issues or pull requests related to GTFS RT Best Practices new rule
Projects
None yet
Development

No branches or pull requests

3 participants