Я использую RoR с PostGIS для хранения данных о местоположении. Я пытаюсь сохранить предполагаемое местоположение, используя круг (например, центральную точку с радиусом).
Я пробовал что-то подобное, но это не работает:
@location = Location.new(:place_id => place.id,
:circle => %{ST_Buffer(ST_MakePoint(#{latitude}, #{longitude})::geography, #{accuracy})})
Я также пытался использовать RGeo и его фабрику, но не уверен, как именно его использовать.
Любая помощь будет оценена. Спасибо.
Редактировать 1: я добился некоторого прогресса.
factory = RGeo::Cartesian.factory
center_point = factory.point(latitude, longitude)
circle = center_point.buffer(accuracy)
@location = Location.new(:place_id => place.id,
:circle => circle)
НО - теперь выдает следующее исключение:
can't cast RGeo::Cartesian::Polygon Impl to string
Опять же, любая помощь будет оценена.