我在Ubuntu上使用带有PostGIS、rgeo和activerecord-postgis-adapter gem的Rails4.2。我还安装了以下库: libgeos++-dev libgeos-3.4.2 libgeos-c1 libgeos-dbg libgeos-dev libgeos-doc libgeos-ruby1.8 ruby-geos。当我调用contains?时,引发RGeo::Error::UnsupportedOperation。在RGeo::Geographic::SphericalMultiPolygonImpl上。如何使Feature::Geometry方法对我的RGeo::Geographic::SphericalMultiPolygonImpl可用?
发布于 2015-05-23 09:56:22
您可能需要将该多多边形拆分成多个片段,并对每个片段运行“包含”调用。我猜想#contains方法一次只能在一个多边形上运行。下面是该操作可能是什么样子:
responses = {}
n = this_shape.num_geometries
(0..n).to_a.each do |i|
responses[i] = this_shape.geometry_n(i).contains?(other_shape)
end或者,您可以将这些多多边形分解为单独的多边形,然后在数组上运行循环...
https://stackoverflow.com/questions/29496708
复制相似问题