Имея столбец геометрии wkb_geometry
, srid 4326, который является MULTILINESTRING
, я хотел бы определить, какие из этих записей находятся на заданном расстоянии (скажем, 5000 м) от геометрического объекта POINT
в то время как следующий метод позволяет определить, содержит ли многоугольник точку
def self.containing_latlon(lat,lon, polygon)
ewkb = EWKB.generate(RGeo::Geographic.simple_mercator_factory.point(lon, lat).projection)
where("ST_Intersects(polygon, ST_GeomFromEWKB(E'\\\\x#{ewkb}'))")
end
ST_Intersects
явно не вариант, так как он применяется к любой части пространства, где они пересекаются.
Я не нашел документации, чтобы определить, находится ли линия в пределах X расстояния от точки. Но, может быть, вопрос перевернут? Если вопрос не будет, это точка внутри полигона, определяемая MULTILINESTRING и буфером.
Как нужно изменить вышеуказанный метод, чтобы выполнить это?