【问题标题】:How to determine if a lat/lon pair is located inside of a shapefile polygon如何确定纬度/经度对是否位于 shapefile 多边形内
【发布时间】:2018-01-15 23:32:11
【问题描述】:

我在我的 Rails 5 应用程序中使用 rgeorgeo-shapefile gems。我的目标是加载邻域的 shapefile 并确定纬度/经度点位于哪个邻域内。

在他们的文档中,他们有这个例子。

require 'rgeo/shapefile'
name = "neighborhoods.shp"
RGeo::Shapefile::Reader.open(name) do |file|
  puts "File contains #{file.num_records} records."
  file.each do |record|
    puts "Record number #{record.index}:"
    puts "  Geometry: #{record.geometry.as_text}"
    puts "  Attributes: #{record.attributes.inspect}"
  end
  file.rewind
  record = file.next
  puts "First record geometry was: #{record.geometry.as_text}"
end

我不太确定如何从这个例子转向我想做的事情。

【问题讨论】:

    标签: ruby-on-rails-5 postgis rgeo rgeo-shapefile


    【解决方案1】:

    使用#within? 方法。

    point.within?(neighborhood)
    

    点和邻域的坐标系必须相同。我相信对这些类型的操作使用直线投影会更有效,但我过去也成功地将它们与 WGS 一起使用,尽管我记得我在 WGS/4326 中收到了某些类型的重叠类型查询的错误消息. #within? 应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 2017-08-08
      • 2018-09-24
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      • 2010-11-07
      相关资源
      最近更新 更多