对于我的下一个 Ruby on Rails 项目,我将不得不存储和查询地理空间数据。更准确地说,我想做以下事情:
- 在数据库中存储几千个纬度/经度对。
- 查询一个点是否在任意点的一定半径内。
- 查询一个点是否在一个矩形内(跨越两点)
- 可能查询一个点是否在任意多边形内。
- 可能将大量点存储在一种“位置日志”中(最多每秒几百个),当然稍后再检索它们。
另一个非常重要的查询是:
- 找到与纬度/经度对相关的最近的 n 个存储点。
实现这一目标的最轻松的组件组合是什么?我关心快速实施和非常快速的查询。
我找到了这个演示文稿,作者似乎更喜欢 Postgres 和 activerecord-postgis-adapter,但也许还有其他有价值的意见。
这只是一个小型原型项目,但我已经运行了 MySQL,所以我对这方面的经验很感兴趣。还是 Postgres + PostGIS 绝对是要走的路?而且我知道 MongoDB 可以很容易地开始使用地理数据,但是,这次我想使用关系数据库。
非常感谢任何输入。