gpt4 book ai didi

ruby-on-rails - 从 Rails 访问 PostGIS 空间数据

转载 作者:行者123 更新时间:2023-12-04 12:01:49 24 4
gpt4 key购买 nike

我需要使用 Rails 应用程序中的现有 PostGIS 数据库。到目前为止,我能够很好地访问数据库,GeoRuby 很好地将“geom”列转换为 Point 对象。

我正在寻找的是一种在这些表上执行类似 ActiveRecord 的查询的简单方法,例如

Poi.find_within_radius(...)

或类似的空间查询,如距离计算等。阿尔。

我尝试了 geokit 的几种组合,以及随附的 rails 插件,但我很确定在 ruby​​/rails 世界中一定有更好的东西。任何提示?

最佳答案

既然你已经有了 GeoRuby,那么把你的 Poi 模型放进去

SRID = 4326 #WGS84

# geometry column is geom
# pt is a GeoRuby Point
def self.find_within_radius(pt, dist = 0.01)
self.all :conditions => "ST_DWithin(geom, ST_GeomFromText('POINT(#{pt.x} #{pt.y})', #{SRID}), #{dist})"
end

对于距离计算,您可以在点对象上使用方法
dist_circle = poi1.geom.spherical_distance(poi2.geom)
dist_projected = poi1.geom.euclidean_distance(poi2.geom)

关于ruby-on-rails - 从 Rails 访问 PostGIS 空间数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1531884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com