Resumen
Devuelve un diccionario de los subtipos para una tabla o clase de entidad.
Debate
Utilice la función ListSubtypes solamente cuando haya un campo de subtipo configurado en la clase de entidad o tabla. Si no hay ningún campo de subtipo configurado en la tabla, se devolverá un diccionario con una sola clave de subtipo de 0 (además, el valor clave de Default será True, el valor clave de Name será el nombre de la clase de entidad o tabla, y el valor clave de SubtypeField será una cadena de caracteres vacía). Utilice la herramienta Establecer campo de subtipo para definir el campo en el que se almacenan los códigos de subtipo.
Sintaxis
ListSubtypes (table)
Parámetro | Explicación | Tipo de datos |
table | The geodatabase table or feature class. | String |
Tipo de datos | Explicación |
Dictionary | Devuelve un diccionario de las propiedades de los subtipos. Las claves del diccionario son los códigos de subtipos y los valores del diccionario son las propiedades de los subtipos. |
Muestra de código
Enumere todos los subtipos de una clase de entidad e imprima las propiedades de cada una de ellas.
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]}")