フィールドの変更 (複数) (Alter Fields (multiple)) (データ管理)

サマリー

フィーチャクラスまたはテーブルの複数のフィールドのフィールド プロパティを変更します。

使用法

    注意:

    このツールを実行すると、入力データが変更されます。 詳細と不要なデータの変更を回避するための方法については、「入力データを変更または更新するツール」をご参照ください。

  • このツールでは、ジオデータベース テーブルまたはフィーチャクラスのフィールド名またはフィールド エイリアス名を変更できます。

  • このツールを使用して、ジオデータベースに登録されているテーブルまたはビュー内にあるフィールドのフィールド エイリアスを変更できます。

  • 入力フィールドが必須フィールドである場合、変更できるのはフィールド エイリアスのみです。

パラメーター

ラベル説明データ タイプ
入力テーブル

変更するフィールドを含む入力ジオデータベース テーブルまたはフィーチャクラス。

Table View; Raster Layer; Mosaic Layer
フィールド プロパティ
(オプション)

変更する入力テーブル フィールドとそのプロパティ。

  • [フィールド名] - 変更するフィールドの名前。 このフィールドが必須フィールドである場合、変更できるのはフィールド エイリアスのみです。
  • [新しいフィールド名] (省略可) - フィールドの新しい名前。
  • [新しいフィールド エイリアス] (省略可) - フィールドの新しいフィールド エイリアス。
  • [新しいフィールド タイプ] (省略可) - フィールドの新しいフィールド タイプを指定します。 この列は、入力テーブルが空 (レコードが含まれていない) の場合にのみ適用されます。
  • [新しいフィールドの長さ] (省略可) - フィールドの新しい長さ (Long タイプ)。 この値は、フィールドの各レコードに許容される文字の最大数を設定します。 このオプションは、タイプが [Text] または [Blob (バイナリ データ)] のフィールドに対してのみ適用されます。 テーブルが空の場合、フィールド長を増減できます。 テーブルが空ではない場合は、長さは現在の値からのみ増加できます。
  • [新しいフィールドに NULL 値を許可] (省略可) - このフィールドに NULL 値を含めることができるかどうかを指定します。 NULL 値は、ジオデータベースのフィールドでのみサポートされています。 このオプションはテーブルが空 (レコードが含まれていない) の場合にのみ適用できます。 オンにした場合、そのフィールドは NULL 値を含むことができます。 これがデフォルトです。 オフにした場合、そのフィールドは NULL 値を含むことができません。
  • [エイリアスの消去] (省略可) - 入力フィールドのエイリアスを消去するかどうかを指定します。 フィールドのエイリアスを消去するには、[新しいフィールド エイリアス] の値が空である必要があります。 オンにした場合、フィールド エイリアスは消去されます (NULL に設定)。 オフにした場合、フィールド エイリアスは消去されません。 これがデフォルトです。

