我已将纬度和经度存储在单独的字段中。我从谷歌获取纬度和经度坐标,还使用它们使用一些公式来查找附近的地方。现在,有时纬度和经度值最多可以达到15个小数位,例如-> 15.123456789000001。存储这些值的最佳数据类型是什么?现在,我正在使用Double存储纬度和经度坐标。

提前致谢

最佳答案

在99%的时间内,您选择的任何浮点数据类型都应足够。

是的,我知道它们不能始终精确地将值表示为小数点后15位,但这无关紧要。纬度/长至小数点后15位指定的位置是(要求的)精度,为一对氢原子宽度的数量级。您只需要保留小数点后六位就可以达到一米的精度,这在大多数情况下就足够了。很少有人需要超过厘米级的精度(8个位置),而对于许多应用而言,10米甚至100米的精度就足够了。

而且,当然,这全都假设原始数据源首先是那么精确的。我手机的GPS很少声称精度高于10m(即使这样,其 map 的一半时间也没有显示我声称应该在10m圆圈内的实际位置),因此存储更高精度的位置将毫无意义,而且误导。诚然,您可能会使用比集成到手机中的廉价GPS接收器更准确的数据源,但是即使如此,实际上也不太可能一直精确到分子级。

关于mysql - 合适的mysql数据类型可将纬度和经度存储在单独的字段中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7144484/

10-12 23:25