在地理定位中存储地理定位的最有效方法

Vas*_*sil 5 database geocoding geolocation

我知道postgres有一个用于存储地理坐标的数据类型.但我正在寻找一种RDBMS不可知解决方案.目前我在MySQL中使用Decimal(25,20).我可能正在使用此数据来根据稍后给定位置的给定距离来查找这些位置.哪种方法可以存储这类数据?

vfi*_*lby 6

另一个好方法是将值乘以常量并将它们存储为整数值.仅使用整数也可以帮助加速计算.

除非您非常需要精确度,否则您应该只需要在小数点后存储5个以上的值.

纬度经度数据存储规范提供了一个显示精度与小数位数的图表.

# decmal places, example, precision
5    51.22135    ± 0.8 m
6   50.895132   ± 0.08 m
Run Code Online (Sandbox Code Playgroud)

7可能是8毫米,或约0.314英寸.


Vin*_*vic 1

标准就在这里。虽然这对于像您这样的简单用例来说太多了,但它可能会给您一些想法,说明为什么实际上最好使用当今许多数据库(甚至MySQL)都具有的一些符合 OGC 的软件包。

如果做不到这一点,并且假设您将实现距离计算的算法,则任何具有您所需精度的浮点数都可以工作。