The 3 most common reasons our customers add road snapping (aka map matching) to their flagship apps include:
This is by no means a comprehensive list.
We’ll look at each of these independently.
1. Professional Looking UX
If your app shows paths to users, overlaid on roads (e.g. transportation app, biking app, running app), and you only use GPS, you will end up with results such as the following. The red line is the Android Fused Location Provider (GPS / best accuracy). The blue line is PathSense TruePath.
This is actual data as collected by the PathSense TruePath demo app, which you can download and test for yourself here:
Clearly the red lines are a mess.
And that’s in clear view of the sky, with no GPS interference. In cities such as San Francisco and New York, tall buildings block and reflect (“multipath”) the GPS signal. In Chicago, the “L” rail system blocks GPS, causing one of the worst GPS-denied scenarios in the world.
Here is actual data from San Francisco:
GPS interference can also be self inflicted. For example, if the user places the phone on the center console, in front of the shift lever, and underneath the infotainment system in the car, the GPS signal can be blocked.
Nobody wants an app that shows paths like that.
2. Correct Mileage Calculation
If your app is calculating mileage travelled (similar to the MileIQ app, or Nike app, for example), but you are using GPS connect-the-dots to determine the path, your calculation is wrong.
Path segments such as this one:
Will occur at least a few times in every significant trip.
If you imagine the red line and blue line as strings, and pull each end, you will visualize that (best case) the red line is a bit longer than the blue. The red line (GPS) will weave back and forth about the actual path, squiggle, and loop (when slowed or stopped), causing a longer path. It will cut corners, causing a shorter path.
One might assume that these effects would cancel each other out, but on average, in clear view of the sky, with optimal placement of the phone, we see GPS connect-the-dots paths overestimating actual mileage traveled by about 8%.
If your app is not “picky” about accurate mileage traveled, 8% overestimation may not cause problems. But if you are, say, a rideshare operator that is calculating fees that you pay to your drivers, 8% over the course of a year can result in a massive overpayment.
One might also assume that rideshare and food delivery companies can simply fudge the numbers downward, but they can’t. Most Gig Economy workers use apps such as MileIQ and Runzheimer for mileage tracking, both to keep track of tax-deductible miles for their tax return, and for audit purposes (to check if they are getting ripped off by their ride share or food delivery service).
In areas with GPS interference, such as cities with tall buildings, GPS can be off by entire city blocks, and the path can be overestimated by 400% or more.
Fitness apps typically overcome this by using GPS speed * time rather than GPS connect-the-dots, but the speed method is still not completely accurate, as GPS speed itself is skewed when there is interference.
3. Location Accuracy
A single GPS point taken in an area with heavy GPS interference / multipath (such as the San Francisco Financial District), with no other reference or means of correction, is almost certain to be inaccurate. In many cases it can be wildly innaccurate. Most of us have seen this phenomenon when hailing an Uber or Lyft in such an urban environment.
But solutions such as PathSense TruePath can use the benefit of path history to make a very accurate prediction of current location.
Here is some actual data comparing PathSense to both iOS (which does map matching if the developer uses Best for Navigation in their app), and Android.
Zooming in a bit, you can see that the iOS and Android path history will not be at all helpful in determining current location (for example a store visit or a ride share pickup location)
Was the user at the restaurant? Or Equinox? Or the Mills Building?
By keeping track of where you have been, something like TruePath can accurately determine where you are now.