Android GPS Location Speed Unreliable Android GPS Location Speed Unreliable android android

Android GPS Location Speed Unreliable


I have worked on GPS hardware for more than 7 years now. The accuracy reading is also not 100% accurate. Manufacturers state accuracy along with the system used for measuring it.CEP, RMS, 2DRMS, and R95 are some of the systems.Read this article for more information: http://en.wikipedia.org/wiki/Circular_error_probable

The accuracy figure does not include outliers. For example, if stated accuracy 5 meters then readings taken in good signal conditions will have maximum error of 5 meters, 95% of the time. Nothing can be said about the remaining 5% readings or about readings taken in bad signal contions. Protection against these outliers is the special sauce that makes a good location based app stand out from the rest.

Some things you can do are:

  1. Filter out insanely high speeds. Make use of altitude as hint for being in a airplane.
  2. Correlate information from motion sensors and see if they agree withGPS. Motion sensor signatures will be very different in steady stateand in motion.
  3. The typical size of a GSM/3G cell is under a kilometer in urbanareas and 5-10 kilometers in sparsely populated areas. If thevehicle is moving at high speed for some time and the cell towerinformation is still the same, you know something is wrong.
  4. Does the GPS fix read north one moment and south the next that tooat a high speed? If yes, it is most likely a GPS error.
  5. Check the number of Satellites used in GPS calculation. 12 is outstanding, 9 is healthy, 5 or less is poor, 4 is bare minimum for lat,lon + altitudecalculation, 3 is bare minimum for lat,lon calculation. Anything less than 3 is not a valid reading. You can be much more confident about the validity of data if number of satellites is high.


GPS devices are positional speedometers, based on how far the receiver has moved since the last measurement. Its speed calculations are not subject to the same sources of error as the vehicle's speedometer (wheel size, transmission/drive ratios). Instead, the GPS's positional accuracy, and therefore the accuracy of its calculated speed, is dependent on the satellite signal quality at the time. Speed calculations will be more accurate at higher speeds, when the ratio of positional error to positional change is lower.

From Wikipedia.

Probably you should try this in place where you have good signal strength.


I am experiencing the same problem. I think GPS signal depends on a location, some location may give an exact output of location otherwise a 'not-so-reliable' result. In my case, I was located about 200 meters away from my actual location. How about you?

To add, GPS_PROVIDER does not work here in my area. NETWORK_PROVIDER does, and it's the one that give the 200 meters away result.