2011-11-10 12 views
0

私は、一連のGPS座標を小数点付きドットフォーマットで表し、1.000.000を乗じたものです。例えば、51.1の緯度と4.1の経度は、Y 51100000X 4100000として保存されます。これらの座標は、SQlite 3データベースに保存されます。バウンディングサークル内のGPS座標の検索方法

Ruby 1.9.2とRails 3.0.8を使用すると、特定の中心点の特定の半径内にあるすべてのレコードを取得できる必要があります。たとえば、緯度が51、経度が4である中心点を指定すると、半径が10キロ以内のすべてのレコードを見つける必要があります。

この記事では、それらのレコードを取得するクエリを実行する方法をかなりよく説明しますが、SQLiteのは、使用されている数学関数をサポートしていないよう:http://www.movable-type.co.uk/scripts/latlong-db.html

は、私が取得することが可能であろう他の方法はありますテーブル全体を反復することを伴わないデータベースからの適切なレコード?

ありがとうございます!

答えて

1

あなたはSQLiteのを使用しなければならない場合を除き、スフィンクスでそれを試してみてください。

私はGPSが/ LNG座標をLAT、その後、(レール用宝石思考スフィンクスがあります:http://freelancing-god.github.com/ts/en/)はスフィンクスを使用するように座標変換します。スフィンクスを使用すると、スフィンクスの機能に与えられた円内のポイントを検索することができます。

@geodistあなたがここに表示されますそれを行う方法の輝かしい例:それは働いて得た、http://joeyschoblaska.com/blog_posts/220-thinking-sphinx-searching-by-location-and-keyword

+0

感謝を!私は実際にSQLiteを使用しています。それは将来のある時点で変わるかもしれませんが、私は今それを稼動させる必要があります。 – Laurens

関連する問題