From time to time we are asked why GPS based mileage for the selected date range exceeds the total sum of trips lengths inside it. Here is the answer.
For GPS tracking devices the system always considers that distance range is based on internal mileage counter of the device. Contrary to popular opinion this value does not depend on the reporting intervals set by user, because it’s updated much more frequently (commonly, each second) by internal device timer.
Let’s now assume Mileage “A” is the value of the device internal counter in START location, and Mileage “B” – the value in FINISH location. The calculation formula is pretty simple and the same for both cases:
- Length of particular trip = Mileage “B” – Mileage “A”
- Total distance traveled for selected date / time range = Mileage “B” – Mileage “A”
When user retrieves track reports, we show both values:
- The sum of lengths of all trips for the selected period – understandable and reliable
- The total distance traveled – raw value, based on GPS odometer
Normally, these two are very close. However, there are two common issues may happen, caused by GPS inaccuracy or lack of the device settings, which can lead to bigger difference in those figures:
- Faulty device mileage count. Some device can accidently get wrong location (far from real or even in the ocean). Then it will influence its internal counter and will have wrong results. Such things may happen, especially with budget devices. On the server side we filter out large inaccuracies, but in some cases it’s impossible to distinct real track points from faulty ones, because they look as “probable”, and we have to accept them for distance calculation.
- “Starts” drawn in the end of the tracks. When a car is parked for a long period of time, GPS module continues to update its position – as set by user (e.g. each 30 seconds). But it’s not quite accurate: some meters to the north-west-south-east all the time and thus we get that internal device counter is bigger than actual sum of the trips lengths. Some GPS trackers can be configured to “freeze” the location while G-sensor does not detect movement (or “ignition” is off, or GPS locations are too close within, e.g. 5 minutes). If it’s possible to configure that, we recommend to use it.
Basically, our suggestion is to rely on “Total trip length” value – it’s close to real for the most cases, while “GPS-based mileage is shown just for user’s information, which we don’t think we are allowed to hide.