Как превратить пустоты внутри полигона в сам полигон ?

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Как превратить пустоты внутри полигона в сам полигон ?

Сообщение Natalia Novoselova »

Есть ли в ArcGIS или открытом софте ( QGIS, etc) инструмент, который позволяет убирать пустоты (дырки) внутри полигона? На примере – то, что нужно убрать перечеркнуто красным: это пустоты, со всех сторон окруженные данным полигоном (задача – превратить эти пустоты в тот полигон, который его окружает).
То есть задача - сделать полигон цельным внутри. Убрать все "озера"-пустоты, превратив их в сам полигон.

При этом, если пустота не со всех сторон окружена полигоном («залив») – ее надо оставить пустотой.
Вложения
holes.jpg
holes.jpg (52.9 КБ) 11901 просмотр
Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение Natalia Novoselova »

Вручную это можно сделать простым редактированием. Когда весь полигон выделяешь и переходишь в режим показа всех точек контура. То такие внутренние пустоты - удаляются при удалении всех его вершин.

По идее, может быть и автоматизированный процесс такого удаления.

Хотя ручной способ - уже хорошо. В моем случае вроде этого не так много.
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение trir »

надо сделать новый полигон из внешней границы старого и записать его вместо старого - на SQL это делается в один запрос
Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение Александр Мурый »

В QGIS можно через Processing --> "Delete holes". В ArcGIS попробуйте инструмент Eliminate Polygon Part.
Редактор материалов, модератор форума
Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение Natalia Novoselova »

Александр Мурый писал(а): В ArcGIS попробуйте инструмент Eliminate Polygon Part.

Спасибо! Делает. Надо настроить правильно - у меня получилось лучше через проценты.
Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение nadiopt »

можно еще перегнать в грид и обратно
ин гроссен фамилен нихт клювен клац клац
Аватара пользователя
Prince660
Активный участник
Сообщения: 164
Зарегистрирован: 25 мар 2011, 20:12
Репутация: 15
Ваше звание: Питоновод
Откуда: г. Симферорполь
Контактная информация:

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение Prince660 »

Я бы на питоне скрипт написал, чтобы он брал полигоны из файла и сохранял в другой файл эти полигоны, но только с координатами внешних границ. Соответственно дырок там уже не будет.
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение trir »

Veronika_Coconut
Интересующийся
Сообщения: 40
Зарегистрирован: 17 июл 2020, 09:11
Репутация: 2
Откуда: Киев

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение Veronika_Coconut »

Александр Мурый писал(а): 15 апр 2017, 09:35В QGIS можно через Processing --> "Delete holes". В ArcGIS попробуйте инструмент Eliminate Polygon Part.
Аналогичный вопрос, как и у автора. в Кгисе попробовала метод "Delete Holes". Он убрал дырки начисто, но не превратил в пустоты, а просто полигоны стали "чистые"
Ivor
Завсегдатай
Сообщения: 345
Зарегистрирован: 11 дек 2006, 09:46
Репутация: 102
Откуда: Иркутск

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение Ivor »

Veronika_Coconut, ну да, если дырки нет - значит её нет, а есть большой полигон без дырки. А как можно "дырки" превратить в "пустоты"?
Veronika_Coconut
Интересующийся
Сообщения: 40
Зарегистрирован: 17 июл 2020, 09:11
Репутация: 2
Откуда: Киев

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение Veronika_Coconut »

Ivor писал(а): 05 мар 2021, 03:28 ну да, если дырки нет - значит её нет, а есть большой полигон без дырки. А как можно "дырки" превратить в "пустоты"?
покажу на изображении:
1)некоторые программы не любят мультиполигоны, и потэтому все "дырки" создателем вектора представляются в виде разрывов. Дырки в подобные вырезки я пока чт могу исправлять только вручную...
2)А на втором изображении самая класическая дыра, которую и убирает ранее описанный метод в Кгисе, только не делает из нее предыдущий вариант дыри,а напрочь "зашивает" все дырки.
И иногда очень нужно сделать из второго первое не руками.
Вложения
дыра, но не мультиполигон
дыра, но не мультиполигон
дырка_1.jpg (275.62 КБ) 7538 просмотров
дыра-мультиполигон
дыра-мультиполигон
дыр2.jpg (135.54 КБ) 7538 просмотров
Ivor
Завсегдатай
Сообщения: 345
Зарегистрирован: 11 дек 2006, 09:46
Репутация: 102
Откуда: Иркутск

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение Ivor »

Veronika_Coconut, да уж, с таким не сталкивался, слава Богу. Автоматики для подобных изысков не видел, хотя, в принципе, соответствующий модуль не так и сложно написать. А что за программы требуют таких ухищрений, если не секрет?
gamm
Гуру
Сообщения: 4170
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение gamm »

Veronika_Coconut писал(а): 11 мар 2021, 16:06некоторые программы не любят мультиполигоны, и потэтому все "дырки" создателем вектора представляются в виде разрывов
жуть какая ... лучше такие программы не использовать, а написавших такое - уволить без выходного пособия :mrgreen:

такой маразм только руками можно сделать, если резать полигоны линией. Или программу писать на R/Python ... искать, кто в кого вложен, потом искать во внешнем контуре точку, ближайшую к одной из точек дырки, вставлять дырку во внешний контур (убедившись, что линия разреза лежит внутри внешнего контура), и убирать дырку.
Veronika_Coconut
Интересующийся
Сообщения: 40
Зарегистрирован: 17 июл 2020, 09:11
Репутация: 2
Откуда: Киев

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение Veronika_Coconut »

Ivor писал(а): 11 мар 2021, 16:56А что за программы требуют таких ухищрений, если не секрет?
Если знакомы с такими системами, как Climat Field View, в John Deere был такой заскок, но исправили, или очень старая версия Global Mapper, то там не читает, видит как два отдельных полигона. В онлайн системе Climat Field View, где идентификатором поля является его название, он еще и самозаменяет поля з одинаковыми названиями (а части мультиполигона как раз тот случай) и загружает только какую-то одну часть полигона :? :oops: :lol:
Последний раз редактировалось Veronika_Coconut 12 мар 2021, 10:45, всего редактировалось 1 раз.
Veronika_Coconut
Интересующийся
Сообщения: 40
Зарегистрирован: 17 июл 2020, 09:11
Репутация: 2
Откуда: Киев

Re: Как превратить пустоты внутри полигона в сам полигон ?

Сообщение Veronika_Coconut »

gamm писал(а): 11 мар 2021, 16:59такой маразм только руками можно сделать, если резать полигоны линией. Или программу писать на R/Python ... искать, кто в кого вложен, потом искать во внешнем контуре точку, ближайшую к одной из точек дырки, вставлять дырку во внешний контур (убедившись, что линия разреза лежит внутри внешнего контура), и убирать дырку.
Про маразм согласна)) Спасибо большое за ответ, я пытаюсь научится Python самостоятельно, но это очень долго)) Но когда научусь- воспользуюсь вашим советом!
Ответить

Вернуться в «Общий - ПО»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя