显着的位置变化 - 我们有什么保证? [英] Significant Location Changes - What guarantees do we have?

查看:116
本文介绍了显着的位置变化 - 我们有什么保证?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编写一个移动iOS应用程序,它使用iOS重要位置更改服务来管理大量地理围栏,在我们从CoreLocation Framework收到此消息时启用和禁用地理围栏。

I'm currently writing a Mobile iOS app that is using the iOS Significant Location Change service to manage lots and lots of geofences, enabling and disabling geofences as we receive this message from the CoreLocation Framework.

在Apple开发者网站上,它说:

On the Apple Developer Website it says:



重大变化的位置服务仅在设备位置发生重大变化时才会发送更新,例如500米或更长。

The significant-change location service delivers updates only when there has been a significant change in the device’s location, such as 500 meters or more.


真正让我失望的是500米以上,具体的位置变更服务究竟是基于什么以及我们实际拥有什么保证?

What really throws me off is "500 meters or more", what exactly is the significant location change service based on and what guarantees do we actually have?

此API是否可靠地跟踪区域之间的变化,以便在收到消息时我们知道是时候重新分配我们的地理围栏(假设我们每500米半径的地理围栏少于20个)?

Is this API reliable for tracking changes between regions so that when we receive the message we know it's time to redistribute our geofences (assuming we have less than 20 geofences per 500 meter radius)?

推荐答案

我在10个真实用户设备上使用重要的位置更改API运行了一个小型应用程序运行两周(所以他们正在上班,回家,周末出去等等)进行了一项实验。大都市环境(米兰,意大利)。注册了大约1800个重要的位置更新事件。

I made an experiment running a small app using significant location change API for two weeks on 10 real-user devices (so they were traveling to work, going home, going out in the weekend, etc.) The test run in a metropolitan environment (Milan, Italy). There were approximately 1800 significant location update events registered.

核心结果是:


  • 平均每天大约有10个位置更新

  • CoreLocation规定的水平精度具有如下表所示的分布

  • 这但是,不保证一旦用户从最后一个位置更新定义的圆圈移出并且其水平精度,CoreLocation将发送新的位置事件。换句话说,您无法确定用户是否在任何特定时刻都在这个圈子中。

  • 如果某个其他应用在设备上使用GPS(例如在导航期间),到达我的应用程序的位置事件也更加准确。

  • There are approximately 10 location updates per day in average
  • The horizontal accuracy stated by CoreLocation has the distribution as shown in the table bellow
  • This does not guarantee however that once the user moves out from the circle defined by the last location update and its horizontal accuracy CoreLocation will send a new location event. In other words you can't be sure that the user is in this circle at any given moment.
  • If some other app uses the GPS on the device (during navigation for example), the location events arriving to my app were also much more accurate.

分配表应如下所示:第一列是水平的精度以米为单位,第二列是多少%的位置更新与第一列相同或更准确。

The distribution table should be read as follows: the first column is the horizontal accuracy in meters, the second column is that how many % of the location updates were equal or more accurate then the first column.

Accuracy   Cumulative distribution
   10m        23.76%
   20m        23.76%
   50m        23.76%
  100m        49.86%
  200m        65.09%
  400m        65.31%
  500m        65.31%
 1000m        68.66%
 2000m        92.64%
 4000m        97.82%
>4000m       100.00%

换句话说,几乎2/3的部分位置更新比200米更准确。

So in other words, almost 2/3 part of the location updates were more accurate then 200m.

这篇关于显着的位置变化 - 我们有什么保证?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