The positioning is complicated by the drift over time (there's a "new" global model every five years and for specific times & locations interpolation is performed) and fluctuates daily (as the Earth turns there's a diurnal pulsing in the induced magnetic field).
This is where "a bit of signal processing" comes into play.
The good news is the maths, the field testing, and the application of it is all a good 50 years old.
Typical exploration mapping company:
http://mcpharinternational.com/services/mining-exploration/a...
High resolution gridded geophysics for the Northern Territory, magnetics, gravity, radiometrics, etc:
http://www.nt.gov.au/d/Minerals_Energy/Geoscience/index.cfm?...
And with enough sensors (4 magnetometers) you can reconstruct 3D trajectory.
The following thesis is fascinating and very instructive: http://pastel.archives-ouvertes.fr/docs/00/50/10/05/PDF/pdfV...
Chapter 5 is very instructive, in particular the section Measuring magnetic fields gradients to derive velocity.
Excerpts: If the body moves, then the sensed magnetic field must change according to Maxwell’s equations. If the magnetic measurements do not change significantly, then the solid body is not moving. This permits us to rule out velocity drifts in our estimation. Ultimately, this improves the position information obtained by integrating the velocity estimate.
Note that they don't use the raw magnetic field, but its gradients, i.e a physical quantity that is intrinsequely local. Filtering out the earth's magnetic fields becomes quite easy (I suppose..) since these gradients are fast-varying quantities in comparison. Kind of like when you use an accelerometer: gravity is low-frequency, motions are high-frequency.
I would not have expected that result, but thinking about it more it does make sense. They are estimating "where have I moved" using the local magnetic field, which is very different than how GPS works "where am I in relation to a fixed constellation".
Does anyone know why this couldn't be used for outside positioning, much like GPS? Is the information not detailed enough, or do we lack good enough sensors to detect the fine-grained differences especially given all the electromagnetic noise that modern cities for example create.
Edit: I just realized it's probably also because somebody would need to create a world-magnetic-field map, much like the street view cars driving all over the world.