rorで、データベースに地理参照データのリストがあるとします(各レコードには緯度と経度の列があります)。距離に応じた検索機能を実装するための最良の方法は何ですか?
私はルビーのジオキットを知っています。しかし、私は他の提案を探しています。プラットフォームに依存する場合は、展開プラットフォームとしてherokuを使用する予定です。
rorで、データベースに地理参照データのリストがあるとします(各レコードには緯度と経度の列があります)。距離に応じた検索機能を実装するための最良の方法は何ですか?
私はルビーのジオキットを知っています。しかし、私は他の提案を探しています。プラットフォームに依存する場合は、展開プラットフォームとしてherokuを使用する予定です。
gemジオコーダーを使用します。
ドキュメントで指定されているように-
Geocoderは、Ruby用の完全なジオコーディングソリューションです。Railsを使用すると、ジオコーディング(番地またはIPアドレスによる)、逆ジオコーディング(指定された座標に基づいて番地を検索)、および距離クエリが追加されます。オブジェクトでジオコードを呼び出してから、Venue.near( "Billings、MT")のようなスコープを使用するのと同じくらい簡単です。
ジオコーディングされたオブジェクトを使用すると、次のようなことができます。
if obj.geocoded?
obj.nearbys(30) # other objects within 30 miles
obj.distance_from([40.714,-100.234]) # distance from arbitrary point to object
obj.bearing_to("Paris, France") # direction from object to arbitrary point
end