Boost Geometry: объединение нескольких полигонов C ++ - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть массив из нескольких полигонов Boost.Geometry, и мне нужно объединить их в один полигон. Я успешно реализовал что-то, что объединяет каждый последующий многоугольник с объединением предыдущих двух (просто проходя через них и объединяя другой многоугольник).

multi_polygon polygons; // an array of initial polygons
multi_polygon border;   // the unioned polygons

for (polygon p : polygons) {
    // add another polygon each iteration
    multi_polygon tmp_poly;
    union_(border, p, tmp_poly);
    border = tmp_poly;
}

Однако выполнение занимает довольно много времени. Я слышал упоминание в видео, что для этого можно использовать функцию assign, но не было подробно, как, и я не мог найти что-нибудь еще об этом. Как я могу ускорить этот процесс?

...