Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

android GPS calibration

When moving a big distance, like to another city, with the GPS off, it takes very much time for it, when turned on, to get the first correct point.

So if by example I register to the gps provider, it could take up to 10 min until the first onLocationChanged call.

The network provider will respond faster, but is less accurate.

Is there a way to help the gps provider? To give it an approximate location (the one from the network provider), so it can find my location faster?

I think that google maps made some kind of optimisation, because their app finds my location faster than my basic app, that only register to the gps provider.

Any idea how I could accelerate the process of obtaining my location with decent accuracy ( <30 m) ?

like image 234
Stefan Alexandru Avatar asked Oct 05 '22 17:10

Stefan Alexandru


1 Answers

You are right that if you move a long way with the phone switched off, then it can take a long time to get a satellite fix. This is where AGPS helps. The 'A' stands for 'assisted' which is very much carrier and handset dependent in its implementation. In essence it gets an approximate location from cell towers or from public WiFi like coffee shops and then downloads ephemeris and almanac data which tell the phone which satellites are likely to be overhead at that time in that rough location. The phone can then start listening on the frequencies corresponding to the visible satellites first. This should speed up the time to first fix.

like image 125
NickT Avatar answered Oct 10 '22 04:10

NickT