When recreating GTFS timetables based on the live location data we needed to find when buses were at individual stops. To do this we rely on the stop_sequence
number rather than individual GPS coordinates (as coordinates alone are hard to reliably use to get the next stop). When we did this we found that some buses seemed to be reporting an old stop_sequence
after a gap in GPS updates e.g. in pseudo data:
Time | stop_sequence | lat | lon |
---|---|---|---|
10:52 | 16 | 53.10000 | -1.50000 |
10:53 | 17 | 53.10010 | -1.50000 |
10:54 | 17 | 53.10020 | -1.50000 |
11:34 | 17 | 53.15000 | -1.50000 |
11:35 | 50 | 53.15010 | -1.50000 |
In this example the bus has a big gap in data and, when it shows up again at 11:34, it initially shows stop_sequence 17 but the GPS coordinates are actually far from stop 17 and actually near to stops 49/50. It looks as though a stale stop_sequence is being given until the second GPS point after a gap.
Is this likely due to incorrect data sent by individual buses or something going wrong within BODS?
You can find more detailed information about this problem in one of our GitHub issues.