サマリー
テーブルまたはフィーチャクラスのサブタイプのディクショナリを返します。
説明
テーブルまたはフィーチャクラスにサブタイプ フィールドが設定されている場合にのみ、ListSubtypes 関数を使用します。 入力にサブタイプ フィールドが設定されていない場合、値が 0 の 1 つのサブタイプ キーを含むディクショナリが返されます (さらに、Default キーの値は True、Name キーの値はフィーチャクラスまたはテーブルの名前、SubtypeField キーの値は空の文字列になります)。 サブタイプ コードを格納するフィールドを定義するには、[サブタイプ フィールドの設定 (Set Subtype Field)] ツールを使用します。
構文
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]}")