我知道 postgres 有一个用于存储地理坐标的数据类型。但我正在寻找与 RDBMS 无关的解决方案。目前我在 MySQL 中使用 Decimal(25,20)。稍后我可能会使用此数据根据距给定位置的给定距离查找这些位置。哪种方法是存储此类数据的最佳方法?
最佳答案
另一个好的技术是将值乘以一个常数并将它们存储为整数值。仅使用整数也有助于加快计算速度。
除非您非常需要精度,否则您实际上只需要在小数点后存储 5 个以上的值。
这Latitude Longitude Data Storage Specification给出了一个显示精度与小数位的图表。
# decmal places, example, precision
5 51.22135 ± 0.8 m
6 50.895132 ± 0.08 m
7 等于 8 毫米,或大约 0.314 英寸。
关于database - 在数据库中存储地理位置的最有效方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/293997/