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

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

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

При этом, если пустота не со всех сторон окружена полигоном («залив») – ее надо оставить пустотой.

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

Добавлено: 15 апр 2017, 04:04
Natalia Novoselova
Вручную это можно сделать простым редактированием. Когда весь полигон выделяешь и переходишь в режим показа всех точек контура. То такие внутренние пустоты - удаляются при удалении всех его вершин.

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

Хотя ручной способ - уже хорошо. В моем случае вроде этого не так много.

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

Добавлено: 15 апр 2017, 08:10
trir
надо сделать новый полигон из внешней границы старого и записать его вместо старого - на SQL это делается в один запрос

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

Добавлено: 15 апр 2017, 09:35
Александр Мурый
В QGIS можно через Processing --> "Delete holes". В ArcGIS попробуйте инструмент Eliminate Polygon Part.

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

Добавлено: 16 апр 2017, 03:34
Natalia Novoselova
Александр Мурый писал(а): В ArcGIS попробуйте инструмент Eliminate Polygon Part.

Спасибо! Делает. Надо настроить правильно - у меня получилось лучше через проценты.

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

Добавлено: 16 апр 2017, 10:01
nadiopt
можно еще перегнать в грид и обратно

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

Добавлено: 03 ноя 2017, 12:56
Prince660
Я бы на питоне скрипт написал, чтобы он брал полигоны из файла и сохранял в другой файл эти полигоны, но только с координатами внешних границ. Соответственно дырок там уже не будет.

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

Добавлено: 03 ноя 2017, 15:08
trir

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

Добавлено: 04 мар 2021, 16:05
Veronika_Coconut
Александр Мурый писал(а):
15 апр 2017, 09:35
В QGIS можно через Processing --> "Delete holes". В ArcGIS попробуйте инструмент Eliminate Polygon Part.
Аналогичный вопрос, как и у автора. в Кгисе попробовала метод "Delete Holes". Он убрал дырки начисто, но не превратил в пустоты, а просто полигоны стали "чистые"

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

Добавлено: 05 мар 2021, 03:28
Ivor
Veronika_Coconut, ну да, если дырки нет - значит её нет, а есть большой полигон без дырки. А как можно "дырки" превратить в "пустоты"?

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

Добавлено: 11 мар 2021, 16:06
Veronika_Coconut
Ivor писал(а):
05 мар 2021, 03:28
ну да, если дырки нет - значит её нет, а есть большой полигон без дырки. А как можно "дырки" превратить в "пустоты"?
покажу на изображении:
1)некоторые программы не любят мультиполигоны, и потэтому все "дырки" создателем вектора представляются в виде разрывов. Дырки в подобные вырезки я пока чт могу исправлять только вручную...
2)А на втором изображении самая класическая дыра, которую и убирает ранее описанный метод в Кгисе, только не делает из нее предыдущий вариант дыри,а напрочь "зашивает" все дырки.
И иногда очень нужно сделать из второго первое не руками.

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

Добавлено: 11 мар 2021, 16:56
Ivor
Veronika_Coconut, да уж, с таким не сталкивался, слава Богу. Автоматики для подобных изысков не видел, хотя, в принципе, соответствующий модуль не так и сложно написать. А что за программы требуют таких ухищрений, если не секрет?

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

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

такой маразм только руками можно сделать, если резать полигоны линией. Или программу писать на R/Python ... искать, кто в кого вложен, потом искать во внешнем контуре точку, ближайшую к одной из точек дырки, вставлять дырку во внешний контур (убедившись, что линия разреза лежит внутри внешнего контура), и убирать дырку.

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

Добавлено: 12 мар 2021, 10:41
Veronika_Coconut
Ivor писал(а):
11 мар 2021, 16:56
А что за программы требуют таких ухищрений, если не секрет?
Если знакомы с такими системами, как Climat Field View, в John Deere был такой заскок, но исправили, или очень старая версия Global Mapper, то там не читает, видит как два отдельных полигона. В онлайн системе Climat Field View, где идентификатором поля является его название, он еще и самозаменяет поля з одинаковыми названиями (а части мультиполигона как раз тот случай) и загружает только какую-то одну часть полигона :? :oops: :lol:

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

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