0

在 ror 中,假设我的数据库中有一个地理参考数据列表(每条记录都有纬度和经度列)实现按距离搜索功能的最佳方法是什么?

我知道用于 ruby​​ 的 geokit。但我正在寻找其他建议。如果它依赖于平台,我计划使用 heroku 作为部署平台。

4

2 回答 2

1

使用 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
于 2013-03-21T10:39:05.397 回答
1

你检查过 ruby​​geocoder gem吗?

阅读有关距离查询的信息

以下是ryan 的精彩截屏视频

于 2013-03-21T10:38:24.053 回答