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

У классов пространственных объектов (если они описаны) и таблиц имеется свойство fields, которое выдает список объектов Field, и свойство indexes, которое выдает список объектов Index. Каждый объект поля или индекса имеет несколько свойств, которые можно использовать при изучении объекта. Кроме того, функции ListFields и ListIndexes также можно использовать для создания тех же списков.

ListFields(dataset, wild_card, field_type)

Возвращает список полей, найденных во входном значении

ListIndexes(dataset, wild_card)

Возвращает список атрибутивных индексов, найденных во входном значении

Функции создания списков

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

import arcpy
fc = 'D:/St_Johns/data.gdb/roads'
# Get a list of field objects
fields = arcpy.ListFields(fc, 'Flag')
for field in fields:
    # Check the field name, perform a calculation when finding the field 'Flag'
    if field.name == 'Flag':
        # Set the value for the field and exit loop
        arcpy.CalculateField_management(fc, 'Flag', '1')
        break

Ниже перечислены свойства объектов полей и индексов:

СвойствоОбъяснение

name

Имя поля.

aliasName

Псевдоним поля.

domain

Имя связанного с ним домена.

editable

True, если поле доступно для редактирования.

isNullable

True, если поле допускает нулевые значения.

required

True, если поле обязательное.

length

Длина поля.

type

SmallInteger, Integer, Single, Double, String, Date, OID, Geometry, BLOB.

scale

Точность поля.

precision

Точность поля.

Свойства полей

СвойствоОбъяснение

name

Название индекса.

isAscending

True, если индексы отсортированы по возрастанию.

isUnique

True, если индекс является уникальным.

fields

Список объектов Field. Аналогично использованию свойства Describe fields.

Свойства индекса

Подсказка:

Функции ListFields и ListIndexes можно использовать для ограничения результатов, основанных на имени и типе.