フィールドの追加 (Add Field) (データ管理)

サマリー

新しいフィールドを単独のテーブル、あるいはフィーチャクラス、フィーチャ レイヤー、属性テーブルのあるラスターなどのテーブルに追加します。

使用法

  • シェープファイル テーブルと dBASE テーブルでは、フィールド タイプに文字が指定されると、各レコードに空白が挿入されます。 フィールド タイプに数値項目が指定されると、各レコードにゼロが挿入されます。

  • [フィールドの長さ] パラメーターは、タイプがテキストのフィールドに対してのみ使用できます。 長さが指定されていない場合、長さのデフォルトは 255 になります。

  • ジオデータベースでは、フィールド タイプに文字か数字が指定され、[NULL 値を許可] パラメーターがオン (Python では field_is_nullable="NULLABLE") の場合、各レコードに <NULL> が挿入されます。

  • NULL 値を使用できないフィールドは、空でないジオデータベースのフィーチャクラスまたはテーブルに追加できません。

  • シェープファイルではフィールドのエイリアスがサポートされないため、シェープファイルにフィールドのエイリアスを追加することはできません。

  • [フィールド ドメイン] パラメーターには、ジオデータベース内のフィーチャクラスに存在するドメインを指定できます。 既存のドメインの名前を指定する必要があります。 無効なドメイン名や値を指定してもツールが失敗する原因にはなりませんが、無効な名前や値は無視され、フィールドにドメインは設定されません。

  • フィールドの精度とサイズは、そのフィールドに格納できるデータの最大精度とサイズを示します。 精度はフィールドに格納できる桁数を示し、スケールは小数フィールドの小数点以下の桁数を示します。 たとえば、フィールドの値が 54.234 であれば、スケールは 3 で精度は 5 です。

    特定の精度とスケールに適切なフィールド タイプを選択するために、次のガイドラインに従ってください。

    • 小数または整数のフィールドの作成で精度とスケールに 0 を指定すると、対象のデータベースでサポートされる場合は、ツールがバイナリ タイプのフィールドの作成を試みます。 ファイル ジオデータベースではバイナリ タイプのフィールドしかサポートされないため、精度とスケールは無視されます。
    • 小数フィールドの作成で精度とスケールを指定すると、精度が 6 よりも大きい場合は Double タイプ、6 以下の場合は Float タイプになります。 Double タイプのフィールドの作成で精度を 6 以下に指定すると、Float タイプのフィールドが作成されます。 Float タイプのフィールドの作成で精度を 6 よりも大きく指定すると、Double タイプのフィールドが作成されます。
    • スケールを 0、精度を 10 以下に指定すると、整数フィールドを作成します。 整数フィールドの作成では、10 以下の精度を指定する必要があります。10 よりも大きく指定すると、Double タイプの小数フィールドとして作成されます。
  • ジオデータベースのフィーチャクラスまたはテーブルに新しいフィールドを作成するときは、フィールドのタイプは指定できますが、その精度とスケールを指定することはできません。 ダイアログ ボックスでは精度やスケールの値を追加できますが、ツールの実行時には値は無視されます。

  • 必須フィールドは永続的で、削除することはできません。 後で削除できるようにするには、フィールドを「nonrequired」(デフォルト) に設定してください。

  • タイプがラスターのフィールドには、ラスター画像を属性として格納できます。 ラスター画像は、ジオデータベースの内部またはジオデータベースとともに保存されます。 フィーチャの説明に画像が最適である場合に便利です。 ラスター タイプのフィールドには精度、スケール、長さを設定できません。

パラメーター

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

指定したフィールドを追加する対象となる入力テーブル。 フィールドは既存の入力テーブルに追加され、新しい出力テーブルは作成されません。

フィールドを追加できる対象は、ジオデータベースのフィーチャクラス、シェープファイル、カバレッジ、スタンドアロン テーブル、ラスター カタログ、属性テーブルがあるラスター、およびレイヤーです。

