请记住,我将在lat / long对上执行计算,什么数据类型最适合与MySQL数据库一起使用?


当前回答

GeoLocationCoordinates返回一个双数据类型,以十进制表示位置的经纬度。你可以试着用double。

其他回答

根据这篇维基文章 http://en.wikipedia.org/wiki/Decimal_degrees#Accuracy MySQL中适当的数据类型是Decimal(9,6),用于存储经度和纬度 单独的字段。

当我从ARINC424构建导航数据库时,我做了相当多的测试,并回顾了代码,我使用了DECIMAL(18,12)(实际上是NUMERIC(18,12),因为它是firebird)。

浮点数和双精度数没有那么精确,可能会导致舍入错误,这可能是一件非常糟糕的事情。我不记得我是否发现了任何有问题的真实数据——但我相当肯定无法准确地存储在浮点数或双精度数中可能会导致问题

关键是,当使用角度或弧度时,我们知道值的范围——小数部分需要最多的数字。

MySQL空间扩展是一个很好的选择,因为它们遵循OpenGIS几何模型。我没有使用它们,因为我需要保持数据库的可移植性。

我建议您使用浮动数据类型的SQL Server。

GeoLocationCoordinates返回一个双数据类型,以十进制表示位置的经纬度。你可以试着用double。

不需要走太远,根据谷歌地图,最好是FLOAT(10,6)的纬度和液化天然气。