MySQL 数据库中如何存储经纬度

数据库保存经纬度,需要采用什么数据类型,小数点应该精确多少位?

赤道周长(米) 度数(度)
40076000 360
111322.2222 1
11132.22222 0.1
1113.222222 0.01
111.3222222 0.001
11.13222222 0.0001
1.113222222 0.00001
0.111322222 0.000001
0.011132222 0.0000001

所以,只需要精确到小数点后 7 位,精度就是 1CM,因此,数据库保存经纬度采用 decimal(10, 7) 即可。

问题1:为什么不采用 float ?

  • float,double 容易产生误差,对精确度要求比较高时,建议使用 decimal 来存,decimal 在 mysql 内存是以字符串存储的。

问题2:为什么不用字符串?

  • 字符串不方便数据库计算

文章转载自:https://blog.csdn.net/bbnbf/article/details/49956803

猜你喜欢

转载自blog.csdn.net/M__L__/article/details/83795592