Краткая информация
Удаляет все пространственные объекты или выбранный их поднабор из входного набора данных.
Если входные объекты принадлежат классу пространственных объектов или таблице, то будут удалены все строки. Если входные объекты находятся в слое без активной выборки, то будут удалены все объекты.
Использование
Если для этого инструмента был выбран входной слой с выборкой, то будут удалены только выбранные объекты. Чтобы удалить определенные объекты из класса пространственных объектов, конвертируйте класс в слой с помощью инструмента Создать векторный слой (Make Feature Layer), или добавив его на карту в ArcMap. Выборку затем можно применить с помощью инструментов Выбрать в слое по атрибуту (Select Layer by Attribute) или Выбрать в слое по расположению (Select Layer by Location), а также построить запрос к слою на карте или выбрать объекты инструментами выборки в ArcMap.
Если входными данными является слой, у которого отсутствует выборка элементов, то будут удалены все объекты слоя. Если класс объектов является входными данными, удаляются все объекты.
Этот инструмент удаляет геометрию и атрибуты Входных объектов (Input Features).
Инструмент использует в работе параметр среды Выходной экстент (Output Extent). Удаляются только те объекты, которые частично или полностью расположены внутри выходного экстента, указанного в параметрах среды. Если входной слой имеет выборку, то будут удалены только те объекты из выборки, которые частично или полностью расположены внутри этого выходного экстента.
При использовании в качестве входных данных слоя с активной выборкой использование этого инструмента в сеансе редактирования позволит отменить операцию Удалить объекты (Delete Features) с помощью инструментов отмены/повтора.
Синтаксис
DeleteFeatures_management (in_features)
Параметр | Объяснение | Тип данных |
in_features | Класс пространственных объектов, шейп-файл или слой с объектами, которые требуется удалить. | Feature Layer |
Пример кода
DeleteFeatures, пример 1 (окно Python)
Пример скрипта Python для использования функции DeleteFeatures в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CopyFeatures_management("majorrds.shp", "C:/output/output.gdb/majorrds2")
arcpy.DeleteFeatures_management("C:/output/output.gdb/majorrds2")
DeleteFeatures, пример 2 (автономный скрипт)
Пример скрипта Python для использования функции DeleteFeatures, чтобы удалить объекты с учетом выражения.
# Name: DeleteFeatures_Example2.py
# Description: Delete features from a feature class based on an expression
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/airport.gdb"
# Set local variables
inFeatures = "parcels"
outFeatures = "C:/output/output.gdb/new_parcels"
tempLayer = "parcelsLayer"
expression = arcpy.AddFieldDelimiters(tempLayer, "PARCEL_ID") + " = 'Cemetery'"
try:
# Execute CopyFeatures to make a new copy of the feature class
arcpy.CopyFeatures_management(inFeatures, outFeatures)
# Execute MakeFeatureLayer
arcpy.MakeFeatureLayer_management(outFeatures, tempLayer)
# Execute SelectLayerByAttribute to determine which features to delete
arcpy.SelectLayerByAttribute_management(tempLayer, "NEW_SELECTION",
expression)
# Execute GetCount and if some features have been selected, then
# execute DeleteFeatures to remove the selected features.
if int(arcpy.GetCount_management(tempLayer).getOutput(0)) > 0:
arcpy.DeleteFeatures_management(tempLayer)
except Exception:
e = sys.exc_info()[1]
arcpy.AddError(e.args[0])