У меня есть два больших списка полигонов.
Используя python, я хочу взять каждый многоугольник в списке 1 и найти результаты его геометрического пересечения с многоугольниками в списке 2 (я использую shapely для этого).
Таким образом, для многоугольника i в списке 1 может быть несколько многоугольников в списке 2, которые могут пересекаться с ним.
Проблема в том, что оба списка велики, и если я просто вложу два цикла и запускаю команду пересечения для каждого
Возможная пара полигонов, это занимает очень много времени. Я не уверен, что предшествующее пересечению с помощью логического теста значительно ускорит это (например, если пересекается: вернуть пересечение).
Что было бы для меня хорошим способом отсортировать или упорядочить эти два списка полигонов, чтобы сделать пересечения
более эффективным? Есть ли алгоритм сортировки, который подходит для этой ситуации, и который я мог бы сделать с помощью Python?
Я относительно новичок в программировании и не имею опыта в дискретной математике, так что если вы знаете существующий алгоритм
что я должен использовать, (который я предполагаю, существует для таких ситуаций), пожалуйста, ссылку или дать некоторые объяснения, которые могли бы помочь мне на самом деле
реализовать его в Python.
Кроме того, если есть лучший сайт StackExchange для этого вопроса, дайте мне знать. Я чувствую, что это связывает общее программирование на Python, ГИС и геометрию, поэтому я не был уверен в этом.