フィールド演算 (Calculate Field) (GeoAnalytics Desktop)

概要

計算フィールドの値でレイヤーを作成します。

使用法

  • [フィールド演算 (Calculate Field)] は、テーブル、ポイント、ライン、またはポリゴン フィーチャで実行されます。

  • [フィールド演算 (Calculate Field)] ツールを使用すると、必ずレイヤーが作成されます。入力は変更されません。一度に 1 つのフィールドの値のみを計算できます。

  • 既存のフィールドや、一意のフィールド名を作成して追加した新しいフィールドの値を計算することができます。

  • 式は、Arcade 条件式を使用して作成されます。詳細については、「GeoAnalytics Desktop ツールの Arcade 条件式」をご参照ください。

  • Arcade 条件式はトラック対応にすることができます。トラック対応の条件式では、データが時間対応かつ時間のタイプが瞬間を示し、トラック フィールドを指定する必要があります。トラック対応の条件式の作成に関する詳細については、「トラック対応の例」をご参照ください。

  • トラック対応の計算を含めるには、以下を実行する必要があります。

    • 時間対応かつ時間のタイプが瞬間を示すレイヤーを使用します。
    • [トラック対応] チェックボックスをオンにします。
    • トラックの識別に使用するフィールドを選択します。

  • トラックは、1 つ以上のトラック フィールドの一意の組み合わせで表されます。たとえば、flightID フィールドと Destination フィールドがトラック識別子として使用される場合、フィーチャ [ID007]、[Solden] および [ID007]、[Tokyo] は 2 つの個別トラックになります。Destination フィールドの値が異なるからです。

  • 次のツールを使用して、類似の解析を実行することもできます。

  • 時間間隔の境界を適用すると、指定間隔でトラックがセグメント化されます。たとえば、時間間隔の境界を 1 日に設定し、1990 年 1 月 1 日午前 9 時から開始した場合、各トラックは毎日午前 9 時に切詰められ、このセグメントの範囲内で解析されます。この分割を使用すると、解析のためのトラックを短縮できるため、計算時間を高速化できます。時間間隔の境界の繰り返しによる分割が解析で有効な場合は、ビッグ データ処理にこの方法を使用することをお勧めします。時間の境界を設定するには、解析がトラック対応である必要があります。

  • 出力には、計算済みのフィールドに加え、以下の新しいフィールド タイプを含めることができます。

    • ObjectID
    • datetime - 結果で時間が有効な場合。新しいフィールドは、時間タイプが瞬間の場合は instant_date、時間タイプが間隔の場合は start_dateend_date です。

  • 次の 1 つまたは複数の操作を実行して、[フィールド演算 (Calculate Field)] ツールのパフォーマンスを向上させることができます。

    • 対象データのみが解析されるように、範囲環境を設定します。
    • トラックを使用している場合は、[時間境界分割] パラメーターを使用してトラックを分割します。
    • 条件式にトラック条件式が含まれる場合のみ、[トラック対応] を選択します。
    • 解析が実行されている場所に対してローカルなデータを使用します。

  • ジオプロセシング ツールは、Spark を活用しています。解析は、複数のコアを並列に使用して、デスクトップ コンピューター上で実行されます。解析の実行方法の詳細については、「GeoAnalytics Desktop ツールに関する考慮事項」をご参照ください。

  • GeoAnalytics Desktop ツールを実行する場合、解析はデスクトップ コンピューター上で実行されます。最適なパフォーマンスを実現するには、データがデスクトップ上で使用可能である必要があります。ホスト フィーチャ レイヤーを使用している場合は、ArcGIS GeoAnalytics Server を使用することをお勧めします。データがローカルに存在していない場合、ツールの実行時間が長くなります。ArcGIS GeoAnalytics Server を使用して分析を行うには、GeoAnalytics ツールをご参照ください。

構文

CalculateField(input_layer, output, field_to_calculate, {field_name}, {existing_field}, {field_type}, expression, {track_aware}, track_fields, {time_boundary_split}, {time_boundary_reference})
パラメーター説明データ タイプ
input_layer

フィールド演算を実行する入力フィーチャ。

Table View
output

計算フィールドを含む新しいデータセット。

Feature Class;Table
field_to_calculate

新しく作成されたフィールドと既存のフィールドのどちらの値を計算するかを指定します。

  • NEW_FIELD新しく作成されたフィールドの値を計算します。
  • EXISTING_FIELD既存のフィールドの値を計算します。
String
field_name
(オプション)

値を計算する新しいフィールド。

String
existing_field
(オプション)

値を計算する既存のフィールド。

Field
field_type
(オプション)

計算フィールドのフィールド タイプを指定します。

  • STRING新規フィールドは text タイプになります。
  • INTEGER 新規フィールドは integer タイプになります。
  • FLOAT 新規フィールドは float タイプになります。
  • DATE 新規フィールドは date タイプになります。
String
expression

フィールドの値を計算します。式は Arcade で記述され、演算子と複数のフィールドを含めることができます。地理座標系を使用していない限り、計算される値は入力の空間参照の単位で適用されます。地理座標系を使用している場合の単位は m です。

Calculator Expression
track_aware
(オプション)

条件式が、トラック対応の条件式を使用するかどうかを指定します。

  • TRACK_AWARE条件式ではトラック対応の条件式を使用するため、トラック フィールドを指定する必要があります。
  • NOT_TRACK_AWARE条件式ではトラック対応の条件式を使用しません。これがデフォルトです。
Boolean
track_fields
[track_fields,...]

一意のトラックを識別するために使用される 1 つ以上のフィールド。

Field
time_boundary_split
(オプション)

入力データを解析用に分割する期間。時間境界により、指定期間内の値を解析できます。たとえば、時間境界を 1 日として、時間境界基準を 1980 年 1 月 1 日に設定した場合、トラックは 1 日の開始時ごとに分割されます。

Time Unit
time_boundary_reference
(オプション)

入力データを解析用に分割する際に使用される基準時間。時間境界は、データの全期間に対して作成されます。基準時間は最初から作成する必要はありません。基準時間が使用されない場合、1970 年 1 月 1 日が使用されます。

Date

コードのサンプル

Calculate Field (フィールド演算) の例 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、CalculateFieldツールの使用方法を示しています。

#-------------------------------------------------------------------------------
# Name: CalculateField.py
# Description: Calculate the mean of the 3 most recent speed measurements in hurricane tracks
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/Weather.gdb"
# Set local variables
inFeatures = "Hurricanes"
fieldName = "MeanSpeed3"
out = "HurricaneTracks_Mean"
calcExpression = "Date($feature.DateAsString)"
# Execute Calculate Field
arcpy.gapro.CalculateField(inFeatures, out, "NEW_FIELD", fieldName, "", "Date", 
                           calcExpression)

ライセンス情報

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

関連トピック