java - Android 的 GPS horizo​​ntalAccuracy 究竟意味着什么?

标签 java android gps location horizontal-accuracy

我不知道是什么 horizontalAccuracy旨在代表Android。文档说明如下:

We define horizontal 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.

听起来好像他们在暗示概率分布在半径范围内呈高斯分布(从现在起称之为 r),这样 68% 的数据在均值的 1 个标准差范围内。问题是,这是不可能的,因为:

  1. r 永远只能是正数

  2. 应该是 P(r=0)=0 的情况,因为 r=0 处的区域小得几乎可以忽略不计,因此在那里的概率也很小

听起来分布是二维高斯分布,也就是说像 exp( -(x^2 + y^2)/sigma^2) 这样的函数。但是这个函数然后变成了 Rayleigh distribution在半径 r 内,不是高斯分布。

因此,我看到了 4 种不同的可能性:

  1. r 中的分布实际上是高斯分布,准确度是一个标准偏差,它确实包含 68% 的数据 - 据我所知,这不仅是荒谬的,而且由于上述原因也是完全不可能的

  2. 精度阈值是包含瑞利分布 68% 数据的点,因此它不是标准偏差,因为该分布不是高斯分布 - 这会同意与 Android 开发人员所说的一样,但这似乎是一种非常奇怪和武断的准确性衡量标准,因此对我来说似乎真的不太可能

  3. 准确度阈值是瑞利分布的标准差,因此不包含 68% 的数据 - 这可能是有道理的,因为标准差是准确度的常用度量,但是它不同意 Android 开发人员的说法,因为它不包含 68% 的数据。这似乎是可能的,但我假设 Google 员工犯了非常基本的错误,然后多年来完全没有注意到 - 这似乎不太可能

  4. 精度阈值实际上是二维高斯在 x,y 中的标准差(即方程 exp( -(x^2 + y^2)/中的 sigma) sigma^2)) 并且因此在每个 x,y 中确实包含 68% 的点,但在 r 中不包含。在这种情况下,Android 开发人员会错误地假设 r 中的标准差与 x,y 中的标准差相同——再一次,这可能是有道理的,但前提是我们假设整个 Google 团队都犯了非常基本的数学错误,然后多年来一直没有被社区注意到。同样,我有点不愿意假设这一点。

我花了一段时间浏览文档和网络,但收效甚微。 我见过不同人提供的选项 1-4 中的每一个,但我发现他们都很难相信并且看不出有任何理由选择一个而不是另一个。

有什么想法是合理的吗?除了这四个选项之外,还有其他可能的替代方案吗?我可以查看任何资源吗?关于与 Google 讨论此事的任何建议?我从其他程序员那里听说,进入开发团队真的很困难

最佳答案

经过一些测量,我怀疑正确答案是

  1. 精度阈值是包含 68% 瑞利分布数据的点

关于java - Android 的 GPS horizo​​ntalAccuracy 究竟意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54152123/

相关文章:

java - 我们如何不使用spring frame框架而仅使用gradle build工具来创建基于JSP Web的简单应用程序?

java - Android SQLite 如何获取特定列 :row value

java - 提交后是否禁止 begin() 同一事务(事务重用)?

android - 我是否在每次通话时都使整个屏幕无效?

安卓填写PDF表格

android - 警告从 TabActivity 中的 ActivityGroup 打开新 Activity

c# - 如何通过 GPS 检查距 x,y 位置 10 米的半径

java - 在 Dropwizard Bundle 中注册 MetricRegistry

android - 可以通过智能手机 GPS 定位到我们所在的楼层吗?

android - 无法使用 GPS 找到当前位置