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:
|
| optional ScheduleRelationship schedule_relationship = 5 | ||
| [default = SCHEDULED]; | ||
|
|
||
| // Experimental feild, subject to change |
|
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
ScheduleRelationshipinStopTimeUpdatebut 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
StopTimeUpdatebecause the value could potentially change per stop even if most of the time the value will be the same for allStopTimeUpdatein the sameTripUpdate.