使用できるフィールド タイプは次のとおりです。

  • [Short (16 ビット整数)] - フィールド タイプが short になります。 Short フィールドには、-32,768 ~ 32,767 の整数を指定できます。
  • [Long (32 ビット整数)] - フィールド タイプが long になります。 Long フィールドには、-2,147,483,648 ~ 2,147,483,647 の整数を指定できます。
  • [Big integer (64 ビット)] - フィールド タイプが big integer になります。 Big Integer フィールドには、-(253) ~ 253 の整数を指定できます。
  • [Float (32 ビット浮動小数点)] - フィールド タイプが float になります。 Float フィールドには、-3.4E38 ~ 1.2E38 の有理数を指定できます。
  • [Double (64 ビット浮動小数点)] - フィールド タイプが double になります。 Double フィールドには、-2.2E308 ~ 1.8E308 の有理数を指定できます。
  • [Text] - フィールド タイプが Text になります。 Text フィールドには、文字列を指定できます。
  • [Date] - フィールド タイプが Date になります。 Date フィールドには、日付値と時間値を指定できます。
  • [Date (高精度)] - フィールド タイプが High Precisionになります。 高精度の日付フィールドでは、ミリ秒の日付と時刻の値がサポートされます。
  • [Date only] - フィールド タイプが Date Only になります。 Date Only フィールドには、日付値を指定できます。時間値は指定できません。
  • [Time only] - フィールド タイプが Time Only になります。 Time only フィールドには、時間値を指定できます。日付値は指定できません。
  • [Timestamp offset] - フィールド タイプが Timestamp Offset になります。 Timestamp Offset フィールドは、日付、時刻、および UTC 値からのオフセットを指定できます。
  • [Blob (バイナリ データ)] - フィールド タイプが BLOB になります。 BLOB フィールドには、長いバイナリ数値列として格納されるデータを指定できます。 BLOB フィールドにアイテムを読み込む、または BLOB フィールドの内容を参照するには、カスタム ローダー、カスタム ビューアー、またはサードパーティ アプリケーションが必要です。
  • [GUID (Globally Unique Identifier)] - フィールド タイプが GUID になります。 GUID フィールドには、中括弧 ({}) で囲まれた 36 文字のレジストリ形式の文字列が格納されます。
  • [Raster imagery] - フィールド タイプがラスターになります。 ラスター フィールドでは、ラスター データをジオデータベースの内部またはジオデータベースと一緒に格納できます。 ArcGIS ソフトウェアでサポートされているラスター データセット形式はすべて格納できますが、小さい画像のみを使用することをお勧めします。
Value Table

派生した出力

ラベル説明データ タイプ
更新された入力テーブル

更新された入力テーブル。

Table View; Raster Layer; Mosaic Layer

arcpy.management.AlterFields(in_table, {field_description})
名前説明データ タイプ
in_table

変更するフィールドを含む入力ジオデータベース テーブルまたはフィーチャクラス。

Table View; Raster Layer; Mosaic Layer
field_description
[[Field Name, {New Field Name}, {New Field Alias}, {New Field Type}, {New Field Length}, {New Field IsNullable}, {Clear Alias}],...]
(オプション)

変更する入力テーブル フィールドとそのプロパティ。

  • Field Name - 変更するフィールドの名前。 このフィールドが必須フィールドである場合、変更できるのはフィールド エイリアスのみです。
  • New Field Name (省略可) - フィールドの新しい名前。
  • New Field Alias (省略可) - フィールドの新しいフィールド エイリアス。
  • New Field Type (省略可) - フィールドの新しいフィールド タイプを指定します。 このオプションは入力テーブルが空 (レコードが含まれていない) の場合にのみ適用できます。
  • New Field Length (省略可) - フィールドの新しい長さ。 この値は、フィールドの各レコードに許容される文字の最大数を設定します。 このオプションは、タイプが TEXT または BLOB のフィールドに対してのみ適用されます。 テーブルが空の場合、フィールド長を増減できます。 テーブルが空ではない場合は、長さは現在の値からのみ増加できます。
  • New Field IsNullable (省略可) - このフィールドに NULL 値を含めることができるかどうかを指定します。 NULL 値は、ジオデータベースのフィールドでのみサポートされています。 このオプションはテーブルが空 (レコードが含まれていない) の場合にのみ適用できます。 True に設定した場合、そのフィールドは NULL 値を含むことができます。 これがデフォルトです。 False に設定した場合、そのフィールドは NULL 値を含むことができません。
  • Clear Alias (省略可) - 入力フィールドのエイリアスを消去するかどうかを指定します。 フィールドのエイリアスを消去するには、New Field Alias の値が空である必要があります。 True に設定した場合、フィールド エイリアスは消去されます (NULL に設定)。 False に設定した場合、フィールド エイリアスは消去されません。 これがデフォルトです。

