У меня есть список полигонов, внутри этого списка некоторые из полигонов перекрываются или касаются других полигонов.
Моя задача - объединить все полигоны, которые перекрываются или соприкасаются друг с другом.У меня есть метод union
, который делает это.
Какой самый эффективный способ сделать это?В настоящее время я могу думать о том, чтобы зациклить список многоугольников, проверить по объединенному списку, чтобы увидеть, принадлежит ли этот многоугольник как-то уже к одному из многоугольников в объединенном списке, если да, объединить их, если нет, добавить этот многоугольникдо конца объединенного списка.
Повторите вышеупомянутые шаги снова несколько раз, чтобы убедиться, что все полигоны правильно объединены.
Этот подход кажется очень не элегантным;Есть ли лучший способ сделать это?