Mosaic Layer; Raster Layer; Table View
フィールド名

入力テーブルに追加するフィールドの名前。

String
フィールド タイプ

新しいフィールドのフィールド タイプを指定します。

  • Text任意の文字列。
  • Float (単精度浮動小数点) -3.4E38〜1.2E38の範囲の有理数。
  • Double (倍精度浮動小数点) -2.2E308〜1.8E308の範囲の有理数。
  • Short (Small Integer) -32,768〜32,767の範囲の整数。
  • Long (Large Integer) -2,147,483,648〜2,147,483,647の範囲の整数。
  • Date日付と時刻
  • Blob (バイナリ データ)大容量バイナリ オブジェクト。BLOB フィールドにアイテムを読み込む、または BLOB フィールドの内容を参照するには、カスタム ローダー、カスタム ビューアー、またはサードパーティ アプリケーションが必要です。
  • ラスター画像ラスター画像。ArcGIS ソフトウェアでサポートされているラスター データセット形式はすべて格納できますが、小さい画像のみを使用することを強くお勧めします。
  • GUID (Globally Unique Identifier)GUID (Globally Unique Identifier)
String
フィールドの全桁数
(オプション)

フィールドに格納できる桁数。 小数点以下であるかどうかにかかわらず、すべての桁が対象になります。

入力テーブルがファイル ジオデータベースの場合、フィールドの精度の値は無視されます。

Long
フィールドの小数点以下桁数
(オプション)

フィールドに格納できる小数点以下の桁数。 このパラメーターは、float タイプと double タイプのデータ フィールドのみで使用します。

入力テーブルがファイル ジオデータベースの場合、フィールドのスケールの値は無視されます。

Long
フィールドの長さ
(オプション)

追加するフィールドの長さ。 この値は、フィールドの各レコードに許容される文字の最大数を設定します。 このパラメーターは、タイプがテキストのフィールドに対してのみ適用されます。

Long
フィールド エイリアス
(オプション)

フィールド名に割り当てる別名。 曖昧なフィールド名を説明するために使用される名前です。 このパラメーターの適用対象となるのは、ジオデータベースだけです。

String
NULL 値を許可
(オプション)

このフィールドに NULL 値を含めることができるかどうかを指定します。 NULL 値は、ゼロや空のフィールドとは異なり、ジオデータベースのフィールドのみでサポートされます。

  • オン - フィールドで NULL 値を使用できます。 これがデフォルトです。
  • オフ - フィールドで NULL 値を使用できません。
Boolean
必須フィールド
(オプション)

作成されるフィールドが、テーブルの必須フィールドであるかどうかを指定します。 必須フィールドはジオデータベースでのみサポートされます。

  • オン - フィールドは必須フィールドです。 必須フィールドは永続的で、削除することはできません。
  • オフ - フィールドは必須フィールドではありません。 これがデフォルトです。
Boolean
フィールド ドメイン
(オプション)

ジオデータベース内のテーブル、フィーチャクラス、またはサブタイプの特定の属性に許可される値を制約します。 フィールドに適用するには、既存のドメインの名前を指定する必要があります。

String

派生した出力

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

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

Table

arcpy.management.AddField(in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain})
名前説明データ タイプ
in_table

指定したフィールドを追加する対象となる入力テーブル。 フィールドは既存の入力テーブルに追加され、新しい出力テーブルは作成されません。

フィールドを追加できる対象は、ジオデータベースのフィーチャクラス、シェープファイル、カバレッジ、スタンドアロン テーブル、ラスター カタログ、属性テーブルがあるラスター、およびレイヤーです。

Mosaic Layer; Raster Layer; Table View
field_name

入力テーブルに追加するフィールドの名前。

String
field_type

