Geos ruby​​ - 创建点

Cha*_*rge 2 ruby geometry geos

我正在努力使用 Ruby 的 GEOS 库,我只想用 IRB 创建一个简单的点。 require geos返回 true 以便安装工作。但是我不太了解文档,在github页面上没有任何帮助。

我试过了,Geos::Point.new('POINT(0 0)')但它返回一个TypeError: allocator undefined for Geos::Point

Eri*_*nil 5

GEOS是一个 C++ 库。查看那里的文档以了解所需的 Ruby 语法并没有多大帮助。

你需要这颗rgeo宝石。

这是一个很好的教程:“Geo-Rails 第 3 部分:使用 RGeo 的空间数据类型”

举个例子 :

# gem install rgeo
require 'rgeo'

factory = RGeo::Cartesian.factory

point = factory.point(0, 0)
puts point
# POINT (0.0 0.0)

square = factory.parse_wkt("POLYGON((1 0, 0 1, -1 0, 0 -1, 1 0))")
puts square
# POLYGON ((1.0 0.0, 0.0 1.0, -1.0 0.0, 0.0 -1.0, 1.0 0.0))

puts square.contains?(point)
# true
Run Code Online (Sandbox Code Playgroud)