【问题标题】:How accurate is CLLocation accuracy?CLLocation 的准确性如何?
【发布时间】:2010-11-14 20:52:51
【问题描述】:

我想使用可靠的位置,即使是在旧 iPhone 上。但是,许多读数(尤其是来自手机信号塔的读数)太不准确了。我想。

当我绘制我的位置 + 精度半径(或查看谷歌地图应用程序)时,我注意到估计圆的中心通常靠近我的实际位置。我猜如果我将“准确度”数字减半,我仍然有 99% 的时间在圈子里。

我相信这是一个概率游戏 - 位置经理试图提供一个在 99.99999% 的时间里都是正确的估计,所以他们故意给出一个很大的余量。有什么想法/信息吗?

【问题讨论】:

    标签: iphone objective-c gps


    【解决方案1】:

    CoreLocation 框架为您提供使用 Horizo​​ntalAccuracy/verticalAccuracy 属性获得的每个 CLLocation 的圆半径。您可以为 CLLocationManager 指定一个使用这些类型的 desiredAccuracy 属性:

    kCLLocationAccuracyNearestTenMeters, kCLLocationAccuracyHundredMeters, kCLLocationAccuracyKilometer, kCLLocationAccuracyThreeKilometers;

    因此,当您进入所需范围时,您会收到通知。也就是说,当您使用 CLLocationManager 时,第一个事件会尽快提供给您,然后是满足您条件的事件。

    【讨论】:

    • 我不太专注于要求所需的准确性,而是对了解“真实”准确性更感兴趣。当 CoreLocation 告诉您“此位置在 100 米半径范围内很好”时,是否真的意味着“该位置 99.9% 的时间都在 50 米范围内”?
    【解决方案2】:

    当您使用 CoreLocation 时,您会得到越来越好的“答案”。我注意到“最佳”答案几乎总是准确到 100m 以内,因此理论上您可能会减少通常给予的“缓冲区”。然而,真正知道的唯一方法,这就是我会做的,是测试测试测试。查找各代的 iphone 和 ipod,查看您获得的准确度类型以及您获得的结果类型。在很多方面,这取决于您正在制作的应用程序的类型,但如果您想根据用户的位置传递敏感或重要信息,您应该真正等待框架为您提供几乎准确的位置。

    【讨论】:

    • 我愿意等待最好的位置。我更关心的是“这个报告的位置到底有多准确?”。我相信所有报告的准确度(1000m、10m 等)都偏高。
    猜你喜欢
    • 2017-02-08
    • 1970-01-01
    • 2012-04-28
    • 2013-12-24
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    相关资源
    最近更新 更多