两个经纬度之间距离的准确性在iOS上如何保证?

4

我正在使用-(CLLocation)distanceFomLocation:(CLLocation)和Haversine公式计算两个经纬度坐标之间的距离。但是它没有给出正确的结果。
我正在使用核心定位框架找到实际上相距1米的两个位置的经纬度,但上述公式有时会给出40m,有时会给出30m等距离。我将所需精度设置为10米。我正在使用iPhone 4S设备。

我想知道-(CLLocation)distanceFomLocation:(CLLocation)方法计算距离的准确性如何?我需要计算10米范围内的距离。


实际的纬度和经度坐标是什么? - Robert
我使用 iPhone 4s 得到了很多对坐标。这是其中之一:28.534790 77.345671 和 28.534172 77.345350。实际上,我只需要在离我的桌子1或2米的范围内获取它们。 - riyaz
这些点相距39米。请参考Alex的答案。 - Robert
如果你坐在办公桌前,请阅读我的答案,那么你很可能在室内,忘记使用GPS。你之所以能得到一个坐标,是因为你坐在窗边。但这是最糟糕的情况之一。走出去,检查一下你是否有良好的天空视野。远离具有反射表面(玻璃或金属)的建筑物。 - AlexWien
点赞了,现在你也可以点赞。 - AlexWien
1个回答

2
这个公式是正确的,对于1米的距离,精度在千分之一毫米以下。错误在于您从GPS设备获得的纬度/经度位置可能会偏离40米。
对于10米的距离,无论是使用haversine还是distanceFromLocation中使用的公式都是完全准确的。当距离相隔数公里时,情况开始变得有趣。
所以不要担心。但你的主要问题是如何获得这样准确的位置,这取决于你需要它用于什么。
您需要测量单个GPS设备的坐标距离(可以正常工作),还是不同GPS设备之间的距离(两个设备在同一位置上可能相隔30m,但通常具有良好的开阔天空视野时精度为3-6m)。
此外,请确保使用desiredAccuracy BestForNavigation或Best。

1
算了吧,那个不起作用,全世界都没有人能做到! - AlexWien
考虑使用Wifi在一个有许多Wifi接入点的(已知)建筑中进行定位。 - AlexWien
我们需要测量不同GPS设备之间的距离,范围在10米以内。 - riyaz
只有在户外和正常情况下才能工作。当天空视野不佳时,其范围约为30米。 - AlexWien
嗨,Alex,谢谢你的快速回复。有没有其他方法可以找出在10米范围内工作的两个设备之间的距离? - riyaz
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接