Android FusedLocationAPI GPS精度似乎不正确



我正在编写一个简单的Android应用程序,用于捕获用户的位置。

我正在使用FusedLocationAPI来提供该职位。

  mLocationRequest = LocationRequest.create()
            .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
            .setInterval(5000)
            .setFastestInterval(5000);

当用户按下按钮时,应用程序将首先检查最后一个已知的位置。如果这小于一分钟并且具有<50m,使用该位置。如果不是,则应用程序请求位置更新,直到以<50米。然后应用程序停止请求更新,以帮助保存电池。

这在99%的时间里都很有效。然而,在测试中,出现了一种情况,即对同一位置读取了两个读数,但报告的坐标之间有110米的距离。我正在努力理解为什么。

读数#1:拍摄于10:46,准确度为36米。

读数#2:拍摄于13:27,准确度为26米。

用户在同一位置(大约2米以内)。我认为,由于它们的位置处于精度的边缘,这些点之间的最大距离只能为52米。我不知道为什么是110米

我是不是错过了一些显而易见的东西?

这不是准确度数字的含义。引用谷歌文档:

我们将准确度定义为68%置信度的半径。换句话说,如果你画一个以这个位置的经纬度为中心的圆,半径等于精度,则有68%真实位置在圆圈内的概率

在统计方面,假设位置误差是随机的对于正态分布,因此68%的置信圈表示一个标准偏差。请注意,在实践中,位置错误不会总是遵循这样一个简单的分布。

http://developer.android.com/reference/android/location/Location.html#getAccuracy

最新更新