Закрытие отверстий в мультиполигоне
-
- Активный участник
- Сообщения: 228
- Зарегистрирован: 28 июл 2018, 08:40
- Репутация: 16
- Откуда: Киев
Закрытие отверстий в мультиполигоне
Имеется мультиполигон с классами и значениями площади. Нужно удалить все полигоны менее 1 га и закрыть дыры. Ежели с поиском и удалением все понятно, то команда "удалить отверстия" работает ежели указать удалить всё.
Подскажите как можно избавиться от них?
Подскажите как можно избавиться от них?
-
- Завсегдатай
- Сообщения: 447
- Зарегистрирован: 21 мар 2012, 07:37
- Репутация: 67
- Откуда: Воронеж
Re: Закрытие отверстий в мультиполигоне
Добрый день! Можно уточнить суть вопроса? А то "понятно – не понятно", а что понятно – не понятно
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Закрытие отверстий в мультиполигоне
написать программу, лучше на R, там топология понятнее. Потом пройтись циклом по всем кольцам в мультиполигоне, и выкинуть лишнее. Признак hole там есть.
-
- Завсегдатай
- Сообщения: 447
- Зарегистрирован: 21 мар 2012, 07:37
- Репутация: 67
- Откуда: Воронеж
Re: Закрытие отверстий в мультиполигоне
Писал такие вещи для бразильского проекта. Могу поделиться
-
- Активный участник
- Сообщения: 228
- Зарегистрирован: 28 июл 2018, 08:40
- Репутация: 16
- Откуда: Киев
Re: Закрытие отверстий в мультиполигоне
Мультиполигон построен командой полигоны изолиний. Затем каждому диапазону значений был присвоен свой класс и затем командой объединение по признаку сгруппированы по классам. В таблице атрибутов были удалены полигоны площадью менее 1 га. Вот эти дырки и надобно включить в окружающий ее полигон.Константин Силкин писал(а): ↑27 ноя 2024, 15:25Добрый день! Можно уточнить суть вопроса? А то "понятно – не понятно", а что понятно – не понятно
Буду очень признателен. Я пытался сделать в R, но не получилось.Константин Силкин писал(а): ↑27 ноя 2024, 15:45Писал такие вещи для бразильского проекта. Могу поделиться
-
- Завсегдатай
- Сообщения: 447
- Зарегистрирован: 21 мар 2012, 07:37
- Репутация: 67
- Откуда: Воронеж
Re: Закрытие отверстий в мультиполигоне
"Вот эти дырки и надобно включить в окружающий ее полигон" – тоже не понятно. Откуда дырки-то взялись? Их прежде не было, а потом их удалили…
Но не суть. Я писал в R скрипт по работе с полигонами, у которых есть дырки. В модели данных бразильского проекта это лесные массивы с полянами внутри них. Скрипт перебирает полигоны, если есть в них дырки, то контролируется их площадь. Если дырки невелики, то они залечиваются. В противном случае сохраняются для дальнейшего учёта. После этого ищется полюс недоступности полигона лесного массива для оценки максимальной удалённости лесной чащи от пугающих зверьё факторов.
В вашем случае поиск дырок вероятно может быть полезен. Но по-прежнему суть вашей проблемы от меня ускользает.
Я поищу своей скрипт. Мне не жалко. Было бы полезно только…
Но не суть. Я писал в R скрипт по работе с полигонами, у которых есть дырки. В модели данных бразильского проекта это лесные массивы с полянами внутри них. Скрипт перебирает полигоны, если есть в них дырки, то контролируется их площадь. Если дырки невелики, то они залечиваются. В противном случае сохраняются для дальнейшего учёта. После этого ищется полюс недоступности полигона лесного массива для оценки максимальной удалённости лесной чащи от пугающих зверьё факторов.
В вашем случае поиск дырок вероятно может быть полезен. Но по-прежнему суть вашей проблемы от меня ускользает.
Я поищу своей скрипт. Мне не жалко. Было бы полезно только…
-
- Завсегдатай
- Сообщения: 447
- Зарегистрирован: 21 мар 2012, 07:37
- Репутация: 67
- Откуда: Воронеж
Re: Закрытие отверстий в мультиполигоне
Нашёл скрипт. Дело было 5 лет назад, а комментировать я никогда код не любил. В общем, самому сейчас уже надо вспоминать его логику. Зазиповал файл скрипта, а то тут нельзя с расширением R файлы загружать. Если это то, что вам надо, то для разборок пишите в личку
- Вложения
-
HoleHealing_v05.zip
- (4.93 КБ) 104 скачивания
-
- Активный участник
- Сообщения: 228
- Зарегистрирован: 28 июл 2018, 08:40
- Репутация: 16
- Откуда: Киев
Re: Закрытие отверстий в мультиполигоне
Это заготовка для ландшафтного анализа.... Для него желательно убрать мелкие полигоны (например до 0,5 га), т.к. это явные ошибки, артефакты. На рисунках показал, что хочу получитьКонстантин Силкин писал(а): ↑27 ноя 2024, 17:10В вашем случае поиск дырок вероятно может быть полезен. Но по-прежнему суть вашей проблемы от меня ускользает.
- Вложения
-
- scrin.jpg (105.84 КБ) 2067 просмотров
-
- scrin_2.jpg (99.31 КБ) 2067 просмотров
-
- Завсегдатай
- Сообщения: 447
- Зарегистрирован: 21 мар 2012, 07:37
- Репутация: 67
- Откуда: Воронеж
Re: Закрытие отверстий в мультиполигоне
Ну, понятно, т.е. мелкие дырки залечить. Мой скрипт так и называется "Залечивание дырок". Это там делается, ну и ещё кое-что по ходу
-
- Завсегдатай
- Сообщения: 420
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 162
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Закрытие отверстий в мультиполигоне
QGIS, Анализ, Вектор-геометрия - Удалить отверстия - параметр Меньше чем. СК слоя для тестов - метрическая, отработало корректно. На градусных не пробовал
-
- Завсегдатай
- Сообщения: 420
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 162
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Закрытие отверстий в мультиполигоне
Ну да, корректно только в проецируемых СК, если широты- долготы в слое - снесет все дыры ( 1 га, 100*100, в градусах равен половине земного шара)
-
- Активный участник
- Сообщения: 228
- Зарегистрирован: 28 июл 2018, 08:40
- Репутация: 16
- Откуда: Киев
Re: Закрытие отверстий в мультиполигоне
Эту хохмочку я знаю... (С) И у меня система метрическая и эту команду пользовал... И мультипиолигон на отдельные составляющие и слои разносил... Но у меня срабатывала если параметр Меньше чем равен нулю.AlexRomantsov писал(а): ↑28 ноя 2024, 09:16QGIS, Анализ, Вектор-геометрия - Удалить отверстия - параметр Меньше чем. СК слоя для тестов - метрическая, отработало корректно. На градусных не пробовал
Скорее всего сложную геометрию он обрабатывает плохо. Вроде такое поведение даже набаг-треке отметили....
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
-
- Завсегдатай
- Сообщения: 420
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 162
- Ваше звание: хм, сам не знал
- Откуда: Томск
-
- Активный участник
- Сообщения: 228
- Зарегистрирован: 28 июл 2018, 08:40
- Репутация: 16
- Откуда: Киев
Re: Закрытие отверстий в мультиполигоне
Доброго времени! Спасибо всем откликнувшимся.
Создал два архива. Первый полный слой с мелкими полигонами, которые надобно удалить и затянуть дырки.
https://disk.yandex.ru/d/t2bjUVNn8J9hhw
Второй - один класс.
Создал два архива. Первый полный слой с мелкими полигонами, которые надобно удалить и затянуть дырки.
https://disk.yandex.ru/d/t2bjUVNn8J9hhw
Второй - один класс.
- Вложения
-
class_mask.zip
- (66.73 КБ) 91 скачивание
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя