定位精度 - iOS

pat*_*r82 8 gps core-location ios

iOS上返回的"准确性"或"不确定性"的统计意图是什么,即使是近似值?

例如,Android文档将其返回的准确度数字解释为在这个意义上大约是一个标准偏差:

我们将准确度定义为68%置信度的半径.换句话说,如果您绘制一个以该位置的纬度和经度为中心的圆,并且半径等于精度,那么真实位置在圆内的概率为68%.在统计学术语中,假设位置误差是随机的,具有正态分布,因此68%置信圆表示一个标准偏差.请注意,在实践中,位置错误并不总是遵循这样简单的分布.该精度估计仅涉及水平精度,并且如果包含在该位置中,则不表示方位,速度或高度的准确性.

我们的设置是,我们需要以与Android相同的方式处理来自iOS的返回"准确度"或"不确定性"的值,以使我们能够构建具有有效功能的应用程序.iOS的准确度结果是否需要进行任何转换以获得与上述相同的解释?具体而言,在具有相同GPS /位置硬件的两个设备的假设情况下,在相同的物理位置,在同一时刻查询到具有相同参数的GPS地理定位,Android之间最典型的关系是什么返回值(径向1个标准差不确定性)和iOS值?

pat*_*r82 9

Apple回答了我在这个问题上提出的技术支持票.

即使是近似值,返回的"准确度"还是"不确定性"的统计意图是什么?

iOS没有一款.我不能评论Androids位置API /硬件,但我认为为什么下面的描述会在iOS上灾难性地失败应该说明事情:

"我们将准确度定义为68%置信度的半径.换句话说,如果您绘制一个以该位置的纬度和经度为中心的圆,并且半径等于精度,那么真实位置在圆内的概率为68%.在统计学术语中,假设位置误差是随机的,具有正态分布,因此68%置信圆表示一个标准偏差.请注意,在实践中,位置错误并不总是遵循这样简单的分布.

问题的关键在于假设错误是正常分布在iOS上无效.目前,CoreLocation依赖于3个位置源来获取其位置信息,并且每个位置信息具有完全不同的故障特征.

- 塔楼.从错误的角度来看,这些实际上是最简单的建模.蜂窝无线电信号不是特别反射的,并且所涉及的距离足够大,使得反射率效应相对较小并且(更重要地)在一般区域内通常是一致的.中心位置是距离中心点越远的可能性越小的位置.

-全球定位系统.GPS通常被认为是定位的"黄金"标准,但特别是在城市环境中,这可能会产生深刻的误导.问题在于GPS信号更容易反映出能够并且将从根本上改变设备的已知"位置"的蜂窝信号.在一个密集的城市景观中,常见的并且预计会出现狂乱和随机设备转换将走路/驾驶非常直接的路线.除了那些突然转变(根据特定应用程序的使用情况相对容易过滤掉)之外,系统性故障也很常见,特定区域的特定几何形状已经将"GPS位置"从其真实位置显着改变.

-无线上网.在许多方面,WiFi是最棘手的.问题在于,对于单个基站的最简单定位情况,不可能推断出"靠近基站的某个地方"之外的任何实际位置信息.关于径向距离的一些信息可以基于信号强度来推断,但是结构化结构倾向于影响信号强度而不是距离使得该数量相当无用.更重要的是,根本没有方向信息.然而,更大的问题是WiFi位置依赖于WiFi热点的注册位置......如果数据库完全错误怎么办?例如,几个月前,我与一位开发人员合作,他非常生气,因为他收到了一个位置跟踪信息,显示该设备完全固定并且整个3小时的车程.经过多次调查,最终确定他会:

a)将手​​机放在一个袋子里,将手提包放在前排座位下(切断GPS和手机座).b)将MiFi个人热点留在整个驱动器上.

...在某个早些时候,iOS已经在该MiFi上注册了一个位置,因此它很高兴地认为该设备在整个旅程中都是静止的.

最后,CoreLocation在此基础上增加了它自身的复杂性.它知道所有这些问题,并根据它收集的所有数据提供/推断它最好的猜测"真正的"位置......但这真的是第一步.CLActivityType是API的一部分的原因是为iOS提供有关如何使用设备的更多信息,以便它可以代表您过滤数据.如果您在城市环境中以高精度跟踪同一驱动器中的两个设备,但将一个设备设置为"CLActivityTypeAutomotiveNavigation"而将另一个设备设置为"CLActivityTypeOther"并比较数据,您将看到您获得的数据点非常不同.这不是因为设备实际上接收的是完全不同的数据.相反,CLActivityTypeAutomotiveNavigation正在查看它正在接收的位置,并且延迟它认为可疑的事件传递("汽车真的开车到肩膀上")或完全放弃事件,如果它们看起来不合理("不,我不认为汽车向左移动100米,然后在1-2秒内回到原来的位置......").

所有这一切的结果是,用数学术语来思考错误根本就没有用.真正的事实是,设备很可能在水平精度范围内的某个地方......除非事实并非如此.尝试推断半径范围内的用户位置通常不会很好地结束.

具体而言,在具有相同GPS /位置硬件的两个设备的假设情况下,在相同的物理位置,在同一时刻查询到具有相同参数的GPS地理定位,Android之间最典型的关系是什么返回值(径向1个标准差不确定性)和iOS值?

说实话,我不认为这可以在一般情况下完成.我的猜测是,对于最简单的情况,例如在开放场地中的GPS,设备将返回基本相同的数据.另一方面,当在现实世界中更复杂的环境中使用时,我期望设备不可预测地发散,并且没有真正的方法来纠正那些设备差异.

Kevin在DTS(Apple)