Предположим, вам дано изображение земной поверхности, и оно сохраняется в базе данных в виде многоугольника, определяемого парами широты / долготы ее углов.
Теперь предположим, что миллионы изображений, покрывающих поверхность Земли, также хранятся аналогичным образом. Какова хорошая стратегия, чтобы найти те изображения, которые пересекаются с вашим заданным изображением?
У меня есть работающий базовый алгоритм, основанный на "ограничивающем радиусе" изображений. Но это не является оптимальным и находит больше изображений, чем должно быть возвращено.
Я рассмотрел пространственные функции ГИС в MySQL, но все вычисления в этом, похоже, сделаны в евклидовой геометрии.
По сути, мне просто нужна функция, которая возвращает «истина» или «ложь» в зависимости от того, пересекаются ли два многоугольника (на сфере и определяются точками широты и долготы). Кажется простым, но я еще не нашел реализацию. И мысль об этом сама утомляет.