-
Notifications
You must be signed in to change notification settings - Fork 2
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
First draft of prediction type #1
Conversation
I understand the purpose of REALTIME and IMPROVED_SCHEDULE. But I'm not clear on IMPRECISE_REALTIME. I don't think Swiftly currently has a way of detecting lost GPS. Can you try to further explain this value? Also, I think it would be good to explain in the documentation that IMPROVED_SCHEDULE is often used when the predictions depend on driver behavior, where it is assumed that the driver will start the trip when scheduled. It is to indicate that accuracy of the predictions is not as good since the driver has not yet left the terminal. |
Hi @mike-swiftly , The case of IMPRECISE_REALTIME happens when a bus that was tracked and was providing predictions with REALTIME goes dark, meaning that it looses its GPS or the connectivity and thus it is impossible to track it. The real time prediction that the server provides is still better than the scheduled data that was in the static GTFS. It basically means that we provide a better prediction than the static but not as precise as when the value is REALTIME. As for the IMPROVED_SCHEDULE, there is also another use case. Some AVL providers have two sorts of static data:
|
@@ -221,6 +221,28 @@ message TripUpdate { | |||
optional ScheduleRelationship schedule_relationship = 5 | |||
[default = SCHEDULED]; | |||
|
|||
// Experimental feild, subject to change |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*field
Reading a Pull Request is always hard, because it's the answer to a question, and we have to guess what was the question. So. Here. What are the cases you want to address? I guess it's something like:
A and E are already supported, and you want to address the cases B, C and D. => Is this the goal of the PR? Am I missing something? Regarding D is tricky. You want to call it |
The base usecase is that producer wants to control if the app will show a real time icon or not. For this usecase we could have done only |
@mike-swiftly @LeoFrachet Updated with comments and clarifications. |
Not in this PR but maybe could be done at the same time: deprecation of uncertainty.
An alternative would be to extend
ScheduleRelationship
inStopTimeUpdate
but that means havingSCHEDULED
(which means real time data) andIMPRECISE_REALTIME
(real time but imprecise) in the same enum but that seemed not clear enough.We put this value on
StopTimeUpdate
because the value could potentially change per stop even if most of the time the value will be the same for allStopTimeUpdate
in the sameTripUpdate
.