フィールドおよびインデックスの使用

Describe を実行すると、フィーチャクラスおよびテーブルにはフィールド オブジェクトの Python リストを返すフィールド プロパティと、インデックス オブジェクトの Python リストを返すインデックス プロパティが含まれていることが分かります。それぞれのフィールド オブジェクトまたはインデックス オブジェクトに含まれているさまざまなプロパティを使用して、オブジェクトの内容を調べることができます。また、ListFields 関数と ListIndexes 関数を使用して同じリストを作成することもできます。次の例では、フィールド リストを作成し、その内容を反復処理して特定のフィールドを見つける方法を示します。

import arcpy

fc = "D:/St_Johns/data.gdb/roads"

# Describe a feature class
#
desc = arcpy.Describe(fc)

# Get a list of field objects from the describe object
#
fields = desc.fields

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

フィールドが NULL 可能な場合は True

Required

フィールドが必須の場合は True

Length

フィールドの長さ

Type

SmallInteger、Integer、Single、Double、String、Date、OID、Geometry、BLOB

Scale

フィールドのスケール

Precision

フィールドの精度

フィールド プロパティ

プロパティ

説明

Name

インデックスの名前

IsAscending

インデックスが昇順で並べ替えされている場合は True

IsUnique

インデックスが一意の場合は True

Fields

フィールド オブジェクトの Python リスト。これは、Describe のフィールド プロパティを使用する場合と同じ

インデックス プロパティ

ヒントヒント:

ListFields と ListIndexes を使用して、名前とタイプに基づいて結果を絞り込むことができます。

関連トピック

5/10/2014