0

次のRubyonRailsプロジェクトでは、地理空間データを保存してクエリする必要があります。もっと正確に言えば、私は次のことをしたいと思っています。

  • 数千の緯度/孤立電子対をDBに保存します。
  • ポイントが任意のポイントの特定の半径内にあるかどうかをクエリします。
  • ポイントが長方形(2つのポイントの間にまたがる)内にあるかどうかをクエリします
  • ポイントが任意のポリゴン内にあるかどうかをクエリする可能性があります。
  • おそらく、ある種の「位置ログ」(最大数百秒)に大量のポイントを保存し、もちろん後でそれらを取得します。

もう1つの非常に重要なクエリは次のとおりです。

  • 緯度と経度のペアに関連して、最も近いn個の格納されたポイントを見つけてください。

それを達成するためのコンポーネントの最も痛みのない組み合わせは何ですか?私は迅速な実装と非常に高速なクエリに関心があります。

私はこのプレゼンテーションを見つけました。著者はPostgresとactiverecord-postgis-adapterを支持しているようですが、おそらく他にも価値のある意見があります。

これは小さなプロトタイププロジェクトですが、すでにMySQLを実行しているので、その経験に興味があります。それとも、Postgres + PostGISは間違いなく進むべき道ですか?また、MongoDBを使用すると地理データを簡単に使い始めることができますが、今回はリレーショナルデータベースを使用したいと思います。

どんな入力でも大歓迎です。

4

2 に答える 2

1

MySQL は GIS もサポートしています。MSSQL と Postgres にはこれに対する優れたライブラリ サポートがありますが、MySQL も十分に機能します。MySQL が提供する関数リストを確認してください。

  • MySQL: GIS とプランナーの計算の両方に Geography データ型を使用します。ドキュメンテーション-> 良い
  • MSSQL: Geography と Geometry の両方のデータ型があります。ドキュメンテーション->すばらしい。ヘルプ-> すばらしい
  • Postgres: Geography と Geometry の両方のデータ型があります。ドキュメンテーション-> すごい。ヘルプ-> 良い

賢明な選択:)

于 2013-03-08T06:53:31.137 に答える
1

MongoDB と mongoid を使用しました。素晴らしい仕事をします。また、地理検索にelasticsearch(tire gem)を使ってみてください。

于 2013-03-08T07:11:39.533 に答える