フィールドの一括更新 (Batch Update Fields) (データ管理)

サマリー

定義テーブルで定義されたスキーマに基づいてテーブルまたはフィーチャクラス内のフィールドを作成したり、新しいテーブルやフィーチャクラスを作成したりします。

このツールを使用すると、次の操作を行えます。

  • 新しいフィールドの追加
  • 既存のフィールドの更新
  • フィールドの並べ替え
  • フィールド タイプの変更
  • フィールドのプロパティの変更
  • フィールドのエイリアスの割り当てまたは更新
  • Python を使用した、既存のフィールドに基づいたフィールド値の計算
  • フィールドの削除

使用法

  • 入力テーブルは、フィーチャクラスまたはテーブルを使用できます。 このツールは、更新されたスキーマを使用して新しいフィーチャクラスまたはテーブルを出力します。

  • 出力テーブルのスキーマの変更は、[出力スキーマ定義テーブル] パラメーターにより定義されます。

    定義テーブルの例を次に示します。

    定義テーブルの例

    上記の例のように、[出力スキーマ定義テーブル] パラメーター値に次のフィールド名が含まれている場合、対応するパラメーター値が自動的に設定されます。

    • Target field
    • Source field
    • Type
    • Decimals/Length
    • Alias
    • Script

    注意:

    Script または Source field を設定する必要があります。

  • このツールは、定義テーブルのスクリプト フィールドを指定することにより、既存のフィールドを使用して新しいフィールドを計算します。

    定義テーブルにある Script フィールドの値の例は、Population Density フィールドを計算する !TOTPOP!/!AREA! です。 フィールド名は感嘆符で囲まれている必要があります。

  • このツールを使用して、他のフィールド計算に依存する追加のフィールドを作成できます。 たとえば、Bev_IndexBev_Per_Capita フィールドを使用して計算され、ツールの実行時にも計算されます。

  • 複数行の Python の演算には、[スクリプト ファイル] パラメーターを使用します。 スクリプト ファイルを使用するには、Python 関数を使用してファイルを作成し、定義テーブルで関数を参照します。

    次に、Bev_Per_Capita というターゲット フィールドのスクリプト コードの例を示します。

    • Bev_Per_Capita(!Bev_Total!, !TOTPOP!) の値を含む [出力スキーマ定義テーブル] パラメーター値の Script というフィールド
    • 次の関数を含む [スクリプト ファイル] のパラメーター値:
      
      def Bev_Per_Capita(Bev_Total, TOTPOP):
          return Bev_Total / TOTPOP

    次の例は、ツールの実行前と実行後の属性テーブルを示しています。

    フィールドの一括更新ツールの例

パラメーター

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

入力テーブルまたはフィーチャクラス。

Table View
出力テーブル

更新されたフィールドを含む出力テーブルまたはフィーチャクラス。

Table
出力スキーマ定義テーブル

出力の作成に使用するフィールドの定義と演算を含むテーブル。

Table View
スクリプト ファイル
(オプション)

[出力テーブル] パラメーター フィールドの計算を実行する複数行の Python 関数を格納する Python ファイル。

File
出力フィールド名
(オプション)

出力テーブルのターゲット フィールド名を含む定義テーブルのフィールド名。

Field
ソース フィールド名
(オプション)

入力テーブルのソース フィールド名を含む定義テーブルのフィールド名。

Field
出力フィールド タイプ
(オプション)

出力テーブルのデータ タイプを定義する [出力スキーマ定義テーブル] パラメーター値のフィールド。 このフィールドはテキスト タイプである必要があります。

出力テーブルのデータ タイプを定義する field_definition_table のフィールド。 このフィールドはテキスト タイプである必要があります。

以下の値がサポートされています。

  • BigInteger - 64 ビット整数
  • Blob - バイナリ ラージ オブジェクト
  • Date - 日付
  • DateOnly - 日付のみ
  • Double - 倍精度浮動小数点数
  • GlobalID - Global ID
  • GUID - グローバル一意識別子
  • Integer (または Long) - 32 ビット整数
  • Raster - ラスター
  • Float (または Single) - 単精度浮動小数点数
  • Short (または SmallInteger) - 16 ビット整数
  • Text (または String) - 文字列
  • TimeOnly - 時間のみ
  • TimestampOffset - タイムスタンプ オフセット
Field
出力フィールドの小数点以下の桁数 (長さ)
(オプション)

出力テーブルのフィールドの小数点以下の桁数または長さを定義する定義テーブルのフィールド名。

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

出力テーブルのフィールドのエイリアス名を定義する定義テーブルのフィールド名。

Field
出力フィールド スクリプト
(オプション)

出力フィールドの演算を定義する定義テーブルのフィールド名。

Field

arcpy.management.BatchUpdateFields(in_table, out_table, field_definition_table, {script_file}, {output_field_name}, {source_field_name}, {output_field_type}, {output_field_decimals_or_length}, {output_field_alias}, {output_field_script})
名前説明データ タイプ
in_table

入力テーブルまたはフィーチャクラス。

Table View
out_table

更新されたフィールドを含む出力テーブルまたはフィーチャクラス。

Table
field_definition_table

出力の作成に使用するフィールドの定義と演算を含むテーブル。

Table View
script_file
(オプション)

out_table パラメーター フィールドの計算を実行する複数行の Python 関数を格納する Python ファイル。

File
output_field_name
(オプション)

出力テーブルのターゲット フィールド名を含む定義テーブルのフィールド名。

Field
source_field_name
(オプション)

入力テーブルのソース フィールド名を含む定義テーブルのフィールド名。

Field
output_field_type
(オプション)

出力テーブルのデータ タイプを定義する [出力スキーマ定義テーブル] パラメーター値のフィールド。 このフィールドはテキスト タイプである必要があります。

出力テーブルのデータ タイプを定義する field_definition_table のフィールド。 このフィールドはテキスト タイプである必要があります。

以下の値がサポートされています。

  • BigInteger - 64 ビット整数
  • Blob - バイナリ ラージ オブジェクト
  • Date - 日付
  • DateOnly - 日付のみ
  • Double - 倍精度浮動小数点数
  • GlobalID - Global ID
  • GUID - グローバル一意識別子
  • Integer (または Long) - 32 ビット整数
  • Raster - ラスター
  • Float (または Single) - 単精度浮動小数点数
  • Short (または SmallInteger) - 16 ビット整数
  • Text (または String) - 文字列
  • TimeOnly - 時間のみ
  • TimestampOffset - タイムスタンプ オフセット
Field
output_field_decimals_or_length
(オプション)

出力テーブルのフィールドの小数点以下の桁数または長さを定義する定義テーブルのフィールド名。

Field
output_field_alias
(オプション)

出力テーブルのフィールドのエイリアス名を定義する定義テーブルのフィールド名。

Field
output_field_script
(オプション)

出力フィールドの演算を定義する定義テーブルのフィールド名。

Field

コードのサンプル

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

次の Python ウィンドウ スクリプトは、スタンドアロン スクリプトで BatchUpdateFields 関数を使用する方法を示しています。

import arcpy
arcpy.management.BatchUpdateFields(
    "zip_codes", "MyProject.gdb\zip_codes_BatchUpdateFields",
    "DATA_TRANSFORMATION.csv", r"C:\BatchUpdate\script.py", "TARGET",
    "SOURCE", "DATATYPE", "DECIMALS", "ALIAS", "SCRIPT")

ライセンス情報

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

関連トピック