Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不应该';Android手机GPS不能更精确吗_Android_Gps - Fatal编程技术网

不应该';Android手机GPS不能更精确吗

不应该';Android手机GPS不能更精确吗,android,gps,Android,Gps,我正在制作一个应用程序来监控我的GPS,然后进行一些计算,发现从度到米的转换为1deg=111325m。当我在手机上获取GPS坐标时,它位于小数点后8位。所以.00000001*111325=.001m,那么我的手机GPS技术上不应该至少能够精确到一米的分数吗?有人知道我的想法哪里出错了,或者我错过了什么吗 那么,我的手机GPS技术上不应该至少能够精确到一米的分数吗 没有 有人知道我的想法哪里出错了,或者我错过了什么吗 像除法这样的数学运算可以引入许多小数位,这些小数位超出了基础科学所支持的范围

我正在制作一个应用程序来监控我的GPS,然后进行一些计算,发现从度到米的转换为1deg=111325m。当我在手机上获取GPS坐标时,它位于小数点后8位。所以.00000001*111325=.001m,那么我的手机GPS技术上不应该至少能够精确到一米的分数吗?有人知道我的想法哪里出错了,或者我错过了什么吗

那么,我的手机GPS技术上不应该至少能够精确到一米的分数吗

没有

有人知道我的想法哪里出错了,或者我错过了什么吗


像除法这样的数学运算可以引入许多小数位,这些小数位超出了基础科学所支持的范围。例如,pi的值有无限小数位;这并不意味着你可以无限精确地知道橘子的周长。

你混淆了两件事:

1) API中纬度、经度坐标表示变量的交付分辨率:可以是双精度或浮点型。 和 2) 与实际位置相比,GPS位置的物理精度

(还有第三件事:GPS接收机内的坐标资源,过去是4字节的整数,可能是3厘米,现在使用8字节长。)

如今,GPS接收机的精度通常为3-6米

关于小数点后8位:小数点后7位的纬度/经度可以转换为4字节的整数,分辨率为3厘米。因此,一些内部API或GPS芯片使用4字节int来表示坐标的可能性很高

然而,通过一些技巧,你可以达到分数米,就像你想要的。 这可以通过在手机不移动的情况下平均多个位置来实现


在iphone上,这不起作用,因为API被禁止在静止状态下提供位置,但这可能在一些android手机上起作用。

你可以像测量橙色一样精确。是我们的测量能力限制了我们的准确性。GPS坐标给了我那么多的数字,所以即使我去掉2个数字,再去掉.000001*111325以匹配转换比的精度,它仍然给出不到一米的结果。因此,除了计算限制精度之外,还有另一个原因。@user912620:“你可以像测量橙色一样精确”——正确。GPS定位将尽可能精确地测量你的位置。然而,你的问题表明,你认为小数点右边的数字表明了准确度,这是不正确的。“因此,除了计算限制准确性之外,还必须有另一个原因”——很多原因,其中没有一个与软件开发(更不用说Android)有关,因此StackOverflow与此无关。阅读GPS的工作原理,比如维基百科。