Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Google maps 谷歌地图API v3将产生超过15位的精度(lat/long)?_Google Maps_Google Maps Api 3_Google Maps Markers - Fatal编程技术网

Google maps 谷歌地图API v3将产生超过15位的精度(lat/long)?

Google maps 谷歌地图API v3将产生超过15位的精度(lat/long)?,google-maps,google-maps-api-3,google-maps-markers,Google Maps,Google Maps Api 3,Google Maps Markers,我试图将latitude和longtude(通过绘制API生成)作为空间数据类型存储在mysql数据库中。空间数据类型在mysql中支持15位精度 根据我的用例,我必须在数据库中存储精确的数字精度。所以我需要澄清谷歌地图绘制API v3是否会产生超过15位的精度?(我曾经看过一次16位数的精度,之后我再也看不到了)。非常感谢您的帮助。在“用于表示值的位数”和“用于表示值的有意义位数”之间存在差异 无论您使用什么方法来确定地球上某个点的位置,都会有与您的方法相关的不精确性。对于GPS,如果你使用特

我试图将latitude和longtude(通过绘制API生成)作为空间数据类型存储在mysql数据库中。空间数据类型在mysql中支持15位精度


根据我的用例,我必须在数据库中存储精确的数字精度。所以我需要澄清谷歌地图绘制API v3是否会产生超过15位的精度?(我曾经看过一次16位数的精度,之后我再也看不到了)。非常感谢您的帮助。

在“用于表示值的位数”和“用于表示值的有意义位数”之间存在差异

无论您使用什么方法来确定地球上某个点的位置,都会有与您的方法相关的不精确性。对于GPS,如果你使用特殊的校正方法,你很幸运能得到1米或几厘米

由于地球的周长是40000公里和360度,一度(在赤道)相当于111公里;所以当你有0.000001度时,你会下降到11厘米。换言之,3+6位数(以度为单位)的精确度与您应该关心的一样高

到15位(3+12)意味着你在亚微米范围内。你真的在乎吗


另一方面,
double
可以存储大约15位精度(53位有效位)。因此,你的问题是正确的,在没有采取特别预防措施的情况下,计算机通常可以代表哪些数字。当你开始对这样的数字进行任何类型的计算时,你将很快失去一些最低有效数字的精度。

为什么不在写入数据库之前控制lat lng值(我是指在php-asp.net-java或js或任何你使用的程序中)如果它们的长度超过15,就修剪它们?@user3280126:在我的情况下,这是一个糟糕的选择。我需要用户绘制的每个形状的精确格度和长度(ITx我的用例)。这就是为什么我想知道谷歌地图API v3返回的最大数字精度。如果GoogleMapsAPI超过15位,我将删除空间数据类型。然后我建议您查看。关于这方面的信息不多,但据我所知,15位数字应该足以提供准确的信息(我不知道你的案例,极端案例可能需要超过15位数字才能确定)。@user3280126:谢谢,伙计。。。这对我帮助很大。