0

对于我的下一个 Ruby on Rails 项目,我将不得不存储和查询地理空间数据。更准确地说,我想做以下事情:

  • 在数据库中存储几千个纬度/经度对。
  • 查询一个点是否在任意点的一定半径内。
  • 查询一个点是否在一个矩形内(跨越两点)
  • 可能查询一个点是否在任意多边形内。
  • 可能将大量点存储在一种“位置日志”中(最多每秒几百个),当然稍后再检索它们。

另一个非常重要的查询是:

  • 找到与纬度/经度对相关的最近的 n 个存储点。

实现这一目标的最轻松的组件组合是什么?我关心快速实施和非常快速的查询。

我找到了这个演示文稿,作者似乎更喜欢 Postgres 和 activerecord-postgis-adapter,但也许还有其他有价值的意见。

这只是一个小型原型项目,但我已经运行了 MySQL,所以我对这方面的经验很感兴趣。还是 Postgres + PostGIS 绝对是要走的路?而且我知道 MongoDB 可以很容易地开始使用地理数据,但是,这次我想使用关系数据库。

非常感谢任何输入。

4

2 回答 2

1

MySQL 也支持 GIS。尽管 MSSQL 和 Postgres 对此有很好的库支持,但 MySQL 也可以很好地执行。查看MySQL 提供的函数列表

  • MySQL:使用地理数据类型进行 GIS 和规划器计算。文档-> 好
  • MSSQL:同时具有地理和几何数据类型。文档->很棒。帮助-> 真棒
  • Postgres:同时具有地理和几何数据类型。文档->很棒。帮助-> 好

明智地选择:)

于 2013-03-08T06:53:31.137 回答
1

已将 MongoDB 与 mongoid 一起使用。做得很好。另外,尝试在 elasticsearch (tire gem) 中使用进行地理搜索。

于 2013-03-08T07:11:39.533 回答