Skip to main content

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

サマリー

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

使用法

注意:

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

  • 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 のオプション機能を有効にします。

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

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

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

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

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

    注意:

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

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

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

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

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

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

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

    注意:

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

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

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

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

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

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

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

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

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

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

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

    フィーチャ サービスのみが SQL 式をサポートしています。 他の形式では、Python または Arcade 式を使用します。

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

パラメーター

ラベル 説明 データ タイプ

入力テーブル

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

Table View; Raster Layer; Mosaic Layer

式の種類

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

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

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

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

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

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

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

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

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

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

String

フィールド

計算されるフィールド、計算される式、およびオプションの WHERE 句とフィールド タイプ。

レコードのサブセットを選択するために使用するオプションの SQL 式。 この WHERE 句に一致するレコードのみが計算されます。 WHERE 句を空白のままにすると、すべてのレコードが計算されます。 SQL 構文の詳細については、「ArcGIS で使用されるクエリー式の SQL リファレンス」をご参照ください。

指定された名前のフィールドが入力テーブルに存在しない場合は、フィールドが追加されます。 フィールドのタイプはフィールド タイプの値を使用して設定します。 フィールド タイプが指定されていない場合、フィールドはテキストフィールドとして追加されます。

値テーブル列:

  • Field Name (Existing or New)The field that will be updated with the new calculation. If a field with the specified name does not exist in the input table, it will be added.

  • ExpressionThe expression that will be used to create a value that will populate the selected rows.

  • Where ClauseThe SQL expression that will be used to select a subset of records.

  • Field TypeSpecifies the field type of the new field. This value is only used when the field name does not exist in the input table.

    • Short (16-bit integer)The field type will be short. Short fields support whole numbers between -32,768 and 32,767.

    • Long (32-bit integer)The field type will be long. Long fields support whole numbers between -2,147,483,648 and 2,147,483,647.

    • Big integer (64-bit integer)The field type will be big integer. Big integer fields support whole numbers between -(253) and 253.

    • Float (32-bit floating point)The field type will be float. Float fields support fractional numbers between -3.4E38 and 1.2E38.

    • Double (64-bit floating point)The field type will be double. Double fields support fractional numbers between -2.2E308 and 1.8E308.

    • TextThe field type will be text. Text fields support a string of characters.

    • DateThe field type will be date. Date fields support date and time values.

    • Date (high precision)The field type will be high precision date. High precision date fields support date and time values with millisecond time.

    • Date onlyThe field type will be date only. Date only fields support date values with no time values.

    • Time onlyThe field type will be time only. Time only fields support time values with no date values.

    • Timestamp offsetThe field type will be timestamp offset. Timestamp offset fields support a date, time, and offset from a UTC value.

    • BLOB (binary data)The field type will be BLOB. BLOB fields support data stored as a long sequence of binary numbers. You need a custom loader or viewer or a third-party application to load items into a BLOB field or view the contents of a BLOB field.

    • GUID (globally unique identifier)The field type will be GUID. GUID fields store registry-style strings consisting of 36 characters enclosed in curly brackets.

    • RasterThe field type will be raster. Raster fields can store raster data in or alongside the geodatabase. All ArcGIS software-supported raster dataset formats can be stored, but it is recommended that only small images be used.

Value Table

コード ブロック

(オプション)

複雑な式に使用されるコードのブロック。

関数を使用し、複数の値を返すことはできません。

String

ドメインを設定

(オプション)

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

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

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

Boolean

派生した出力

ラベル 説明 データ タイプ

出力テーブル

更新されたテーブル。

Table View; Raster Layer; Mosaic Layer

環境

Global ID を維持

ライセンス情報

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