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

Удаление пробелов м/у полигонами

Добавлено: 01 дек 2017, 18:12
t[0]p
Здравствуйте!
Иногда необходимо упростить геометрию полигонов. Я это делаю средствами QGIS - он удаляет часть узлов полигонов, а после такой операции между этими полигонами появляются пробелы.
Иногда это недопустимо. Что бы устранить эти проблемы я руками произвожу редактирование узлов руками, т.е. притягиваю (с помощью прилипания в QGIS'е) узлы одного полигона к узлам другого.
Часто узлов которые нужно отредактировать (подтянуть) очень много и занимает много времени. Хочу хоть сколько то упростить себе жизнь - автоматизировать процесс удаления пробелов м/у полигонами, но не знаю куда смотреть...
Вопрос: Подскажите, возможно существует какое то бесплатное решение этой задачи (ArcGIS умеет, но у меня его нету)? Ну а если нету готового решения был бы рад помощи в описании логики для написания скрипта (или чего-то подобного).

Re: Удаление пробелов м/у полигонами

Добавлено: 01 дек 2017, 18:57
lam
1. Полигоны в линии
2. Упростить линии
3. Собрать полигоны из линий

Re: Удаление пробелов м/у полигонами

Добавлено: 01 дек 2017, 19:02
t[0]p
lam писал(а):
01 дек 2017, 18:57
Упростить линии
Стесняюсь спросить - а в чем разница между упрощением полигонов и линий?

Re: Удаление пробелов м/у полигонами

Добавлено: 01 дек 2017, 19:47
lam
Разница, в отсутствии пробелов между полигонами.

Re: Удаление пробелов м/у полигонами

Добавлено: 02 дек 2017, 09:33
freeExec
В полигонах каждый упрощается независимо, поэтому одна и та же грань лишается разных точек.

Re: Удаление пробелов м/у полигонами

Добавлено: 02 дек 2017, 12:39
5Nap
t[0]p, я для аркгиса делал такую штуку (там только цель была другая - нужно было генерализовать несколько слоёв, имеющих общие границы - как несколько уровней адм.деления). и логики была ровно такой, как описал lam.
перегоняете полигоны в линии, убираете дублирующиеся сегменты, все генерализуете, перегоняете обратно в полигоны и через spatial join восстанавливаете атрибутику.

Re: Удаление пробелов м/у полигонами

Добавлено: 03 дек 2017, 11:07
Александр Мурый
Попробуйте прогнать полигоны через модуль GRASS v.clean (модуль доступен через "Анализ данных" в QGIS). С опциями "bpol"и "prune" - первая "чистит" топологию, вторая упрощает полигоны с заданным порогом.