Удалить часть полигона (Управление данными)

Доступно с лицензией Advanced.

Сводка

Создает новый выходной класс пространственных объектов, содержащий объекты из входных полигонов, в которых удалены некоторые части или пробелы заданного размера.

Иллюстрация

Иллюстрация использования инструмента Удалить часть полигона

Использование

  • Т.к. пробелы полигона считаются его частями, их можно удалить или заполнить с помощью этого инструмента. Если площадь пробела меньше заданного размера, пробел будет удален и пространство будет заполнено в выходных данных. Те части, которые находятся внутри удаленного пробела, также будут удалены в выходных данных.

  • Размер части может быть указан как площадь, проценты, или как их комбинация. Чтобы определить задаваемый размер части, нужно использовать параметр Условие. Опции AREA_AND_PERCENT и AREA_OR_PERCENT параметра Условие (Condition) используются для удаления частей с помощью критериев площади и процентов.

  • Проценты части полигона вычисляются как процентное соотношение общей внешней площади пространственного объекта, включая площадь всех пробелов. Например, если полигон с пробелом имеет площадь 75 квадратных метров, где пробел покрывает 25 квадратных метров, общая внешняя площадь полигона – 100 квадратных метров. Чтобы удалить этот пробел, нужно задать площадь больше 25 квадратных метров или в процентах – 25%. Если входными данными является составной полигон, внешней площадью пространственного объекта будет сумма площади, покрытой всеми частями полигона.

  • Для составных полигонов, площадь каждой части будет сравниваться с указанной площадью. Если отдельная часть полигона меньше заданного размера, часть будет удалена в выходных данных.

  • Если части полигонального объекта меньше заданного размера, наибольшая часть будет храниться в выходных данных, пока все внешние части не будут удалены.

Синтаксис

EliminatePolygonPart(in_features, out_feature_class, {condition}, {part_area}, {part_area_percent}, {part_option})
ParameterОбъяснениеТип данных
in_features

Входной класс объектов или слой, пространственные объекты которого будут скопированы в выходной класс объектов, и некоторые части и пробелы будут удалены.

Feature Layer
out_feature_class

Выходной класс полигональных объектов, содержащий оставшиеся части.

Feature Class
condition
(Дополнительный)

Укажите, как будут определяться части, которые будут удалены.

  • AREAЧасти с площадью меньше указанной будут удалены.
  • PERCENTЧасти с процентом от общей внешней площади меньше указанного будут удалены.
  • AREA_AND_PERCENTЧасти с площадью и процентом меньше указанных будут удалены. Только если частям полигона встречаются критерии и площади и процента, он будет удален.
  • AREA_OR_PERCENTЧасти с площадью или процентом меньше указанных будут удалены. Если частям полигона встречается критерий площади или процента, он будет удален.
String
part_area
(Дополнительный)

Удалить части, меньшие этой площади.

Areal Unit
part_area_percent
(Дополнительный)

Удалить части, меньшие этого процента общей внешней площади пространственного объекта.

Double
part_option
(Дополнительный)

Определяет, какие части будут удалены.

  • CONTAINED_ONLYТолько части, полностью находящиеся в других частях, могут быть удалены. Это значение используется по умолчанию.
  • ANYМогут быть удалены любые части.
Boolean

Пример кода

Удалить часть полигона. Пример (окно Python)

На следующем скрипте окна 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)
Удалить часть полигона. Пример 2 (автономный скрипт)

Пример скрипта 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: Да

Связанные разделы