Всем привет! У меня такая ситуация... Есть координаты двух точек прямоугольника (левый верхний и правый нижний угол). Нужно получить из БД координаты которые находятся внутри этого прямоугольника.
Получился вот такой запрос:
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')
Что уже не корректно. Подскажите как решить проблему?