我正在处理地图数据,并且Latitude/Longitude扩展到小数点后 8 位。例如:
Latitude/Longitude
Latitude 40.71727401 Longitude -74.00898606
我在Google 文档中看到 它使用:
lat FLOAT( 10, 6 ) NOT NULL, lng FLOAT( 10, 6 ) NOT NULL
但是,它们的小数位只能到 6。 我是否应该使用FLOAT(10, 8)或者是否有其他方法可以考虑存储这些数据,以便精确。它将与地图计算一起使用。谢谢!
FLOAT(10, 8)
MySQL 支持Spatial 数据类型,Point是可以使用的单值类型。例子:
Point
CREATE TABLE `buildings` ( `coordinate` POINT NOT NULL, /* Even from v5.7.5 you can define an index for it */ SPATIAL INDEX `SPATIAL` (`coordinate`) ) ENGINE=InnoDB; /* then for insertion you can */ INSERT INTO `buildings` (`coordinate`) VALUES (POINT(40.71727401 -74.00898606));