Подпись | Описание | Тип данных |
Входные объекты | Входной класс объектов или слой, пространственные объекты которого будут скопированы в выходной класс объектов, и некоторые части и пробелы будут удалены. | Feature Layer |
Выходной класс пространственных объектов | Выходной класс полигональных объектов, содержащий оставшиеся части. | Feature Class |
Условие (Дополнительный) | Укажите, как будут определяться части, которые будут удалены.
| String |
Площадь (Дополнительный) | Удалить части, меньшие этой площади. | Areal Unit |
Проценты (Дополнительный) | Удалить части, меньшие этого процента общей внешней площади пространственного объекта. | Double |
Удалять только вложенные части (Дополнительный) | Определяет, какие части будут удалены.
| Boolean |
Доступно с лицензией Advanced.
Краткая информация
Создает новый выходной класс пространственных объектов, содержащий объекты из входных полигонов, в которых удалены некоторые части или пробелы заданного размера.
Иллюстрация
Использование
Т.к. пробелы полигона считаются его частями, их можно удалить или заполнить с помощью этого инструмента. Если площадь пробела меньше заданного размера, пробел будет удален и пространство будет заполнено в выходных данных. Те части, которые находятся внутри удаленного пробела, также будут удалены в выходных данных.
Размер части может быть указан как площадь, проценты, или как их комбинация. Чтобы определить задаваемый размер части, нужно использовать параметр Условие. Опции AREA_AND_PERCENT и AREA_OR_PERCENT параметра Условие (Condition) используются для удаления частей с помощью критериев площади и процентов.
Проценты части полигона вычисляются как процентное соотношение общей внешней площади пространственного объекта, включая площадь всех пробелов. Например, если полигон с пробелом имеет площадь 75 квадратных метров, где пробел покрывает 25 квадратных метров, общая внешняя площадь полигона – 100 квадратных метров. Чтобы удалить этот пробел, нужно задать площадь больше 25 квадратных метров или в процентах – 25%. Если входными данными является составной полигон, внешней площадью пространственного объекта будет сумма площади, покрытой всеми частями полигона.
Для составных полигонов, площадь каждой части будет сравниваться с указанной площадью. Если отдельная часть полигона меньше заданного размера, часть будет удалена в выходных данных.
Если части полигонального объекта меньше заданного размера, наибольшая часть будет храниться в выходных данных, пока все внешние части не будут удалены.
Параметры
arcpy.management.EliminatePolygonPart(in_features, out_feature_class, {condition}, {part_area}, {part_area_percent}, {part_option})
Имя | Описание | Тип данных |
in_features | Входной класс объектов или слой, пространственные объекты которого будут скопированы в выходной класс объектов, и некоторые части и пробелы будут удалены. | Feature Layer |
out_feature_class | Выходной класс полигональных объектов, содержащий оставшиеся части. | Feature Class |
condition (Дополнительный) | Укажите, как будут определяться части, которые будут удалены.
| String |
part_area (Дополнительный) | Удалить части, меньшие этой площади. | Areal Unit |
part_area_percent (Дополнительный) | Удалить части, меньшие этого процента общей внешней площади пространственного объекта. | Double |
part_option (Дополнительный) | Определяет, какие части будут удалены.
| Boolean |
Пример кода
На следующем скрипте окна Python демонстрируется, как использовать инструмент Удалить часть полигона (Eliminate Polygon Part).
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.EliminatePolygonPart_management("buildings.shp", "output.gdb/remaining_buildings", "AREA", 10)
Пример скрипта Python для выполнения функции Удалить часть полигона (Eliminate Polygon Part).
# Name: EliminatePolygonPart_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Hydrography"
# Set local variables
inLakeFeatures = "lakes"
eliminatedFeatures = "lakes_eliminated"
simplifiedFeatures = "lakes_simplified"
smoothedFeatures = "lakes_smoothed"
# Eliminate small islands in lake polygons.
arcpy.EliminatePolygonPart_management(inLakeFeatures, eliminatedFeatures, "AREA", 100, "", "CONTAINED_ONLY")
# Simplify lake polygons.
arcpy.SimplifyPolygon_cartography(eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 200, "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS")
# Smooth lake polygons.
arcpy.SmoothPolygon_cartography(simplifiedFeatures, smoothedFeatures, "BEZIER_INTERPOLATION")
Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Да