Я хочу сохранить полигон GeoJSON

Я хочу сохранить многоугольник.

Это Geojson введите описание ссылки здесь

str1 = "geojson....."
geom = RGeo::GeoJSON.decode(str1, json_parser: :json)
l = Limit.new
l.multipoligono = geom
l.save


NoMethodError: undefined methodfactory' for #RGeo::GeoJSON::FeatureCollection:0x3fc7febb7424`

Это мой rgeo.rb

RGeo::ActiveRecord::SpatialFactoryStore.instance.tap do |config|
config.default = RGeo::Geos.factory_generator
config.register(RGeo::Geographic.spherical_factory(srid: 4326), geo_type: "point")
config.register(RGeo::Geographic.spherical_factory(srid: 4326), geo_type: "multi_polygon")
config.register(RGeo::Geographic.spherical_factory(srid: 4326), geo_type: "geometry_collection")

end

1 ответ

Решение

Я думаю, что со 110 звездами они делают это в рубине.

hash = RGeo::GeoJSON.encode(feature)
hash.to_json == str2      # => true

Тем не менее, я бы не стал этого делать. Я также не стал бы использовать Ruby. Проверьте PostGIS ST_AsGeoJSON, Возвращает особенность геойсона. То есть вырежьте RGeo из уравнения.

Другие вопросы по тегам