I've had the impression that Google Maps provides more accurate walking navigation on Android devices which include a compass in addition to a 3-axis accelerometer and GPS receiver. Perhaps this is just my imagination — or a function of better GPS ICs on higher-end devices — but I started thinking about how this might work…

Low speed, changing speed, changing direction

When traveling at low speed and turning and changing speed frequently, GPS bearing can be unreliable. Walking through twisting and turning streets with buildings reducing GPS position accuracy could be a prime example

By combining compass bearing with 3-axis accelerometer (smoothed to correct for walking motion, perhaps) the device should be able to continuously track "North-South" and "Up-Down" vectors with respect to its own axes.

When the GPS-based bearing is unreliable (lost signal, excessive jitter, sudden turn expected) then the device can use its compass-based bearing instead of its GPS bearing. This might allow the device to confirm more quickly that the user has made a 90° right turn onto a side street as expected, or alternatively that the user has turned in the wrong direction.

When acquiring/reacquiring a GPS signal

Suppose a vehicle has just emerged from an underground garage or a roadway tunnel and is at a stop. Or suppose that turn-by-turn navigation has just been initiated in a vehicle parked on a street with 2-way traffic.

Perhaps the GPS position has just been fixed, but there is likely no GPS bearing and no preceding path of motion.

So how can the navigation device figure out the orientation of the vehicle? This will allow it to show an appropriate map heading, and to tell the driver to "start by continuing straight" vs. "start by turning around and going the other way."

The compass and accelerometer can be used to determine which direction the vehicle is facing, based on the assumption that a vehicle-mounted touchscreen device is almost always installed with the screen of the device facing away from the direction of travel.

Do real navigation applications do this?

I'm curious whether real-world navigation applications actually do use magnetic compass and accelerometer data to bootstrap, confirm, or otherwise augment satellite-based positioning and bearing?

What are the problems with the approaches I've outlined?

Are there important cases where these assumptions break down, or where they can be assumed to hold with high confidence? For example, a navigation device built into a car can take advantage of a fixed relationship between the vehicle's long axis and a built-in 3-axis accelerometer, while a repositionable smartphone or GPS tablet has to be more tentative.

closed as too broad by Spacedman, BERA, user30184, Vince, aldo_tapia Apr 20 at 11:46

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Welcome to GIS SE. As a new user, please take the Tour, which explains how our "Focused question / Best answer" model operates. This question is quite long and appears to ask several questions, which violates our "One question per Question" policy. Please edit the question. – Vince Apr 20 at 10:28

Browse other questions tagged or ask your own question.