ArcGIS for Desktop

  • Документация
  • Стоимость
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS for Desktop

Полноценная профессиональная ГИС

ArcGIS for Server

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Стоимость
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

Справка

  • Главная
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительно...

Удалить поле

  • Краткая информация
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензировании

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

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

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

  • Этот инструмент может использовать любую таблицу; класс пространственных объектов ArcSDE, файловой или персональной баз геоданных; покрытие; набор растровых данных или шейп-файл.

  • Невозможно удалить поля из не нативных форматов, использующихся в ArcGIS только для чтения, например, наборов данных VPF и CAD.

  • Для параметра Удалить поле (Drop Field) кнопка Добавить поле (Add Field) используется только в ModelBuilder. В ModelBuilder, если предыдущий инструмент не был запущен и не существует его производных данных, параметр Удалить поле (Drop Field) не заполняется именами полей. Кнопка Добавить поле (Add Field) позволяет добавлять нужные поля, так что вы можете завершить диалоговое окно Удалить поле (Delete Field) и продолжить построение модели.

Синтаксис

DeleteField_management (in_table, drop_field)
ПараметрОбъяснениеТип данных
in_table

Таблица, содержащая поля, которые будут удалены. Существующая входная таблица будет изменена.

Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View
drop_field
[drop_field,...]

Поля, которые будут удалены из входной таблицы. Можно удалить только необязательные поля.

Field

Пример кода

Пример 1 функции DeleteField (окно Python)

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CopyFeatures_management("majorrds.shp", "C:/output/majorrds_copy.shp")
arcpy.DeleteField_management("C:/output/majorrds_copy.shp", 
                             ["STREET_NAM", "LABEL", "CLASS"])
Пример 2 функции DeleteField (автономный скрипт)

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

# Name: DeleteField_Example2.py
# Description: Delete several fields from a feature class
  
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data"
 
# Set local variables
inFeatures = "accident.dbf"
outFeatureClass = "C:/output/new_accident.dbf"
dropFields = ["STREET_NAM", "LABEL", "CLASS"]
 
# Execute CopyFeatures to make a new copy of the feature class
#  Use CopyRows if you have a table
arcpy.CopyFeatures_management(inFeatures, outFeatureClass)
 
# Execute DeleteField
arcpy.DeleteField_management(outFeatureClass, dropFields)
Пример 3 функции DeleteField (автономный скрипт)

Используйте инструмент Удалить поле (Delete Field), чтобы удалить все необходимые поля из класса пространственных объектов или таблицы.

# Name: DeleteFields_clearfields.py
# Description: Delete unrequired fields from a feature class or tble.
 
# Import system modules
import arcpy
 
try: 
    # Get user-supplied input and output arguments
    inTable = arcpy.GetParameterAsText(0)
    updatedTable = arcpy.GetParameterAsText(1)
 
    # Describe the input (need to test the dataset and data types)
    desc = arcpy.Describe(updatedTable)
 
    # Make a copy of the input (so we can mantain the original as is)
    if desc.datasetType == "FeatureClass":
        arcpy.CopyFeatures_management(inTable, updatedTable)
    else:
        arcpy.CopyRows_management(inTable, updatedTable)
 
    # Use ListFields to get a list of field objects
    fieldObjList = arcpy.ListFields(updatedTable)
 
    # Create an empty list that will be populated with field names        
    fieldNameList = []
 
    # For each field in the object list, add the field name to the
    #  name list.  If the field is required, exclude it, to prevent errors
    for field in fieldObjList:
        if not field.required:
            fieldNameList.append(field.name)
 
    # dBASE tables require a field other than an OID and Shape.  If this is
    #  the case, retain an extra field (the first one in the original list)
    if desc.dataType in ["ShapeFile", "DbaseTable"]:
        fieldNameList = fieldNameList[1:]
 
    # Execute DeleteField to delete all fields in the field list. 
    arcpy.DeleteField_management(updatedTable, fieldNameList)
          
except Exception as err:
    print(err.args[0])

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

  • Текущая рабочая область (Current Workspace)

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

  • Обзор группы инструментов Поля
Отзыв по этому разделу?

ArcGIS for Desktop

  • На главную
  • Документация
  • Стоимость
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог сотрудников
  • Конференция пользователей
  • Саммит разработчиков
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Конфиденциальность | Правовая информация