Я использую ArcGIS Desktop 10.0.
У меня есть хитрость для удаления отверстий для пончиков: преобразование многоугольника в линию, а затем создание многоугольника из линий и, в конце концов, объединение их всех. Недостаток этой стратегии заключается в том, что она удаляет другие дыры и пустые области, которые на самом деле пусты и должны оставаться пустыми. Смотрите изображение ниже:
Ответы:
Я бы попробовал инструмент Union с NO_GAPS:
Затем вы можете выбрать объекты с пустыми атрибутами ниже порогового размера и рассчитать их атрибуты, чтобы они были такими же, как у исходного многоугольника, или скопировать / вставить их в окне атрибутов редактора.
Объекты с пустыми атрибутами выше порогового размера должны быть удалены.
Оттуда инструмент Dissolve должен завершить работу.
источник
Решение PolyGeo - это то, что я использовал сам и работает хорошо (+1). Другая альтернатива - это накапливать полигоны на небольшое количество, а затем снимать с буфера результат на то же количество (скажем, + 1 м, а затем -1 м). Это также хорошо работает, но сопряжено с небольшим риском случайного объединения полигонов, которые соседствуют с тем же количеством, что и ваш буфер. Это также может увеличить количество ваших вершин (что может быть или не быть проблемой).
Вы также можете написать скрипт для надежного решения, перебирая каждый полигон, создавая временные полигоны на основе внутренних колец и проверяя их на предмет их областей. Если они ниже вашего порога, вы удалите это внутреннее кольцо из геометрии и обновите свой ряд. Это решение больше работает, чем решение PolyGeo или мой буферный взлом выше, но, возможно, является «более чистым» подходом.
источник
В ArcToolbox вы можете использовать инструмент «Удаление части полигона» (Инструменты управления данными -> Обобщение). Вы можете указать минимальную площадь отверстия / процент для удаления.
источник
Вот еще один способ удалить озера из полигонов (например, слой карты с почтовым индексом из Navteq). Это также полезно для очистки слоев карты территории, созданных путем растворения слоя карты почтового индекса кодом территории.
Обратите внимание, что это не решит проблему рек, врезанных в контур многоугольника, но улучшит исходный слой карты, удалив внутренние отверстия для пончиков.
источник
Если многоугольники в классе пространственных объектов содержат другие многоугольники в том же классе пространственных объектов (например, Лесото внутри Южной Африки) и если вам необходимо исключить ручное редактирование в пользу ModelBuilder и т. Д., То использование «Устранить часть многоугольника» является самым быстрым решением. Настройки инструмента:
- «Условие (необязательно)» = ОБЛАСТЬ - «Площадь (необязательно)» = очень большое число (скажем, 1e + 100) - «Удалить только содержащиеся части (необязательно)» = [проверено]
Это даст Южную Африку с заполненной областью Лесото, что необходимо для рабочих процессов, таких как вывод вершин для использования в визуалах Polygon в Таблице.
источник
Так как он не был упомянут до сих пор и, кажется, является правильным инструментом для именно того, чего вы пытаетесь достичь: Aggregate Polygons
Установите минимальный размер_узла равным минимальному размеру многоугольного отверстия, которое вы хотите сохранить. Меньшие из них будут устранены.
Необязательное значение Minimum_area в том же инструменте делает то же самое для частей многоугольника, которые не являются отверстиями.
источник