dzheka3d
@dzheka3d

Как правильно получить точки с координатами внутри прямоегольника?

Всем привет! У меня такая ситуация... Есть координаты двух точек прямоугольника (левый верхний и правый нижний угол). Нужно получить из БД координаты которые находятся внутри этого прямоугольника.
Получился вот такой запрос:
SELECT * FROM `coordinates`
WHERE (`lat` BETWEEN '{$latitude2}' AND '{$latitude1}') AND (`lng` BETWEEN '{$longitude1}' AND '{$longitude2}')

Все работает хорошо, до тех пор, пока не оказывается так, что прямоугольник пересекает нулевой мередиан, или экватор, потому что, фактически, запрос становится противоположным:
SELECT * FROM `coordinates`
WHERE (`lat` BETWEEN '-7.987931' AND '6.775799') AND (`lng` BETWEEN '172.152671' AND '-168.106551')

Что уже не корректно. Подскажите как решить проблему?
  • Вопрос задан
  • 32 просмотра
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Senior .NET developer
Правильно как то так
https://dev.mysql.com/doc/refman/8.0/en/spatial-re...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SaveTime Москва
от 160 000 ₽
Blogman Санкт-Петербург
от 90 000 до 160 000 ₽
08 апр. 2020, в 04:51
16000 руб./за проект
08 апр. 2020, в 00:40
15000 руб./за проект