概要
計算フィールドの値でレイヤーを作成します。
使用法
このジオプロセシング ツールは 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_datetime と end_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 にデータを移動できないこともあります。エラーの閾値はネットワークの速度や、データのサイズや複雑さに左右されます。したがって、データを必ず共有するか、ビッグ データ ファイル共有を作成することをお勧めします。
次のツールを使用して、類似の解析を実行することもできます。
- [データ管理] ツールボックスの [フィールド演算 (Calculate Field)] ツール。
構文
arcpy.geoanalytics.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 |
expression | フィールドの値を計算します。式は Arcade で記述され、演算子と複数のフィールドを含めることができます。地理座標系を使用していない限り、計算される値は入力の空間参照の単位で適用されます。地理座標系を使用している場合の単位は m です。 | Calculator Expression |
track_aware (オプション) | 条件式が、トラック対応の条件式を使用するかどうかを指定します。
| Boolean |
track_fields [track_fields,...] | 一意のトラックを識別するために使用される 1 つ以上のフィールド。 | Field |
data_store (オプション) | 出力の保存先の ArcGIS Data Store を指定します。デフォルトは、SPATIOTEMPORAL_DATA_STORE です。ビッグ データ ストアに格納されたすべての結果は、WGS84 で保存されます。リレーショナル データ ストアに格納された結果は、それらの座標系を維持します。
| 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 | 計算値を含む新しい出力。 | レコード セット |
コードのサンプル
次の 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 Tools の場合、最終結果は WGS84 のビッグ データ ストアに保存されます。
ライセンス情報
- Basic: 次のものが必要 ArcGIS GeoAnalytics Server
- Standard: 次のものが必要 ArcGIS GeoAnalytics Server
- Advanced: 次のものが必要 ArcGIS GeoAnalytics Server