Is there any way to configure a location offset in such a way that my phone's GPS data would still be used to set a location, but an adjustment would be made to the base value? (e.g. all values adjusted 6.5m SW). Two cases where this would be useful are when using programs that have base maps with bogus offset data, but you want your phone to think it's in the right place on top of the bogus data. Also, sometimes the coordinates calculated from the GPS system on a given day are just simply wrong, and usually on a given day they are wrong by a fairly fixed amount. Rather that spending the entire day with my phone marking me on the wrong side of the street, I'd like to correct the values automatically.
Ideally I would like a way to 'zero' my GPS by calculating an offset based on my current location being a set of known coordinates, then allow the GPS to adjust my location based on that. I would enter "I am currently at X", at which point it would figure out that number is 4 meters off of the GPS readout, and thereafter sets my location to be always 4m offset.
I realize there are lots of programs to set a mock location of my choice and even ones to follow recorded routes. These sort of things that entirely replace the output of the GPS with fixed or otherwise pre-programmed output are not what I'm looking for here. If it matters, my device is an unlocked Galaxy Nexus (GSM) w/ CyanogenMod 10.1 M1, but I'd like to hear about the options for both rooted and unrooted devices.