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

Краткая информация

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

Будут ли удалены все объекты или их поднабор зависит от следующего:

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

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

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

  • Примечание:

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

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

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

Параметры

ПодписьОписаниеТип данных
Входные объекты

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

Feature Layer

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

ПодписьОписаниеТип данных
Выходной класс объектов

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

Feature Layer

arcpy.management.DeleteFeatures(in_features)
ИмяОписаниеТип данных
in_features

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

Feature Layer

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

ИмяОписаниеТип данных
out_feature_class

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

Feature Layer

Пример кода

Пример DeleteFeatures 1 (окно Python)

Пример скрипта окна Python для использования функции DeleteFeatures в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.CopyFeatures("majorrds.shp", "C:/output/output.gdb/majorrds2")
arcpy.management.DeleteFeatures("C:/output/output.gdb/majorrds2")
Пример DeleteFeatures 2 (автономный скрипт)

Следующий автономный скрипт демонстрирует, как использовать функцию DeleteFeatures для удаления объектов на основе выражения.

# 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'"
 

# Run CopyFeatures to make a new copy of the feature class
arcpy.management.CopyFeatures(inFeatures, outFeatures)
 
# Run MakeFeatureLayer
arcpy.management.MakeFeatureLayer(outFeatures, tempLayer)
 
# Run SelectLayerByAttribute to determine which features to delete
arcpy.management.SelectLayerByAttribute(tempLayer, "NEW_SELECTION", 
                                        expression)
 
# Run GetCount and if some features have been selected, 
#  run DeleteFeatures to remove the selected features.
if int(arcpy.management.GetCount(tempLayer)[0]) > 0:
    arcpy.management.DeleteFeatures(tempLayer)

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

Особые случаи

Экстент

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