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

概要

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

使用法

  • このジオプロセシング ツールは ArcGIS Enterprise 10.6 以降で使用できます。

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

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

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

  • 式は、Arcade 条件式を使用して作成されます。

    [フィールド演算 (Calculate Field)] での GeoAnalytics Server Arcade 条件式の詳細

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

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

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

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

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

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

    • ObjectID
    • GlobalID - 結果を時空間データ ストアに保存する場合。
    • datetime - 結果で時間が有効な場合。新しいフィールドは、時間タイプが瞬間の場合は instant_datetime、時間タイプが間隔の場合は start_datetimeend_datetime です。

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

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

  • ジオプロセシング ツールは、ArcGIS GeoAnalytics Server を活用しています。解析は GeoAnalytics Server で実行され、結果が ArcGIS Enterprise のコンテンツに保存されます。

  • GeoAnalytics Server ツールを実行する場合、解析は GeoAnalytics Server で実行されます。最適なパフォーマンスを得るためには、ArcGIS Enterprise ポータルでホストされているフィーチャ レイヤーかビッグ データ ファイル共有を通じて、GeoAnalytics Server にデータを提供する必要があります。GeoAnalytics Server のローカルにないデータは、解析が開始する前に GeoAnalytics Server に移動されます。つまり、ツールを実行する時間が長くなり、場合によっては ArcGIS Pro から GeoAnalytics Server にデータを移動できないこともあります。エラーの閾値はネットワークの速度や、データのサイズや複雑さに左右されます。したがって、データを必ず共有するか、ビッグ データ ファイル共有を作成することをお勧めします。

    データをポータルで共有する方法の詳細

    ArcGIS Server Manager を使用してビッグ データ ファイル共有を作成する方法の詳細

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

構文

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

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

Record Set
output_name

出力フィーチャ サービスの名前。

String
field_name

値を計算するフィールドの名前。既存のフィールドでも新しいフィールド名でもかまいません。

String
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
data_store
(オプション)

出力の保存先の ArcGIS Data Store を指定します。デフォルトは、SPATIOTEMPORAL_DATA_STORE です。SPATIOTEMPORAL_DATA_STORE に格納されたすべての結果は、WGS84 で保存されます。RELATIONAL_DATA_STORE に格納された結果は、それらの座標系を維持します。

  • SPATIOTEMPORAL_DATA_STORE出力がビッグ データ ストアに格納されます。これがデフォルトです。
  • RELATIONAL_DATA_STORE出力がリレーショナル データ ストアに格納されます。
String
time_boundary_split
(オプション)

入力データを解析用に分割する期間。時間境界により、指定期間内の値を解析できます。たとえば、時間境界を 1 日とした場合、1980 年 1 月 1 日から開始され、トラックは 1 日の開始時ごとに分割されます。このパラメーターは ArcGIS Enterprise 10.7 以降のライセンスでのみ利用可能です。

Time Unit
time_boundary_reference
(オプション)

入力データを解析用に分割する際に使用される基準時間。時間境界は、データの全期間に対して作成されます。基準時間は最初から作成する必要はありません。基準時間が使用されない場合、1970 年 1 月 1 日が使用されます。このパラメーターは ArcGIS Enterprise 10.7 以降のライセンスでのみ利用可能です。

Date

派生した出力

名前説明データ タイプ
output_table

計算値を含む新しい出力。

レコード セット

コードのサンプル

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

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

#-------------------------------------------------------------------------------
# Name: CalculateField.py
# Description: Calculate the mean of the 3 most recent speed measurements in hurricane tracks
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://example.arcgis.com/arcgis/rest/services/Hurricanes/FeatureServer/0"
newField = "MeanSpeed3"
outFS = "HurricaneTracks_Mean"
trackIdentifier = "Name"
calcExpression = "Average($track.field['WINDSPEED'].history(-3))"
# Execute Reconstruct Tracks
arcpy.geoanalytics.CalculateField(inFeatures, outFS, newField, "Double", 
                                  calcExpression, True, trackIdentifier)

環境

出力座標系

解析で使用される座標系。このパラメーターで指定されない限り、入力の座標系で解析が行われます。GeoAnalytics ツール の場合、最終結果は WGS84 のビッグ データ ストアに保存されます。

ライセンス情報

  • Basic: 次のものが必要 ArcGIS GeoAnalytics Server
  • Standard: 次のものが必要 ArcGIS GeoAnalytics Server
  • Advanced: 次のものが必要 ArcGIS GeoAnalytics Server

関連トピック