iPhone CoreLocation准确性

时间:2011-08-27 20:53:32

标签: iphone xcode core-location

我想找到我家里房间的纬度和经度位置。

假设有明确的信号,这可能吗?如果我使用房间的中心作为一个点,每个房间之间的距离约为8-10米。

我可以获得什么样的准确度?还有其他方法吗? (我假设这不切实际?)

另外,我开始关注CoreLocation并将lat和long作为标签,但我不明白为什么坐标会不断变化? (iPhone静止不动)

4 个答案:

答案 0 :(得分:3)

你不会得到那么好的准确性。当您拥有良好的GPS信号(清晰的天空视野)并且室内信号较差时,您可以期望的最佳位置是在正确位置的大约10米(30')范围内。 GPS精度规格实际上是100米,但如果你能看到很多卫星(4-12),你通常可以练习10米。维基百科中有一个accuracy table for GPS。 iPhone没有WAAS校正(无论如何都很难进入室内)。

坐标不断变化,因为GPS信号上存在错误和噪音。大气延迟随着空气密度的变化而变化,随着高海拔风,云,水分含量等的变化而变化。卫星正在移动,因此您还可以获得可变几何形状,从而改变计算出的位置。卫星落在地平线以下,其他弹出窗口会改变您正在计算位置的卫星组。

通过批次工作(软件开发),您可以将指南针,加速度计和陀螺仪中的数据整合到可以测量此类运动的Inertial Navigation System中。 iPhone4和iPad2内置了所有这些传感器。

答案 1 :(得分:3)

核心位置使用三种不同的方法来确定位置。这些是蜂窝塔三角测量,Wi-Fi位置数据和GPS。

根据CLLocationManager的desiredAccuracy参数的值,它将使用这三种方法中的一种或多种来确定设备的位置。

位置不断变化的原因是等待时间越长,结果越准确(通常)。例如:

  1. 首先使用细胞塔三角测量确定一个非常粗略的位置
  2. 然后它找到一个或两个Wi-Fi热点并获得更好的位置修复
  3. 然后它会找到更多热点,因此可以获得更好的修复
  4. 最后,如果GPS可用,您可以获得最佳解决方案
  5. 当然,GPS需要很长时间(和很多功率)才能使用。这是由于GPS的工作方式,以及iOS关闭GPS以节省电力。

    要回答您的主要问题,如果您有GPS信号(即您在室外),并且您周围至少有几个Wi-Fi热点位于Apple的数据库中,您可以获得定位到10米范围内。然而,在室内,你可以期待的最好的是100米左右。

答案 2 :(得分:1)

您可以使用核心动作/传感器辅助,但这可以帮助您只使用相对位置而不是绝对位置。这些设备具有更好的精度/ cell / wifi / gps,尤其适用于室内导航。

答案 3 :(得分:1)

我在室内使用我的GPS取得了一些成功,但大多数先前的答案是正确的,映射单个房间所需的准确度将需要相当多的工作。所有这一切都假设您的设备甚至可以在房屋内部进行GPS修复。

只要您的坐标在不移动时发生变化......这与您从设备获得的修复程度有关。当您的设备正在检查位置更新时,-startUpdatingLocation,当您不断更新时,您将对位置进行大量修改。希望能回答你的一些问题。