我正在使用 rgeo ruby 库来解析 geojson 多边形。行为是在对具有重复点的多边形调用 decode 时返回 nil,如下例所示:
geom = {:geom=>{"type"=>"Polygon", "coordinates"=>[[[-82.5721, 28.0245], [-82.5721, 28.0245] ... }
geo_factory = RGeo::Cartesian.factory(:srid => 4326)
rgeo_geom = RGeo::GeoJSON.decode(geom, json_parser: :json, geo_factory: geo_factory)
由于开头重复的点,执行此代码后 rgeo_geom 将为 nil。
清理这个多边形的最有效方法是什么?是否有内置的 rgeo 功能或者我应该自己推出?
需要明确的是,我只想删除连续的重复点,因为这是导致库为上述代码返回 nil 的原因。我也不是在寻找诸如 postgis st_removerepeatedpoints 之类的数据库解决方案,而是在寻找在 ruby 中执行的这种行为。