我正在制作一个应用程序来监控我的 GPS,然后进行一些计算,发现从度到米的转换为 1deg = 111325m。在我的手机上获取 GPS 坐标时,它位于小数点后 8 位。所以 .00000001 *111325 = .001m ,所以我的手机 GPS 在技术上不应该至少能精确到几分之一米吗?任何人都知道我的想法哪里出了问题或我错过了什么?
问问题
856 次
2 回答
1
所以我的手机 GPS 在技术上不应该至少能精确到几分之一米吗?
不。
任何人都知道我的想法哪里出了问题或我错过了什么?
除法之类的数学运算可以引入许多小数位,这些小数位超出了基础科学所支持的范围。例如,pi 的值有无限位小数;这并不意味着您可以无限准确地知道橙子的周长。
于 2013-01-30T15:33:02.903 回答
0
你混淆了两件事:
1)API中纬度、经度坐标表示变量的传递分辨率:可以是double或float。2) GPS 位置的物理精度,相对于真实位置。
(还有第三件事:GPS 接收器内部的坐标分辨率,过去是 4 字节整数,可能是 3 厘米,现在使用 8 字节长。)
今天的 GPS 接收器通常具有 3 - 6m 的精度。
关于您的小数点后 8 位:纬度/经度小数点后的 7 位可以转换为 4 字节整数,从而提供 3cm 分辨率。所以很有可能,一些内部 API 或 GPS CHIP 使用 4 字节 int 来表示坐标。
然而,通过一些技巧,你可以达到你想要的几分之一米。这可以通过在手机不动时对多个位置进行平均来实现。
在 iphone 上这不起作用,因为 API 被禁止在静止不动时传递位置,但也许这适用于某些 android 手机。
于 2013-01-30T22:25:13.253 回答