【问题标题】:Reverse geocoding with postgis in ruby on rails在 ruby​​ on rails 中使用 postgis 反向地理编码
【发布时间】:2015-10-27 16:08:31
【问题描述】:

在我的模型中,我创建了列地址和起点。 start_point 存储在 PostGIS 的 st_point 数据类型中。

我找到了一种从经纬度获取地址的方法,但是我还没有找到任何从st_point数据类型获取地址的方法。

# app/models/place.rb
reverse_geocoded_by :latitude, :longitude,
  :address => :location
after_validation :reverse_geocode

如何在我的应用程序中使用 PostGIS 的 st_point 数据类型进行反向地理编码?

【问题讨论】:

    标签: ruby-on-rails ruby postgresql postgis


    【解决方案1】:

    你可以像这样手动定义:latitude & :longitude

    # app/models/place.rb
    reverse_geocoded_by :latitude, :longitude
    after_validation :reverse_geocode
    
    attr_reader :latitude, :longitude
    
    def latitude
      start_point.lat if start_point
    end
    
    def longitude
      start_point.lon if start_point
    end
    

    记住 st_point 根据笛卡尔平面表达式 (x,y) 定义为 POINT(lon lat)。与我们通常在 Google 地图上看到的纬度/经度格式相反。

    【讨论】:

      猜你喜欢
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      相关资源
      最近更新 更多