Страница 1 из 2
Закрытие отверстий в мультиполигоне
Добавлено: 27 ноя 2024, 14:59
_taras_
Имеется мультиполигон с классами и значениями площади. Нужно удалить все полигоны менее 1 га и закрыть дыры. Ежели с поиском и удалением все понятно, то команда "удалить отверстия" работает ежели указать удалить всё.
Подскажите как можно избавиться от них?
Re: Закрытие отверстий в мультиполигоне
Добавлено: 27 ноя 2024, 15:25
Константин Силкин
Добрый день! Можно уточнить суть вопроса? А то "понятно – не понятно", а что понятно – не понятно
Re: Закрытие отверстий в мультиполигоне
Добавлено: 27 ноя 2024, 15:30
gamm
написать программу, лучше на R, там топология понятнее. Потом пройтись циклом по всем кольцам в мультиполигоне, и выкинуть лишнее. Признак hole там есть.
Re: Закрытие отверстий в мультиполигоне
Добавлено: 27 ноя 2024, 15:45
Константин Силкин
Писал такие вещи для бразильского проекта. Могу поделиться
Re: Закрытие отверстий в мультиполигоне
Добавлено: 27 ноя 2024, 16:57
_taras_
Константин Силкин писал(а): ↑27 ноя 2024, 15:25
Добрый день! Можно уточнить суть вопроса? А то "понятно – не понятно", а что понятно – не понятно
Мультиполигон построен командой полигоны изолиний. Затем каждому диапазону значений был присвоен свой класс и затем командой объединение по признаку сгруппированы по классам. В таблице атрибутов были удалены полигоны площадью менее 1 га. Вот эти дырки и надобно включить в окружающий ее полигон.
Константин Силкин писал(а): ↑27 ноя 2024, 15:45
Писал такие вещи для бразильского проекта. Могу поделиться
Буду очень признателен. Я пытался сделать в R, но не получилось.
Re: Закрытие отверстий в мультиполигоне
Добавлено: 27 ноя 2024, 17:10
Константин Силкин
"Вот эти дырки и надобно включить в окружающий ее полигон" – тоже не понятно. Откуда дырки-то взялись? Их прежде не было, а потом их удалили…
Но не суть. Я писал в R скрипт по работе с полигонами, у которых есть дырки. В модели данных бразильского проекта это лесные массивы с полянами внутри них. Скрипт перебирает полигоны, если есть в них дырки, то контролируется их площадь. Если дырки невелики, то они залечиваются. В противном случае сохраняются для дальнейшего учёта. После этого ищется полюс недоступности полигона лесного массива для оценки максимальной удалённости лесной чащи от пугающих зверьё факторов.
В вашем случае поиск дырок вероятно может быть полезен. Но по-прежнему суть вашей проблемы от меня ускользает.
Я поищу своей скрипт. Мне не жалко. Было бы полезно только…
Re: Закрытие отверстий в мультиполигоне
Добавлено: 27 ноя 2024, 17:31
Константин Силкин
Нашёл скрипт. Дело было 5 лет назад, а комментировать я никогда код не любил. В общем, самому сейчас уже надо вспоминать его логику. Зазиповал файл скрипта, а то тут нельзя с расширением R файлы загружать. Если это то, что вам надо, то для разборок пишите в личку
Re: Закрытие отверстий в мультиполигоне
Добавлено: 27 ноя 2024, 17:50
_taras_
Константин Силкин писал(а): ↑27 ноя 2024, 17:10
В вашем случае поиск дырок вероятно может быть полезен. Но по-прежнему суть вашей проблемы от меня ускользает.
Это заготовка для ландшафтного анализа.... Для него желательно убрать мелкие полигоны (например до 0,5 га), т.к. это явные ошибки, артефакты. На рисунках показал, что хочу получить
Re: Закрытие отверстий в мультиполигоне
Добавлено: 27 ноя 2024, 17:58
Константин Силкин
Ну, понятно, т.е. мелкие дырки залечить. Мой скрипт так и называется "Залечивание дырок". Это там делается, ну и ещё кое-что по ходу
Re: Закрытие отверстий в мультиполигоне
Добавлено: 28 ноя 2024, 09:16
AlexRomantsov
QGIS, Анализ, Вектор-геометрия - Удалить отверстия - параметр Меньше чем. СК слоя для тестов - метрическая, отработало корректно. На градусных не пробовал
Re: Закрытие отверстий в мультиполигоне
Добавлено: 28 ноя 2024, 09:23
AlexRomantsov
Ну да, корректно только в проецируемых СК, если широты- долготы в слое - снесет все дыры ( 1 га, 100*100, в градусах равен половине земного шара)
Re: Закрытие отверстий в мультиполигоне
Добавлено: 28 ноя 2024, 10:40
_taras_
AlexRomantsov писал(а): ↑28 ноя 2024, 09:16
QGIS, Анализ, Вектор-геометрия - Удалить отверстия - параметр Меньше чем. СК слоя для тестов - метрическая, отработало корректно. На градусных не пробовал
Эту хохмочку я знаю... (С) И у меня система метрическая и эту команду пользовал... И мультипиолигон на отдельные составляющие и слои разносил... Но у меня срабатывала если параметр Меньше чем равен нулю.
Скорее всего сложную геометрию он обрабатывает плохо. Вроде такое поведение даже набаг-треке отметили....
Re: Закрытие отверстий в мультиполигоне
Добавлено: 28 ноя 2024, 14:48
gamm
_taras_ писал(а): ↑28 ноя 2024, 10:40Скорее всего сложную геометрию он обрабатывает плохо.
выложите пример полигона, на котром не работает, и порог по площади - я гляну.
Re: Закрытие отверстий в мультиполигоне
Добавлено: 29 ноя 2024, 05:28
AlexRomantsov
_taras_ писал(а): ↑28 ноя 2024, 10:40
Скорее всего сложную геометрию он обрабатывает плохо
Возможно, не в сложной геометрии дело, а в топологических ошибках границ, таких как петли. Нужен пример.
Re: Закрытие отверстий в мультиполигоне
Добавлено: 29 ноя 2024, 12:14
_taras_
Доброго времени! Спасибо всем откликнувшимся.
Создал два архива. Первый полный слой с мелкими полигонами, которые надобно удалить и затянуть дырки.
https://disk.yandex.ru/d/t2bjUVNn8J9hhw
Второй - один класс.