Как превратить пустоты внутри полигона в сам полигон ?
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Как превратить пустоты внутри полигона в сам полигон ?
Есть ли в ArcGIS или открытом софте ( QGIS, etc) инструмент, который позволяет убирать пустоты (дырки) внутри полигона? На примере – то, что нужно убрать перечеркнуто красным: это пустоты, со всех сторон окруженные данным полигоном (задача – превратить эти пустоты в тот полигон, который его окружает).
То есть задача - сделать полигон цельным внутри. Убрать все "озера"-пустоты, превратив их в сам полигон.
При этом, если пустота не со всех сторон окружена полигоном («залив») – ее надо оставить пустотой.
То есть задача - сделать полигон цельным внутри. Убрать все "озера"-пустоты, превратив их в сам полигон.
При этом, если пустота не со всех сторон окружена полигоном («залив») – ее надо оставить пустотой.
- Вложения
-
- holes.jpg (52.9 КБ) 10789 просмотров
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Как превратить пустоты внутри полигона в сам полигон ?
Вручную это можно сделать простым редактированием. Когда весь полигон выделяешь и переходишь в режим показа всех точек контура. То такие внутренние пустоты - удаляются при удалении всех его вершин.
По идее, может быть и автоматизированный процесс такого удаления.
Хотя ручной способ - уже хорошо. В моем случае вроде этого не так много.
По идее, может быть и автоматизированный процесс такого удаления.
Хотя ручной способ - уже хорошо. В моем случае вроде этого не так много.
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Как превратить пустоты внутри полигона в сам полигон ?
надо сделать новый полигон из внешней границы старого и записать его вместо старого - на SQL это делается в один запрос
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как превратить пустоты внутри полигона в сам полигон ?
В QGIS можно через Processing --> "Delete holes". В ArcGIS попробуйте инструмент Eliminate Polygon Part.
Редактор материалов, модератор форума
- Natalia Novoselova
- Гуру
- Сообщения: 3020
- Зарегистрирован: 15 янв 2013, 20:14
- Репутация: 69
- Ваше звание: Лиса
- Откуда: **
- Контактная информация:
Re: Как превратить пустоты внутри полигона в сам полигон ?
Александр Мурый писал(а): В ArcGIS попробуйте инструмент Eliminate Polygon Part.
Спасибо! Делает. Надо настроить правильно - у меня получилось лучше через проценты.
- nadiopt
- Гуру
- Сообщения: 4744
- Зарегистрирован: 29 янв 2009, 13:27
- Репутация: 495
- Ваше звание: хрюкало
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Как превратить пустоты внутри полигона в сам полигон ?
можно еще перегнать в грид и обратно
ин гроссен фамилен нихт клювен клац клац
- Prince660
- Активный участник
- Сообщения: 164
- Зарегистрирован: 25 мар 2011, 20:12
- Репутация: 15
- Ваше звание: Питоновод
- Откуда: г. Симферорполь
- Контактная информация:
Re: Как превратить пустоты внутри полигона в сам полигон ?
Я бы на питоне скрипт написал, чтобы он брал полигоны из файла и сохранял в другой файл эти полигоны, но только с координатами внешних границ. Соответственно дырок там уже не будет.
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
-
- Интересующийся
- Сообщения: 40
- Зарегистрирован: 17 июл 2020, 09:11
- Репутация: 2
- Откуда: Киев
Re: Как превратить пустоты внутри полигона в сам полигон ?
Аналогичный вопрос, как и у автора. в Кгисе попробовала метод "Delete Holes". Он убрал дырки начисто, но не превратил в пустоты, а просто полигоны стали "чистые"Александр Мурый писал(а): ↑15 апр 2017, 09:35В QGIS можно через Processing --> "Delete holes". В ArcGIS попробуйте инструмент Eliminate Polygon Part.
-
- Завсегдатай
- Сообщения: 345
- Зарегистрирован: 11 дек 2006, 09:46
- Репутация: 102
- Откуда: Иркутск
Re: Как превратить пустоты внутри полигона в сам полигон ?
Veronika_Coconut, ну да, если дырки нет - значит её нет, а есть большой полигон без дырки. А как можно "дырки" превратить в "пустоты"?
-
- Интересующийся
- Сообщения: 40
- Зарегистрирован: 17 июл 2020, 09:11
- Репутация: 2
- Откуда: Киев
Re: Как превратить пустоты внутри полигона в сам полигон ?
покажу на изображении:
1)некоторые программы не любят мультиполигоны, и потэтому все "дырки" создателем вектора представляются в виде разрывов. Дырки в подобные вырезки я пока чт могу исправлять только вручную...
2)А на втором изображении самая класическая дыра, которую и убирает ранее описанный метод в Кгисе, только не делает из нее предыдущий вариант дыри,а напрочь "зашивает" все дырки.
И иногда очень нужно сделать из второго первое не руками.
- Вложения
-
- дыра, но не мультиполигон
- дырка_1.jpg (275.62 КБ) 6426 просмотров
-
- дыра-мультиполигон
- дыр2.jpg (135.54 КБ) 6426 просмотров
-
- Завсегдатай
- Сообщения: 345
- Зарегистрирован: 11 дек 2006, 09:46
- Репутация: 102
- Откуда: Иркутск
Re: Как превратить пустоты внутри полигона в сам полигон ?
Veronika_Coconut, да уж, с таким не сталкивался, слава Богу. Автоматики для подобных изысков не видел, хотя, в принципе, соответствующий модуль не так и сложно написать. А что за программы требуют таких ухищрений, если не секрет?
-
- Гуру
- Сообщения: 4067
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1062
- Ваше звание: программист
- Откуда: Казань
Re: Как превратить пустоты внутри полигона в сам полигон ?
жуть какая ... лучше такие программы не использовать, а написавших такое - уволить без выходного пособияVeronika_Coconut писал(а): ↑11 мар 2021, 16:06некоторые программы не любят мультиполигоны, и потэтому все "дырки" создателем вектора представляются в виде разрывов
такой маразм только руками можно сделать, если резать полигоны линией. Или программу писать на R/Python ... искать, кто в кого вложен, потом искать во внешнем контуре точку, ближайшую к одной из точек дырки, вставлять дырку во внешний контур (убедившись, что линия разреза лежит внутри внешнего контура), и убирать дырку.
-
- Интересующийся
- Сообщения: 40
- Зарегистрирован: 17 июл 2020, 09:11
- Репутация: 2
- Откуда: Киев
Re: Как превратить пустоты внутри полигона в сам полигон ?
Если знакомы с такими системами, как Climat Field View, в John Deere был такой заскок, но исправили, или очень старая версия Global Mapper, то там не читает, видит как два отдельных полигона. В онлайн системе Climat Field View, где идентификатором поля является его название, он еще и самозаменяет поля з одинаковыми названиями (а части мультиполигона как раз тот случай) и загружает только какую-то одну часть полигона
Последний раз редактировалось Veronika_Coconut 12 мар 2021, 10:45, всего редактировалось 1 раз.
-
- Интересующийся
- Сообщения: 40
- Зарегистрирован: 17 июл 2020, 09:11
- Репутация: 2
- Откуда: Киев
Re: Как превратить пустоты внутри полигона в сам полигон ?
Про маразм согласна)) Спасибо большое за ответ, я пытаюсь научится Python самостоятельно, но это очень долго)) Но когда научусь- воспользуюсь вашим советом!gamm писал(а): ↑11 мар 2021, 16:59такой маразм только руками можно сделать, если резать полигоны линией. Или программу писать на R/Python ... искать, кто в кого вложен, потом искать во внешнем контуре точку, ближайшую к одной из точек дырки, вставлять дырку во внешний контур (убедившись, что линия разреза лежит внутри внешнего контура), и убирать дырку.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей