ListSubtypes

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

Возвращает словарь подтипов для таблиц или классов пространственных объектов.

Обсуждение

Используйте функцию ListSubtypes только в том случае, если в таблице или классе пространственных объектов есть поле подтипа. Если во входных данных не задано поле подтипа, словарь будет возвращен с единственным ключом подтипа, равным 0 (кроме того, значением ключа Default будет True, значением ключа Name - имя класса пространственных объектов или таблицы, а значением ключа SubtypeField - пустая строка). Используйте инструмент Задать поле подтипа, чтобы указать поле, в котором хранятся коды подтипов.

Синтаксис

ListSubtypes (table)
ПараметрОписаниеТип данных
table

The geodatabase table or feature class.

String
Возвращаемое значение
Тип данныхОписание
Dictionary

Возвращает словарь свойств подтипов. Ключи словаря - это коды подтипов, а значения словаря - это свойства подтипов.

Пример кода

ListSubtypes, пример

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

import arcpy

subtypes = arcpy.da.ListSubtypes("C:/data/Boston.gdb/Boundary")

for stcode, stdict in list(subtypes.items()):
    print(f"Code: {stcode}")
    for stkey in list(stdict.keys()):
        if stkey == "FieldValues":
            print("Fields:")
            fields = stdict[stkey]
            for field, fieldvals in list(fields.items()):
                print(f" --Field name: {field}")
                print(f" --Field default value: {fieldvals[0]}")
                if not fieldvals[1] is None:
                    print(f" --Domain name: {fieldvals[1].name}")
        else:
            print(f"{stkey}: {stdict[stkey]}")