适合的mysql数据类型,用于在单独的字段中存储纬度和经度

Sul*_*qui 11 mysql types

我在单独的字段中存储了纬度和经度.我从谷歌获得Lat&Lng坐标,并使用它们使用一些公式找到附近的地方.现在有时纬度和经度值最多可达到15个小数位 - > 15.123456789000001.什么是存储这些值的最佳数据类型?现在我使用Double来存储纬度和经度坐标.

提前致谢

Dav*_*man 24

99%的情况下,您选择的任何浮点数据类型都应该足够.

是的,我知道他们不能始终精确准确地将值表示为小数点后15位,但这并不重要.Lat/long到15位小数是指定一个位置,其具有(声称的)精度,其顺序为一对氢原子的宽度.您只需要六位小数就可以将精度提高到一米之内,这对大多数情况来说已经足够了.很少应该需要超过厘米级的精度(8个位置),10或甚至100米的精度对于许多应用来说足够好.

当然,这一切都假设原始数据源首先是准确的.我的手机的GPS很少比10米以内更准确地说准确度(即便如此,其地图的一半时间没有显示我在10米圆圈内的实际位置,它声称我应该是这样),因此存储位置以获得更高的精度将毫无意义误导.当然,您可能正在使用比集成到手机中的廉价GPS接收器更准确的数据源,但即便如此,它实际上也不可能一直精确到分子级.