0

我有一个服务器从移动设备(iphone)接收 GPS 数据,然后找到每个不同日期的数据来自的不同城市. 该应用程序每三个小时同步一次。由于我需要的粒度不是那么小——我对比城市“更小”的东西不感兴趣——我想说“这个人在这个或那个日期在这个或那个城市”。问题是,GPS 预热、精度差和接收到的大量数据(设备每十分钟收集一次数据,每 3 小时与服务器同步一次)有时会产生误报或错误数据 - 我有一个用户住在附近纽约/新泽西州的边界,我不断地从一个或另一个地方获得替代位置,即使他实际一天中的大部分时间都在远离边界的地方度过,所以他在家的那些时间不应该重要)。

我的问题是:我应该考虑哪些算法,我应该阅读哪些论文,或者,甚至,我应该用谷歌搜索哪些术语来找到一种方法,以帮助我摆脱每隔 n 小时同步的数据的噪音和误报和不需要比某个级别(在这种情况下为城市)更细化,并且在特定时间段内哪个重要?(把它想象成我正在计算不同日期对不同城市、州或国家的访问次数)。我正在考虑诸如“聚类”或“分解”数据之类的东西,但我对地理算法一无所知;)

4

1 回答 1

1

我使用 android 而不是 iphone,所以我会回答希望 iphone 在其修复流中提供类似的信息。

首先,您应该只使用从 GPS 中找到的位置,而不是从 wifi 或手机信号塔位置进行这项工作。在android中,定位源是“GPS”“网络”或“小区”,GPS是最准确的。使用手机信号塔,特别是在河流或山上,当你四处走动时,你经常会捡起离你很远的信号塔,听起来这就是你的纽约/新泽西州问题所发生的事情。

第二,如果一个人在某个城市,他应该在那里呆很长时间而不会移动太远。您可以编写一些内容,仅在它接收到位于该位置内的一行中的一堆位置时才声明该位置,这基本上过滤掉了不良结果,注意到在两个位置之间快速来回反弹是不现实的超过 500 m 或类似的距离。

于 2012-07-19T13:45:39.830 回答