ラベル | 説明 | データ タイプ |
入力テーブル | 入力テーブルまたはフィーチャクラス。 | 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 または Source field を設定する必要があります。
このツールは、定義テーブルのスクリプト フィールドを指定することにより、既存のフィールドを使用して新しいフィールドを計算します。
定義テーブルにある Script フィールドの値の例は、Population Density フィールドを計算する !TOTPOP!/!AREA! です。 フィールド名は感嘆符で囲まれている必要があります。
このツールを使用して、他のフィールド計算に依存する追加のフィールドを作成できます。 たとえば、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 (オプション) | out_table パラメーター フィールドの計算を実行する複数行の Python 関数を格納する 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")
ライセンス情報
- Basic: Yes
- Standard: Yes
- Advanced: Yes