【问题标题】:How do I make RGeo::Feature::Geometry methods available to RGeo::Geographic::SphericalMultiPolygonImpl?如何使 RGeo::Feature::Geometry 方法可用于 RGeo::Geographic::SphericalMultiPolygonImpl?
【发布时间】:2015-06-12 08:26:59
【问题描述】:

我在 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?

【问题讨论】:

    标签: postgis rgeo


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-11-06
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      • 2020-04-17
      • 2021-08-01
      • 2021-07-31
      • 2015-05-16
      • 2011-10-23
      相关资源
      最近更新 更多