Google Maps API v3会产生超过15位数的精度(纬度/经度)吗?

Aru*_*Raj 2 google-maps google-maps-api-3 google-maps-markers

我试图将mysitude数据库中的lattitude和longtitude(由Drawing API生成)存储为空间数据类型.Spatial数据类型在mysql中支持15位精度.

根据我的用例,我必须在数据库中存储确切的数字精度.所以我需要澄清谷歌地图绘制API v3是否会产生超过15位数的精度?(我已经看过它一次有16位精度,之后我不再得到它了).任何帮助深表感谢.

Flo*_*ris 17

"用于表示值的位数"与"用于表示值的有意义位数"之间存在差异.

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

由于地球的周长是40,000公里和360度,因此一度(在赤道处)对应于111公里; 所以当你有0.000 001度时,你会下降到11厘米.换句话说,3 + 6位数(以度为单位)的大小与您应该关注的一样准确.

达到15位数(3 + 12)意味着您处于亚微米范围内.你真的在乎吗?

另外,一个double可以存储大约15位精度(53位有效数字).因此,您的问题是关于计算机通常可以代表什么数字的限制,而不采取特殊的预防措施.当你开始对这样的数字进行任何类型的计算时,你将很快失去一些最低有效数字的精度.