- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个服务器,它从移动设备 (iphone) 接收 GPS 数据,然后找到数据来自每个不同的日子的不同城市。该应用程序每三个小时同步一次。由于我需要的粒度不是那么小——我对任何比城市“更小”的东西都不感兴趣——我希望能够说“这个人在这个或那个日期在这个或那个城市”。问题是,GPS 预热、精度差和接收到的数据量太大(设备每 10 分钟收集一次数据并每 3 小时与服务器同步一次)有时会产生误报或错误数据——我有一个用户住在附近纽约市/新泽西州的边界和我不断从一个地方或另一个地方获得替代位置,即使他实际一天中的大部分时间都远离边界,所以他在家的那些时间无关紧要)。
我的问题是:我应该考虑什么算法,我应该阅读哪些论文,或者,甚至,我应该谷歌搜索哪些术语来找到一种方法来帮助我消除每次同步的数据的噪音和误报n 小时,并且不需要比某个级别(在本例中为城市)更细化,哪个在特定时间段内很重要? (将其视为我正在计算不同日期对不同城市、州或国家的访问的事实)。我在考虑“聚类”或“分解”数据之类的东西,但我对地理算法一无所知;)
最佳答案
我使用 android 而不是 iphone,所以我会回答希望 iphone 在其修复流中有类似的信息。
首先,您应该只使用从 GPS 找到的位置,而不是从 wifi 或手机信号塔位置找到的位置。在android中,定位的来源是“GPS”“网络”或“cell”,GPS是最准确的。使用手机信号塔,尤其是在河流附近或山上,当您四处走动时,您经常会在离您很远的地方拿起信号塔,听起来这就是您的 ny/nj 问题所发生的情况。
第二,如果一个人在某个城市,他应该在那里呆很长时间,不要走得太远。您可以编写一些东西,如果它在该位置内的一行中接收到一堆位置,则只声明一个位置,这基本上过滤掉了不好的结果,因为它注意到在两个位置之间快速来回反弹是不现实的超过 500 米或类似的距离。
关于algorithm - 滤除噪声并概括来自移动设备的 GPS 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11546467/
我是一名优秀的程序员,十分优秀!