Удаление (Eliminate) (Управление данными)

Уровень лицензии:BasicStandardAdvanced

Резюме

Удаляет полигоны путем слияния их с соседними полигонами, имеющими самую большую площадь или самую длинную общую границу. Инструмент Удаление (Eliminate) часто используется для удаления небольших осколочных полигонов, которые являются результатом таких операций наложения, как Пересечение (Intersect) или Объединение (Union).

Рисунок

Иллюстрация инструмента Удаление (Eliminate)

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

Синтаксис

Eliminate_management (in_features, out_feature_class, {selection}, {ex_where_clause}, {ex_features})
ПараметрОбъяснениеТип данных
in_features

Слой, полигоны которого будут объединены с соседними полигонами.

Feature Layer
out_feature_class

Создаваемый класс пространственных объектов.

Feature Class
selection
(дополнительно)

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

  • LENGTHОбъединяет выбранный полигон с соседним невыбранным путем удаления общей границы. Используется соседний полигон, который имеет более длинную общую границу. Это значение используется по умолчанию.
  • AREAОбъединяет выбранный полигон с соседним невыбранным путем удаления общей границы. Используется соседний полигон, который имеет большую площадь.
Boolean
ex_where_clause
(дополнительно)

Выражение, используемое для определения входных объектов, которые не должны быть удалены.

Синтаксис выражения различается в зависимости от формата данных. Например, если вы производите запрос к файловым базам геоданных или базам геоданных ArcSDE, шейп-файлам или покрытиям, заключите имена полей в двойные кавычки:

"ИМЯ_ПОЛЯ"

Если вы производите запрос к персональной базе геоданных, заключите поля в квадратные скобки:

[ИМЯ_ПОЛЯ]

В Python строковые значения заключаются в соответствующие одинарные или двойные кавычки. Чтобы создать строку с кавычками (что часто требуется при написании условия WHERE в выражениях SQL), можно использовать перед кавычками escape-символ (символ обратной косой черты) или заключить всю строку в три пары кавычек. Например, если требуется написать в условии WHERE

"CITY_NAME" = 'Чикаго',

можно заключить всю строку в двойные кавычки и добавить escape-символ перед внутренними двойными кавычками:

" \"CITY_NAME\" = 'Чикаго' ",

Или можно заключить всю строку в три пары кавычек и не добавлять escape-символ:

""" "CITY_NAME" = 'Чикаго' """,

Более подробно о синтаксисе SQL и о том, как он различается между источниками данных, смотрите разделы справки: Литература по SQL для выражений запросов, используемых в ArcGIS.

SQL Expression
ex_features
(дополнительно)

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

Feature Layer

Пример кода

Eliminate Пример (окно Python)

На следующем скрипте окна Python демонстрируется, как использовать инструмент Удаление (Eliminate) с запуском из окна Python в ArcGIS.

import arcpy
from arcpy import env
env.workspace = "C:/data/Portland.gdb/Census"
arcpy.MakeFeatureLayer_management("blockgrp", "blocklayer")
arcpy.SelectLayerByAttribute_management("blocklayer", "NEW_SELECTION", 
                                        '"Area_Sq_Miles" < 0.15')
arcpy.Eliminate_management("blocklayer", "C:/output/output.gdb/eliminate_output", 
                           "LENGTH", '"OBJECTID" = 9')
Eliminate Пример 2 (автономный скрипт)

Пример скрипта Python для выполнения функции Удаление (Eliminate).

# Name: Eliminate_Example2.py
# Description: Eliminate features based on a selection.
 
# Import system modules
import arcpy
from arcpy import env
 
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Census"
 
# Set local variables
inFeatures = "blockgrp"
tempLayer = "blocklayer"
expression = '"Area_Sq_Miles" < 0.15'
outFeatureClass = "C:/output/output.gdb/eliminate_output"
exclusionExpression = '"OBJECTID" = 9'
 
# Execute MakeFeatureLayer
arcpy.MakeFeatureLayer_management(inFeatures, tempLayer)
 
# Execute SelectLayerByAttribute to define features to be eliminated
arcpy.SelectLayerByAttribute_management(tempLayer, "NEW_SELECTION", expression)
 
# Execute Eliminate
arcpy.Eliminate_management(tempLayer, outFeatureClass, "LENGTH", 
                           exclusionExpression)

Параметры среды

Связанные темы

Информация о лицензировании

ArcGIS for Desktop Basic: Нет
ArcGIS for Desktop Standard: Нет
ArcGIS for Desktop Advanced: Да
9/10/2013