ラベル | 説明 | データ タイプ |
入力テーブル | 入力テーブルまたはフィーチャクラス。 | Table View |
出力テーブル | 最新のフィールドを含む出力テーブルまたはフィーチャクラス。 | Table |
出力スキーマ定義テーブル | 出力の作成に使用するフィールド定義と計算を含むテーブル。 | Table View |
スクリプト ファイル (オプション) | 複数行の Python 関数を格納し、[出力テーブル] パラメーター フィールドの計算を実行する Python ファイル。 | File |
出力フィールド名 (オプション) | 出力テーブルのターゲット フィールド名を含む定義テーブルのフィールド名。 | Field |
ソース フィールド名 (オプション) | 入力テーブルのソース フィールド名を含む定義テーブルのフィールド名。 | Field |
出力フィールド タイプ (オプション) | 出力テーブルのデータ タイプを定義する [出力スキーマ定義テーブル] パラメーター値のフィールド。 このフィールドはテキスト タイプである必要があります。 出力テーブルのデータ タイプを定義する field_definition_table のフィールド。 このフィールドはテキスト タイプである必要があります。 以下の値がサポートされています。
| Field |
出力フィールドの小数点以下の桁数 (長さ) (オプション) | 出力フィールドの小数点以下の桁数 (長さ) を定義する定義テーブルのフィールド名。 | Field |
出力フィールド エイリアス (オプション) | 出力テーブルのフィールドのエイリアス名を定義する定義テーブルのフィールド名。 | Field |
出力フィールド スクリプト (オプション) | 出力フィールドの計算を定義する定義テーブルのフィールド名。 | Field |
サマリー
定義テーブルで定義されたスキーマに基づいて、テーブルまたはフィーチャクラス内のフィールドを変換し、新しいテーブルまたはフィーチャクラスを作成します。
このツールを使用すると、次のような操作を行えます。
- 新しいフィールドの追加
- 既存のフィールドの更新
- フィールドの並べ替え
- フィールド タイプの変更
- フィールドのプロパティの変更
- フィールドのエイリアスの割り当てまたは更新
- Python を使用した、既存のフィールドに基づいたフィールド値の計算
- フィールドの削除
使用法
入力テーブルは、フィーチャクラスまたはテーブルを使用できます。 このツールは、最新のスキーマを含む新しいフィーチャクラスまたはテーブルを出力します。
出力テーブルのスキーマの変更は、[出力スキーマ定義テーブル] パラメーターによって定義されます。
次に、定義テーブルの例を示します。
上記の例のように、[出力スキーマ定義テーブル] パラメーター値に次のフィールド名が含まれている場合、対応するパラメーター値が自動的に設定されます。
- Target field
- Source field
- Type
- Decimals/Length
- Alias
- Script
このツールは、定義テーブルのスクリプト フィールドを設定することで、既存のフィールドを使用して新しいフィールドを計算します。
定義テーブルの Script フィールドの値には !TOTPOP!/!AREA! などが設定され、この値で Population Density フィールドが計算されます。 フィールド名は感嘆符で囲まれている必要があります。
このツールでは、他のフィールド演算に依存する追加フィールドを作成できます。 たとえば、Bev_Index フィールドは Bev_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
次に、ツールの実行前後の属性テーブルの例を示します。
パラメーター
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 (オプション) | 複数行の Python 関数を格納し、out_table パラメーター フィールドの計算を実行する Python ファイル。 | File |
output_field_name (オプション) | 出力テーブルのターゲット フィールド名を含む定義テーブルのフィールド名。 | Field |
source_field_name (オプション) | 入力テーブルのソース フィールド名を含む定義テーブルのフィールド名。 | Field |
output_field_type (オプション) | 出力テーブルのデータ タイプを定義する [出力スキーマ定義テーブル] パラメーター値のフィールド。 このフィールドはテキスト タイプである必要があります。 出力テーブルのデータ タイプを定義する field_definition_table のフィールド。 このフィールドはテキスト タイプである必要があります。 以下の値がサポートされています。
| Field |
output_field_decimals_or_length (オプション) | 出力フィールドの小数点以下の桁数 (長さ) を定義する定義テーブルのフィールド名。 | Field |
output_field_alias (オプション) | 出力テーブルのフィールドのエイリアス名を定義する定義テーブルのフィールド名。 | Field |
output_field_script (オプション) | 出力フィールドの計算を定義する定義テーブルのフィールド名。 | Field |
コードのサンプル
次の 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")