Я пытаюсь расширить область своего запроса, чтобы выбрать местоположения, которые находятся в пределах ограничивающего прямоугольника широт/долгот. Как правило, это отлично работает, учитывая, что ограничивающая рамка не пересекает международную линию дат.
SELECT *
FROM locations
WHERE latitude BETWEEN ? AND ?
AND longitude BETWEEN ? AND ?
Однако - если бы моя ограничивающая рамка пересекала международную линию дат - скажем, продольные границы 179.00
Для -179.00
затем запрос не возвращает никаких результатов. Я не могу просто перевернуть заказ и изменить его на между -179.00
и 179.00
потому что это вместо этого вернуло бы вещи за пределы моей ограничивающей рамки.
Каков самый разумный способ наилучшим образом определить необходимый соответствующий SQL (либо в виде SQL, либо в виде psuedocode, который поможет получить лучший SQL).