使用できるフィールド タイプは次のとおりです。

  • SHORT - フィールド タイプが Short になります。 Short フィールドには、-32,768 ~ 32,767 の整数を指定できます。
  • LONG - フィールド タイプが Long になります。 Long フィールドには、-2,147,483,648 ~ 2,147,483,647 の整数を指定できます。
  • BIGINTEGER - フィールド タイプが Big Integer になります。 Big Integer フィールドには、-(253) ~ 253 の整数を指定できます。
  • FLOAT - フィールド タイプが Float になります。 Float フィールドには、-3.4E38 ~ 1.2E38 の有理数を指定できます。
  • DOUBLE - フィールド タイプが Double になります。 Double フィールドには、-2.2E308 ~ 1.8E308 の有理数を指定できます。
  • TEXT - フィールド タイプが Text になります。 Text フィールドには、文字列を指定できます。
  • DATE - フィールド タイプが Date になります。 Date フィールドには、日付値と時間値を指定できます。
  • DATEHIGHPRECISION - フィールド タイプが高精度の日付になります。 高精度の日付フィールドでは、ミリ秒の日付と時刻の値がサポートされます。
  • DATEONLY - フィールド タイプが Date only になります。 Date Only フィールドには、日付値を指定できます。時間値は指定できません。
  • TIMEONLY - フィールド タイプが Time only になります。 Time only フィールドには、時間値を指定できます。日付値は指定できません。
  • TIMESTAMPOFFSET - フィールド タイプが Timestamp Offset になります。 Timestamp Offset フィールドは、日付、時刻、および UTC 値からのオフセットを指定できます。
  • BLOB - フィールド タイプが BLOB になります。 BLOB フィールドには、長いバイナリ数値列として格納されるデータを指定できます。 BLOB フィールドにアイテムを読み込む、または BLOB フィールドの内容を参照するには、カスタム ローダー、カスタム ビューアー、またはサードパーティ アプリケーションが必要です。
  • GUID - フィールド タイプが GUID になります。 GUID フィールドには、中括弧 ({}) で囲まれた 36 文字のレジストリ形式の文字列が格納されます。
  • RASTER - フィールド タイプが Raster になります。 ラスター フィールドでは、ラスター データをジオデータベースの内部またはジオデータベースと一緒に格納できます。 ArcGIS ソフトウェアでサポートされているラスター データセット形式はすべて格納できますが、小さい画像のみを使用することをお勧めします。

Value Table

派生した出力

名前説明データ タイプ
out_table

更新された入力テーブル。

Table View; Raster Layer; Mosaic Layer

コードのサンプル

AlterFields の例 1 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、AlterFields 関数を使用して、フィーチャクラスのフィールドのフィールド エイリアスを変更する方法を示しています。

import arcpy

test_class = arcpy.management.CreateFeatureclass(out_gdb, "new_fc", geometry_type='POLYGON')
field_description = [
    ['SHORT_FIELD', 'SHORT', 'SHORT_FIELD_Alias', '#', '#', '#'],
    ['LONG_FIELD', 'LONG', 'LONG_FIELD_Alias', '#', '#', '#'],
    ['BIGINTEGER_FIELD', 'BIGINTEGER', 'BIGINTEGER_FIELD_Alias', '#', '#', '#'], 
    ['FLOAT_FIELD', 'FLOAT', 'FLOAT_FIELD_Alias', '#', '#', '#'],
    ['DOUBLE_FIELD', 'DOUBLE', 'DOUBLE_FIELD_Alias', '#', '#', '#'],
    ['TEXT_FIELD', 'TEXT', 'TEXT_FIELD_Alias', '#', '#', '#'],
    ['DATE_FIELD', 'DATE', 'DATE_FIELD_Alias', '#', '#', '#'],
    ['DATEONLY_FIELD', 'DATEONLY', 'DATEONLY_FIELD_Alias', '#', '#', '#'],
    ['TIMEONLY_FIELD', 'TIMEONLY', 'TIMEONLY_FIELD_Alias', '#', '#', '#'],
    ['TIMESTAMPOFFSET_FIELD', 'TIMESTAMPOFFSET', 'TIMESTAMPOFFSET_FIELD_Alias', '#', '#', '#']
]
arcpy.management.AddFields(test_class, field_description, None)

