2010-08-30 131 views
0

我有一个GPS跟踪器,现在工程很好,除非iPhone丢失GPS连接。 当连接丢失,轨道,使一个或多个点的随机位置,你可以在此图像中看到:cllocation跟踪一个位置

track http://www.alluneed.it/track.jpg

在哪个方法可以让我放弃这些不好的价值观? 我想过这样做: 在保存我的数据之前,我可以对当前经度和纬度的整数值进行求和,并与我的旧经度和经度的整数值进行比较;如果差异大于某个值,我会丢弃我的数据。

这会是一件好事吗? 有没有其他一些好的技巧来做到这一点?

+0

您能否告诉我您多久保存一次位置以及如何保存位置(数据结构)? – sarunw 2011-08-22 04:40:54

+0

嗨,我保存每个数据后,丢弃前3个值。现在我将我的数据保存在.csv文件中 – zebra 2011-08-25 18:08:12

+0

我在一个50分钟的行程中遇到数据大小问题,它仅消耗大约600 kb的坐标空间。你的csv会帮助我吗,我可以从核心数据保存csv吗? – sarunw 2011-08-26 01:53:46

回答

1

也许我已经找到了我的错:

locationManager:didFailWithError: 

当我收到kCLErrorNetwork或除kCLErrorDenied任何其他错误我执行stopupdatinglocation和startupdatinglocation。

现在,该应用程序运行良好,我明天做一些其他测试并在此处发布结果。

+0

我故障正在停止并在任何错误上启动位置管理器,现在曲目非常准确! – zebra 2010-09-07 15:43:02

0

尝试检查位置更新的时间,而GPS没有信号(如果我正确记得,时间在位置参数内提供)。

也许时间是一些常数,这样你可以检查当前时间和位置时间之间的差异是否超过某个值,以确定位置是否真实。

+0

mhmmmm我只是检查此参数时locationManager:didUpdateToLocation:fromLocation: 是调用,如果一个错误的值,我以这种方式丢弃它 – zebra 2010-08-30 12:20:03

+0

所以,你弄明白了吗?如果是这样,请检查我的答案为已接受的答案。 – Idan 2010-08-30 13:06:59

+0

你可以发布代码来告诉我你是如何做到的吗? – Idan 2010-08-30 13:24:59

0

在使用它们之前,您可以使检查点更加健全。如果准确度水平突然跳起来然后又回落,那么可以扔掉那一点。如果时间戳记表明用户突然以超音速移动以在计算了从以前的任何点开始的一段时间的距离之后到达新的位置,则该点可能是假的。等