新しいフィールドのフィールド タイプを指定します。

  • TEXT任意の文字列。
  • FLOAT -3.4E38〜1.2E38の範囲の有理数。
  • DOUBLE -2.2E308〜1.8E308の範囲の有理数。
  • SHORT -32,768〜32,767の範囲の整数。
  • LONG -2,147,483,648〜2,147,483,647の範囲の整数。
  • DATE日付と時刻
  • BLOB大容量バイナリ オブジェクト。BLOB フィールドにアイテムを読み込む、または BLOB フィールドの内容を参照するには、カスタム ローダー、カスタム ビューアー、またはサードパーティ アプリケーションが必要です。
  • RASTERラスター画像。ArcGIS ソフトウェアでサポートされているラスター データセット形式はすべて格納できますが、小さい画像のみを使用することを強くお勧めします。
  • GUIDGUID (Globally Unique Identifier)

Field オブジェクトの type プロパティ値は、[フィールドの追加 (Add Field)] ツールの field_type パラメーターが使用するキーワードとは完全には一致しませんが、すべての Field オブジェクトの type 値をこのパラメーターへの入力として使用できます。 フィールド タイプは次のようにマッピングされます: IntegerLONG に、StringTEXT に、SmallIntegerSHORT に。

String
field_precision
(オプション)

フィールドに格納できる桁数。 小数点以下であるかどうかにかかわらず、すべての桁が対象になります。

入力テーブルがファイル ジオデータベースの場合、フィールドの精度の値は無視されます。

Long
field_scale
(オプション)

フィールドに格納できる小数点以下の桁数。 このパラメーターは、float タイプと double タイプのデータ フィールドのみで使用します。

入力テーブルがファイル ジオデータベースの場合、フィールドのスケールの値は無視されます。

Long
field_length
(オプション)

追加するフィールドの長さ。 この値は、フィールドの各レコードに許容される文字の最大数を設定します。 このパラメーターは、タイプがテキストのフィールドに対してのみ適用されます。

Long
field_alias
(オプション)

フィールド名に割り当てる別名。 曖昧なフィールド名を説明するために使用される名前です。 このパラメーターの適用対象となるのは、ジオデータベースだけです。

String
field_is_nullable
(オプション)

このフィールドに NULL 値を含めることができるかどうかを指定します。 NULL 値は、ゼロや空のフィールドとは異なり、ジオデータベースのフィールドのみでサポートされます。

  • NON_NULLABLEフィールドでは NULL 値を使用できません。
  • NULLABLEフィールドで NULL 値を使用できます。 これがデフォルトです。
Boolean
field_is_required
(オプション)

作成されるフィールドが、テーブルの必須フィールドであるかどうかを指定します。 必須フィールドはジオデータベースでのみサポートされます。

  • NON_REQUIREDフィールドは必須フィールドではありません。 これがデフォルトです。
  • REQUIREDフィールドは必須フィールドです。 必須フィールドは永続的で、削除することはできません。
Boolean
field_domain
(オプション)

ジオデータベース内のテーブル、フィーチャクラス、またはサブタイプの特定の属性に許可される値を制約します。 フィールドに適用するには、既存のドメインの名前を指定する必要があります。

String

派生した出力

名前説明データ タイプ
out_table

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

Table

コードのサンプル

AddField (フィールドの追加) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで AddField 関数を使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data/airport.gdb"
arcpy.AddField_management("schools", "ref_ID", "LONG", 9, "", "", "refcode", 
                          "NULLABLE", "REQUIRED")
AddField (フィールドの追加) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトで、AddField 関数を使用する方法を示します。

# Name: AddField_Example2.py
# Description: Add a pair of new fields to a table
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data/airport.gdb"
 
# Set local variables
inFeatures = "schools"
fieldName1 = "ref_ID"
fieldPrecision = 9
fieldAlias = "refcode"
fieldName2 = "status"
fieldLength = 10

# Execute AddField twice for two new fields
arcpy.AddField_management(inFeatures, fieldName1, "LONG", fieldPrecision,
                          field_alias=fieldAlias, field_is_nullable="NULLABLE")

arcpy.AddField_management(inFeatures, fieldName2, "TEXT", 
                          field_length=fieldLength)

ライセンス情報

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

関連トピック