alter_field_description = [
    ['SHORT_FIELD', 'SHORT_FIELD_altered', '#', '#', '#', '#'],
    ['LONG_FIELD', 'LONG_FIELD_altered', '#', '#', '#', '#'],
    ['BIGINTEGER_FIELD', 'BIGINTEGER_FIELD_altered', '#', '#', '#', '#'],
    ['FLOAT_FIELD', 'FLOAT_FIELD_altered', '#', '#', '#', '#'],
    ['DOUBLE_FIELD', 'DOUBLE_FIELD_altered', '#', '#', '#', '#'],
    ['TEXT_FIELD', 'TEXT_FIELD_altered', '#', '#', '#', '#'],
    ['DATE_FIELD', 'DATE_FIELD_altered', '#', '#', '#', '#'],
    ['DATEONLY_FIELD', 'DATEONLY_FIELD_altered', '#', '#', '#', '#'],
    ['TIMEONLY_FIELD', 'TIMEONLY_FIELD_altered', '#', '#', '#', '#'],
    ['TIMESTAMPOFFSET_FIELD', 'TIMESTAMPOFFSET_FIELD_altered', '#', '#', '#', '#']
]
arcpy.management.AlterFields(in_table=test_class, field_description=alter_field_description)
AlterFields の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、AlterFields 関数を使用して、空のテーブル内のフィールドの NULL 値許可フィールド プロパティを変更する方法を示しています。

import arcpy

test_class = arcpy.management.CreateTable(out_gdb, "new_table")
field_description = [
    ['SHORT_FIELD', 'SHORT', 'SHORT_FIELD_Alias', '#', '#', '#'],
    ['LONG_FIELD', 'LONG', 'LONG_FIELD_Alias', '#', '#', '#'],
    ['BIGINTEGER_FIELD', 'BIGINTEGER', 'BIGINTEGER_FIELD_Alias', '#', '#', '#'],
    ['FLOAT_FIELD', 'FLOAT', 'FLOAT_FIELD_Alias', '#', '#', '#'],
    ['DOUBLE_FIELD', 'DOUBLE', 'DOUBLE_FIELD_Alias', '#', '#', '#'],
    ['TEXT_FIELD', 'TEXT', 'TEXT_FIELD_Alias', '#', '#', '#'],
    ['DATE_FIELD', 'DATE', 'DATE_FIELD_Alias', '#', '#', '#'],
    ['DATEONLY_FIELD', 'DATEONLY', 'DATEONLY_FIELD_Alias', '#', '#', '#'],
    ['TIMEONLY_FIELD', 'TIMEONLY', 'TIMEONLY_FIELD_Alias', '#', '#', '#'],
    ['TIMESTAMPOFFSET_FIELD', 'TIMESTAMPOFFSET', 'TIMESTAMPOFFSET_FIELD_Alias', '#', '#', '#']
]

arcpy.management.AddFields(test_class, field_description, None)

# Change the nullable property to true
alter_field_description = [
    ['SHORT_FIELD', '#', '#', '#','#', 'true', '#'],
    ['LONG_FIELD', '#', '#', '#','#', 'true', '#'],
    ['BIGINTEGER_FIELD', '#', '#', '#','#', 'true', '#'],
    ['FLOAT_FIELD', '#', '#', '#','#', 'true', '#'],
    ['DOUBLE_FIELD', '#', '#', '#','#', 'true', '#'],
    ['TEXT_FIELD', '#', '#', '#','#', 'true', '#'],
    ['DATE_FIELD', '#', '#', '#','#', 'true', '#'],
    ['DATEONLY_FIELD', '#', '#', '#','#', 'true', '#'],
    ['TIMEONLY_FIELD', '#', '#', '#','#', 'true', '#'],
    ['TIMESTAMPOFFSET_FIELD', '#', '#', '#','#', 'true', '#']
]

arcpy.management.AlterFields(in_table=test_class, field_description=alter_field_description)

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック