Palych_tw
@Palych_tw
Типа веб-разработчик

Как в PostGIS получить точки внутри заданной площади?

У меня есть таблица с местами. В таблице есть колонка coordinates типа geography(POINT), координаты с гугл карт.
Задача выбрать места, которые входят в определенную область на карте (видимый на фронте участок гугл карт).

С фронта мне присылают координаты нижнего левого и верхнего правого угла, теоретически можно попробовать получить все четыре.

Не могу разобраться в доках к постгису.. смотрел на функции ST_Contains и ST_CoveredBy, но как-то не очень понял.. в доках примеры не очень ясные. А может не то смотрел.
  • Вопрос задан
  • 328 просмотров
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
Из этих координат углов строите линию. Затем ищете пересечение охватывающих прямоугольников для данной линии и ваших точек.
SELECT * FROM table WHERE geom && 'LINESTRING(0 0, 3 3)'::geometry

П.С. не забудь правильно указать систему координат.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы