Удалить часть полигона (Eliminate Polygon Part (Управление данными)
Краткая информация
Создает новый выходной класс пространственных объектов, содержащий объекты из входных полигонов, в которых удалены некоторые части или пробелы заданного размера.
Рисунок
Использование
-
Т.к. пробелы полигона считаются его частями, их можно удалить или заполнить с помощью этого инструмента. Если площадь пробела меньше заданного размера, пробел будет удален и пространство будет заполнено в выходных данных. Те части, которые находятся внутри удаленного пробела, также будут удалены в выходных данных.
-
Размер части может быть указан как площадь, проценты, или как их комбинация. Чтобы определить задаваемый размер части, нужно использовать параметр Условие. Опции AREA_AND_PERCENT и AREA_OR_PERCENT параметра Условие (Condition) используются для удаления частей с помощью критериев площади и процентов.
-
Проценты части полигона вычисляются как процентное соотношение общей внешней площади пространственного объекта, включая площадь всех пробелов. Например, если полигон с пробелом имеет площадь 75 квадратных метров, где пробел покрывает 25 квадратных метров, общая внешняя площадь полигона - 100 квадратных метров. Чтобы удалить этот пробел, нужно задать площадь больше 25 квадратных метров или в процентах - 25%. Если входными данными является составной полигон, внешней площадью пространственного объекта будет сумма площади, покрытой всеми частями полигона.
-
Для составных полигонов, площадь каждой части будет сравниваться с указанной площадью. Если отдельная часть полигона меньше заданного размера, часть будет удалена в выходных данных.
-
Если части полигонального объекта меньше заданного размера, наибольшая часть будет храниться в выходных данных, пока все внешние части не будут удалены.
Синтаксис
Параметр | Объяснение | Тип данных |
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
# Author: ESRI
# 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")