Skip to main content

フィールド演算 (データ管理ツール)

サマリー

フィーチャクラス、フィーチャ レイヤー、またはラスターのフィールドの値を計算します。

使用法

注意:

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

  • Python 式の詳細については、フィールド演算の Python の例をご参照ください。

    Arcade 式の詳細については、開発者ヘルプの ArcGIS Arcade をご参照ください。

    SQL 式の詳細については、SQL 式の構文およびフィールド値の計算をご参照ください。

    VBScript 式の詳細については、フィールド演算の VBScript の例 をご参照ください。

  • このツールの Arcade 式はフィールド演算 Arcade プロファイルを使用しています。 Arcade プロファイルは、Arcade 式が評価および理解されるコンテキストです。 Arcade 式を評価すると、戻り値は出力値のフィールド タイプにキャストされます。

  • フィーチャ レイヤーの作成 ツールや 属性検索 ツールでクエリーから作成されたフィーチャなど、選択されている一連のフィーチャに対してこのツールを使用すると、選択されているレコードのみが更新されます。

    注意:

    Windows 11 バージョン 24H2 では、VBScript はオンデマンドの機能となり、VBScript 機能が必要です。

    VBScript オプションの使用を継続するには、次のいずれかを行います。

    • 式のタイプを Python、Arcade または SQL に変換します。

    • Windows のシステム設定で VBScript のオプション機能を有効にします。

    詳細については、削除と非推奨のお知らせをご参照ください。

  • 1 回の操作につき、1 つのフィールドにのみ演算を適用できます。 複数の計算を適用するには、フィールド演算 ツールを使用します。

  • 既存のフィールドの値は上書きされます。 元の値を維持するには、バックアップとして入力テーブルのコピーを作成するか、ジオプロセシング ウィンドウの 元に戻すの有効化 オプションを使用します。

  • Python の演算の場合、フィールド名は感嘆符で囲まれている必要があります (!fieldname! など)。

    Arcade の演算の場合、フィールド名に接頭辞 $feature. が付与されている必要があります ($feature.fieldname など)。

    注意:

    フィールド タイプ (Date、Date Only、Time Only、Timestamp Offset、Text) 間で時間値を転送するには、代わりに 時間フィールドの変換 ツールを使用します。

  • テキスト フィールドまたは文字フィールドの文字列の演算を行う場合、ダイアログ ボックスでは、文字列を二重引用符で囲む必要があり (例: "string")、スクリプトでは、二重引用符で囲まれた文字列をさらに一重引用符で囲む必要があります (例: '"string"')。

  • 数値を指定するフィールドの演算を行うには、 パラメーターに数値を引用符で囲まずに入力します。

    レガシー:

    arcgis.rand() のサポートは ArcGIS Pro 2.0 で終了しました。 代わりに、Python の random モジュールを使用する同等の関数を使用する必要があります。 random モジュールを正常に使用するには、コード ブロック パラメーターにインポートとして追加します。

  • コード ブロック パラメーターを使用すると、複雑な式を作成できます。 コード ブロックは、ダイアログ ボックスに直接入力するか、スクリプトで文字列として入力します。 式とコード ブロックは接続されています。 コード ブロックの結果が式に渡される必要があるため、コード ブロックが式に関連付けられている必要もあります。

    コード ブロック パラメーターは Python 式でのみサポートされています。

  • コード ブロック パラメーターでは、Python の math モジュールおよび形式を使用できます。 追加のモジュールをインポートすることもできます。 math モジュールは、数論的関数と表現関数、べき関数と対数関数、三角関数、角度変換関数、双曲線関数、および数学定数を提供します。 math モジュールの詳細については、Python のヘルプをご参照ください。

  • Python でジオメトリー情報を計算するには、Geometry オブジェクト プロパティを使用します。 たとえば、!shape!.pointCount! の式を使用して、フィーチャ内の頂点の数を計算します。

    注意:

    ジオメトリー属性の計算 ツールでも、同様の計算を実行できます。

    Python で面積と長さを計算するには、getArea メソッドと getLength メソッドをメソッドおよび単位タイプと組み合わせて使用します。

    • ポリゴンの測地線の面積を平方キロメートル単位で計算するには、次の式を使用します。

      !shape!.getArea('GEODESIC', 'SQUAREKILOMETERS')!

    • ポリライン (またはポリゴン) の平面の長さをヤード単位で計算するには、次の式を使用します。

      !shape!.getLength('PLANAR', 'YARDS')

    詳細については、ArcPy Polygon および Polyline オブジェクトをご参照ください。

    ジオプロセシング ツールと距離および面積単位の詳細

  • ArcGIS アプリケーションは、.cal ファイルの読み書きに UTF-16-LE エンコードを使用します。 ファイルが UTF-16-LE エンコードを使用して書き込まれている限り、その他のアプリケーション (メモ帳など) を使用して、.cal ファイルを作成または変更できます。 他のエンコードを使用したファイルは、コード ブロックに読み込まれません。

  • NULL を含む文字列フィールドの連結やゼロ値除算を試みる Python および SQL 式は、このフィールドの値として NULL を返します。

    注意:

    SQL 式を使用してモバイル ジオデータベース内の文字列フィールドを連結すると、NULL 値は無視され、値が結合されます。

  • 結合されたデータを操作する場合は、結合元のテーブル内のフィールドのみ更新できます。 結合先のテーブル内のフィールドは更新できません。 結合されたテーブルで計算を実行する場合は、そのテーブルで直接計算を実行できます。

  • SQL 式は、フィーチャ サービスやエンタープライズ ジオデータベースの高速な計算をサポートします。 一度に 1 つのフィーチャまたは行を計算する代わりに、サーバーまたはデータベースに 1 つのリクエストが送信されるので、計算が高速化します。

    フィーチャ サービス、エンタープライズ ジオデータベース、モバイル ジオデータベース、ファイル ジオデータベース、データベース、SQLite、GeoPackage が SQL 式をサポートしています。 他の形式では、Python または Arcade 式を使用します。

    式の種類 パラメーターの SQL オプションの使用には、次の制限があります。

    • このオプションは、ファイル ジオデータベース、モバイル ジオデータベース、Db2、Oracle、PostgreSQL、SAP HANA、(エンタープライズ ジオデータベースを備えた、または備えていない) SQL Server、SQLite、および GeoPackage でのみサポートされています。

    • 結合テーブルのフィールド値の計算はサポートされていません。

    • バージョン対応登録され、履歴管理が有効になっているエンタープライズ ジオデータベース データはサポートされていません。

    • ジオプロセシング操作を元に戻す ことはできません。

    SQL 式のヘルプは、データベース ベンダーのドキュメントをご参照ください。

  • ツール ダイアログ ボックスの パラメーターには 値の挿入 ドロップダウン リストがあり、フィールド リストで選択したフィールドのフィールド値、または選択したフィールドのドメインのドメイン値を追加できます。 ドメイン値を使用して、フィールド ドメインの有効な値のみがフィールドに挿入されるようにします。

パラメーター

ラベル 説明 データ タイプ

入力テーブル

新しい演算で更新されるフィールドを含んでいるテーブル。

Mosaic Layer; Raster Layer; Table View

フィールド名 (既存または新規)

新しい演算で更新されるフィールド。

指定された名前のフィールドが入力テーブルに存在しない場合は、フィールドが追加されます。

Field

選択されている行を設定する値を作成するために使用される単純な演算式。

SQL Expression

式の種類

(オプション)

使用される式のタイプを指定します。

入力値がフィーチャ サービスの場合、デフォルトの式タイプは SQL になります。 それ以外の入力タイプでは、デフォルトの式タイプが Python になります。

Python 式の詳細については、フィールド演算の Python の例をご参照ください。

Arcade 式の詳細については、開発者ヘルプの ArcGIS Arcade をご参照ください。

SQL 式の詳細については、SQL 式の構文およびフィールド値の計算をご参照ください。

SQL 式は、フィーチャ サービスやエンタープライズ ジオデータベースの高速な計算をサポートします。 一度に 1 つのフィーチャまたは行を計算する代わりに、サーバーまたはデータベースに 1 つのリクエストが送信されるので、計算が高速化します。

フィーチャ サービス、エンタープライズ ジオデータベース、モバイル ジオデータベース、ファイル ジオデータベース、データベース、SQLite、GeoPackage だけが SQL 式をサポートしています。 他の形式では、Python または Arcade 式を使用します。

VBScript 式の詳細については、フィールド演算の VBScript の例 をご参照ください。

  • PythonPython 式タイプが使用されます。

  • ArcadeArcGIS Arcade 式タイプが使用されます。

  • SQLSQL 式の種類が使用されます。

  • VBScript (非推奨)VBScript 式の種類が使用されます。

String

コード ブロック

(オプション)

複雑な Python または VBScript 式に使用されるコードのブロック。

String

フィールド タイプ

(オプション)

新しいフィールドのフィールド タイプを指定します。 フィールド名が入力テーブルに存在しない場合にのみ、このパラメーターが使用されます。

フィールドのタイプがテキストの場合、フィールドの長さは 512 になります。ただし、入力がシェープファイルまたは dBASE ファイルの場合、長さは 254 になります。 長さを調整するには、フィールドの変更(alter-field-properties.yml) ツールを使用します。

  • 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 フィールドには、日付値を指定できます。時間値は指定できません。

  • Time Onlyフィールド タイプが時間のみになります。 Time only フィールドには、時間値を指定できます。日付値は指定できません。

  • Timestamp Offsetフィールド タイプが Timestamp Offset になります。 Timestamp Offset フィールドは、日付、時刻、および UTC 値からのオフセットを指定できます。

  • BLOB (バイナリー データ)フィールド タイプが BLOB になります。 BLOB フィールドには、長いバイナリ数値列として格納されるデータを指定できます。 BLOB フィールドにアイテムを読み込む、または BLOB フィールドの内容を参照するには、カスタム ローダー、カスタム ビューアー、またはサードパーティー アプリケーションが必要です。

  • GUID (Globally Unique Identifier)フィールド タイプが GUID になります。 GUID フィールドには、中括弧 () で囲まれた 36 文字のレジストリー形式の文字列が格納されます。

  • Rasterフィールド タイプがラスターになります。 ラスター フィールドでは、ラスター データをジオデータベースの内部またはジオデータベースと一緒に格納できます。 ArcGIS ソフトウェアでサポートされているラスター データセット形式はすべて格納できますが、小さい画像のみを使用することをお勧めします。

String

ドメインを設定

(オプション)

フィールド ドメイン ルールが適用されるかどうかを指定します。

  • オンフィールド ドメイン ルールが適用されます。

  • オフフィールド ドメイン ルールは適用されません。 これがデフォルトです。

Boolean

派生した出力

ラベル 説明 データ タイプ

更新された入力テーブル

更新されたテーブル。

Table View; Raster Layer; Mosaic Layer

環境

現在のワークスペース, 範囲, フィールド ドメインの説明の転送

特殊なケース

フィールド ドメインの説明の転送

When this environment is turned on, any fields that have an associated domain will use the domain description instead of the field's value. Values from fields that do not have a domain will be unaffected.

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい