フィールドの追加 (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」(デフォルト) に設定してください。

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

構文

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)
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

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

テーブル

コードのサンプル

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: はい
  • Standard: はい
  • Advanced: はい

関連トピック