Краткая информация
Возвращает словарь подтипов для таблиц или классов пространственных объектов.
Обсуждение
Используйте функцию ListSubtypes только в том случае, если в таблице или классе пространственных объектов есть поле подтипа. Если во входных данных не задано поле подтипа, словарь будет возвращен с единственным ключом подтипа, равным 0 (кроме того, значением ключа Default будет True, значением ключа Name - имя класса пространственных объектов или таблицы, а значением ключа SubtypeField - пустая строка). Используйте инструмент Задать поле подтипа, чтобы указать поле, в котором хранятся коды подтипов.
Синтаксис
ListSubtypes (table)
Параметр | Описание | Тип данных |
table | The geodatabase table or feature class. | String |
Тип данных | Описание |
Dictionary | Возвращает словарь свойств подтипов. Ключи словаря - это коды подтипов, а значения словаря - это свойства подтипов. |
Пример кода
Создайте список всех подтипов для класса пространственных объектов и распечатайте свойства для каждого из них.
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]}")