0

我在我的 Rails 5 应用程序中使用rgeoand rgeo-shapefilegems。我的目标是加载邻域的 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

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

4

1 回答 1

0

使用#within?方法。

point.within?(neighborhood)

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

于 2018-05-15T23:14:04.623 回答