【发布时间】:2013-03-21 10:25:35
【问题描述】:
在 ror 中,假设我的数据库中有一个地理参考数据列表 (每条记录都有纬度和经度列)实现按距离搜索功能的最佳方法是什么?
我知道用于 ruby 的 geokit。但我正在寻找其他建议。 如果是平台相关的,我打算用heroku作为部署平台。
【问题讨论】:
标签: ruby-on-rails ruby search geospatial
在 ror 中,假设我的数据库中有一个地理参考数据列表 (每条记录都有纬度和经度列)实现按距离搜索功能的最佳方法是什么?
我知道用于 ruby 的 geokit。但我正在寻找其他建议。 如果是平台相关的,我打算用heroku作为部署平台。
【问题讨论】:
标签: ruby-on-rails ruby search geospatial
【讨论】:
使用gem Geocoder。
如documentation中所指定-
Geocoder 是一个完整的 Ruby 地理编码解决方案。使用 Rails 它添加 地理编码(按街道或 IP 地址),反向地理编码(查找街道 基于给定坐标的地址)和距离查询。它就像 就像在对象上调用地理编码一样简单,然后使用类似的范围 Venue.near("比林斯,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
【讨论】: