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

サマリー

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

使用法

    注意:

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

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

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

  • ジオデータベースでは、フィールド タイプに文字か数字が指定され、[フィールドは NULL 値をサポートします] パラメーターがオンの場合、各レコードに <NULL> が挿入されます。

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

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

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

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

    注意:

    フィールドの精度とスケールは、ファイル ジオデータベース フィーチャクラスまたはテーブルでサポートされていません。 精度またはスケールの値を指定した場合は無視されます。

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

    • 小数フィールドの作成で精度とスケールを指定すると、精度が 6 よりも大きい場合は Double タイプ、6 以下の場合は Float タイプになります。
    • スケールが 0 のフィールドでは、long または short integer フィールド タイプを使用します。 long integer フィールドの作成では、精度を 10 以下に指定します。10 よりも大きい値を指定すると、Double タイプの小数フィールドとして作成されます。

    数値フィールド タイプの詳細

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

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

パラメーター

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

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

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

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

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

String
フィールド タイプ

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

  • 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 (高精度)このフィールド タイプでは高精度の日付になります。 高精度の日付フィールドではミリ秒の日時の値がサポートされます。
  • Date onlyフィールド タイプは date only です。 Date 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フィールド タイプは Raster です。 ラスター フィールドでは、ラスター データをジオデータベース内またはジオデータベースとともに格納できます。 ArcGIS ソフトウェアでサポートされているラスター データセット形式はすべて格納できますが、小さい画像のみを使用することをおすすめします。
String
フィールドの全桁数
(オプション)

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

このパラメーターは数値フィールド タイプにのみ適用されます。

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

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

フィールドに格納できる小数点以下の桁数。

このパラメーターは、Float または Double タイプのフィールドにのみ使用できます。

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

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

フィールドの長さ。 この値は、フィールドの各レコードに許容される文字の最大数を設定します。 フィールドの長さが指定されない場合、長さ 255 が使用されます。

このパラメーターは、タイプがテキストのフィールドに対してのみ適用されます。

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

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

  • 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 です。 時間のみフィールドには、時間値を指定できます。日付値は指定できません。
  • TIMESTAMPOFFSETフィールド タイプは Timestamp offset です。 Timestamp offset フィールドは、日付、時刻、および UTC 値からのオフセットを指定できます。
  • BLOBフィールド タイプは BLOB です。 BLOB フィールドは、大容量バイナリ オブジェクトとして格納されたデータをサポートします。 BLOB フィールドにアイテムを読み込む、または BLOB フィールドの内容を参照するには、カスタム ローダー、カスタム ビューアー、またはサードパーティ アプリケーションが必要です。
  • GUIDフィールド タイプは GUID です。 GUID フィールドには、中括弧 ({}) で囲まれた 36 文字のレジストリ形式の文字列が格納されます。
  • RASTERフィールド タイプは Raster です。 ラスター フィールドでは、ラスター データをジオデータベース内またはジオデータベースとともに格納できます。 ArcGIS ソフトウェアでサポートされているラスター データセット形式はすべて格納できますが、小さい画像のみを使用することをおすすめします。

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

String
field_precision
(オプション)

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

このパラメーターは数値フィールド タイプにのみ適用されます。

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

Long
field_scale
(オプション)

フィールドに格納できる小数点以下の桁数。

このパラメーターは、Float または Double タイプのフィールドにのみ使用できます。

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

Long
field_length
(オプション)

フィールドの長さ。 この値は、フィールドの各レコードに許容される文字の最大数を設定します。 フィールドの長さが指定されない場合、長さ 255 が使用されます。

このパラメーターは、タイプがテキストのフィールドに対してのみ適用されます。

Long
field_alias
(オプション)

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

String
field_is_nullable
(オプション)

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

  • NULLABLEフィールドは NULL 値を含むことができます。 これがデフォルトです。
  • NON_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.management.AddField("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

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

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

関連トピック