这个问题在这里已经有了答案:
What are the lengths of Location Coordinates, latitude and longitude? [closed]
(7 个回答)
8年前关闭。
我正在尝试将纬度和经度(由绘图 API 生成)作为空间数据类型存储在 mysql 数据库中。空间数据类型在 mysql 中支持 15 位精度。
根据我的用例,我必须在数据库中存储精确的数字精度。所以我需要澄清一下谷歌地图绘图 API v3 是否会产生超过 15 位的精度? (我曾经以 16 位精度见过它,之后我就再也没有得到它了)。任何帮助深表感谢。
最佳答案
“用于表示值的位数”和“用于表示值的有意义的位数”之间存在差异。
无论您使用什么来确定地球上某个点的位置,都会存在与您的方法相关的不准确之处。对于 GPS,如果您使用特殊的校正方法,您很幸运能得到 1 m - 或几 cm。
由于地球的周长是 40,000 公里和 360 度,所以 1 度(在赤道处)对应 111 公里;因此,当您有 0.000 001 度时,您将下降到 11 厘米。换句话说,3 + 6 位数(以度为单位)与您应该关心的一样准确。
达到 15 位 (3 + 12) 意味着您处于亚微米范围内。你真的在乎吗?
顺便说一句,double
可以存储大约 15 位精度(53 位有效位)。因此,您的问题是正确的,即在不采取特殊预防措施的情况下,计算机通常可以表示哪些数字的限制。而且,当您开始对此类数字进行任何类型的计算时,您将很快失去最低有效数字的一些精度。
关于google-maps - Google Maps API v3 会产生超过 15 位的精度(纬度/经度)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22449016/