Страница 1 из 1

Объединение полилиний

Добавлено: 14 апр 2015, 13:28
vlalexey
Есть SHP слой с набором полилиний. Эти полилинии описывают замкнутые границы (набор островов со сложной границей), но контур каждого острова может быть отрисован множеством полилиний, при этом концы полилиний аккуратно совпадают (с некоторой точностью - думаю до первого знака после запятой в метрах точно).

Нужно получить контуры в виде полигонов. Т.е. полигоны у которых начало и концы совпадают должны быть объединены в новые полилинии. И затем на основании этих полилиний сделаны полигоны.

Полигоны могут получены с небольшой погрешностью (1 метр) от исходных полилиний) - т.к. будут смотреться на крупном масштабе, где этот 1 м будет незаметен.

Количество полилиний в слое - около 20 тысяч.

Я придумал такой процесс
1. Для всех полилиний строй буфер с минимальным отступом (1 метр).
2. Объединяю эти полигоны - получаю единый мультиполигон где каждый полигон внутри него, это кольцо, описывающее остров.
3. Удаляю "дырки" из полигонов.

Есть более простой подход?

На шаге 2 операция "Объединение по признаку" занимает оч. много времени (10% обработки заняло 2 часа. пока остановил).

Re: Объединение полилиний

Добавлено: 14 апр 2015, 17:07
Александр Мурый
Без самих данных сложно сказать. Можете приложить данные или хотя бы их часть? И слой с результатом (что надо получить в итоге).

Re: Объединение полилиний

Добавлено: 15 апр 2015, 17:56
vlalexey
Прикладываю часть данных (shp слой)

Re: Объединение полилиний

Добавлено: 16 апр 2015, 09:49
АлексейП
Правильно ли я понял что на выходе нужно получить следующее (вложение)

Если да - то это решается через "Правка- Объединить выделенные объекты", после этого "Вектор- обработка Геометрии - Линии в полигоны"