0

我在 Ubuntu 上使用带有 PostGIS、rgeo 和 activerecord-postgis-adapter gem 的 Rails 4.2。我还安装了以下库:libgeos++-dev libgeos-3.4.2 libgeos-c1 libgeos-dbg libgeos-dev libgeos-doc libgeos-ruby1.8 ruby​​-geos。当我调用包含时,会引发 RGeo::Error::UnsupportedOperation?在 RGeo::Geographic::SphericalMultiPolygonImpl 上。如何使 Feature::Geometry 方法可用于我的 RGeo::Geographic::SphericalMultiPolygonImpl?

4

1 回答 1

0

您可能需要将该多面体分解为多个部分,并对每个部分运行“包含”调用。我猜#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

或者,您可以将这些多面体分解为单独的多边形,然后在数组上运行循环......

于 2015-05-23T01:56:21.923 回答