Android FusedLocationAPI GPS 精度似乎不正确
Android FusedLocationAPI GPS accuracy seems incorrect
我正在编写一个简单的 Android 应用程序来捕获用户的位置。
我正在使用 FusedLocationAPI 提供位置。
mLocationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(5000)
.setFastestInterval(5000);
当用户按下按钮时,应用程序将首先检查最后已知的位置。如果这不到一分钟并且精度 < 50 米,则使用该位置。如果不是,应用程序会请求位置更新,直到收到精度 < 50 米的位置。该应用随后停止请求更新,以帮助节省电量。
这在 99% 的情况下都非常有效。但是,在测试中,出现了这样的情况,即对同一位置进行了两次读数,但报告的坐标之间存在 110m 的距离。我试图理解为什么。
读数 #1:拍摄于 10:46,精度为 36 米。
读数 #2:拍摄于 13:27,精度为 26 米。
用户在同一位置(约2m以内)。我会假设,由于它们的位置处于精度的边缘,因此点之间的最大距离只能为 52 米。不知道为什么是110m
我是不是遗漏了什么明显的东西?
准确度数字不是这个意思。引用自 google 文档:
We define accuracy as the radius of 68% confidence. In other words, if
you draw a circle centered at this location's latitude and longitude,
and with a radius equal to the accuracy, then there is a 68%
probability that the true location is inside the circle.
In statistical terms, it is assumed that location errors are random
with a normal distribution, so the 68% confidence circle represents
one standard deviation. Note that in practice, location errors do not
always follow such a simple distribution.
http://developer.android.com/reference/android/location/Location.html#getAccuracy
我正在编写一个简单的 Android 应用程序来捕获用户的位置。
我正在使用 FusedLocationAPI 提供位置。
mLocationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(5000)
.setFastestInterval(5000);
当用户按下按钮时,应用程序将首先检查最后已知的位置。如果这不到一分钟并且精度 < 50 米,则使用该位置。如果不是,应用程序会请求位置更新,直到收到精度 < 50 米的位置。该应用随后停止请求更新,以帮助节省电量。
这在 99% 的情况下都非常有效。但是,在测试中,出现了这样的情况,即对同一位置进行了两次读数,但报告的坐标之间存在 110m 的距离。我试图理解为什么。
读数 #1:拍摄于 10:46,精度为 36 米。
读数 #2:拍摄于 13:27,精度为 26 米。
用户在同一位置(约2m以内)。我会假设,由于它们的位置处于精度的边缘,因此点之间的最大距离只能为 52 米。不知道为什么是110m
我是不是遗漏了什么明显的东西?
准确度数字不是这个意思。引用自 google 文档:
We define accuracy as the radius of 68% confidence. In other words, if you draw a circle centered at this location's latitude and longitude, and with a radius equal to the accuracy, then there is a 68% probability that the true location is inside the circle.
In statistical terms, it is assumed that location errors are random with a normal distribution, so the 68% confidence circle represents one standard deviation. Note that in practice, location errors do not always follow such a simple distribution.
http://developer.android.com/reference/android/location/Location.html#getAccuracy