Удалить объекты (Управление данными)

Сводка

Удаляет все пространственные объекты или выбранный их поднабор из входного набора данных.

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

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

  • Если для этого инструмента был выбран входной слой с выборкой, то будут удалены только выбранные объекты. Чтобы удалить определенные объекты из класса пространственных объектов, конвертируйте класс в слой с помощью инструмента Создать векторный слой, или добавив его на карту. Выборку затем можно применить с помощью инструментов Выбрать в слое по атрибуту или Выбрать в слое по расположению, а также построить запрос к слою на карте или интерактивно выбрать объекты инструментами выборки группы Выборка на вкладке Карта.

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

    Примечание:

    Удаление всех строк из класса пространственных объектов при их большом количестве может занять много. Если вы желаете удалить все строки из такого класса пространственных объектов, воспользуйтесь лучше инструментом Сократить таблицу. Обратитесь к документации инструмента Сократить таблицу и обратите внимание на предостережения по его использованию.

  • Этот инструмент удаляет геометрию и атрибуты Входных объектов.

  • Инструмент использует в работе параметр среды Экстент. Удаляются только те объекты, которые частично или полностью расположены внутри выходного экстента, указанного в параметрах среды. Если входной слой имеет выборку, то будут удалены только те объекты из выборки, которые частично или полностью расположены внутри этого выходного экстента.

Синтаксис

arcpy.management.DeleteFeatures(in_features)
ParameterОбъяснениеТип данных
in_features

Класс пространственных объектов, шейп-файл или слой с объектами, которые требуется удалить.

Feature Layer

Производные выходные данные

NameОбъяснениеТип данных
out_feature_class

Обновленный класс объектов.

Векторный слой

Пример кода

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'"
 
# 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)[0]) > 0:
    arcpy.DeleteFeatures_management(tempLayer)

Environments

Экстент

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

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

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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