概要
計算フィールドの値でレイヤーを作成します。
使用法
[フィールド演算 (Calculate Field)] は、テーブル、ポイント、ライン、またはポリゴン フィーチャで実行されます。
[フィールド演算 (Calculate Field)] ツールを使用すると、必ずレイヤーが作成されます。入力は変更されません。一度に 1 つのフィールドの値のみを計算できます。
既存のフィールドや、一意のフィールド名を作成して追加した新しいフィールドの値を計算することができます。
式は、Arcade 条件式を使用して作成されます。詳細については、「GeoAnalytics Desktop ツールの Arcade 条件式」をご参照ください。
Arcade 条件式はトラック対応にすることができます。トラック対応の条件式では、データが時間対応かつ時間のタイプが瞬間を示し、トラック フィールドを指定する必要があります。トラック対応の条件式の作成に関する詳細については、「トラック対応の例」をご参照ください。
トラック対応の計算を含めるには、以下を実行する必要があります。
- 時間対応かつ時間のタイプが瞬間を示すレイヤーを使用します。
- [トラック対応] チェックボックスをオンにします。
- トラックの識別に使用するフィールドを選択します。
トラックは、1 つ以上のトラック フィールドの一意の組み合わせで表されます。たとえば、flightID フィールドと Destination フィールドがトラック識別子として使用される場合、フィーチャ [ID007]、[Solden] および [ID007]、[Tokyo] は 2 つの個別トラックになります。Destination フィールドの値が異なるからです。
次のツールを使用して、類似の解析を実行することもできます。
- [データ管理] ツールボックスの [フィールド演算 (Calculate Field)] ツール。
時間間隔の境界を適用すると、指定間隔でトラックがセグメント化されます。たとえば、時間間隔の境界を 1 日に設定し、1990 年 1 月 1 日午前 9 時から開始した場合、各トラックは毎日午前 9 時に切詰められ、このセグメントの範囲内で解析されます。この分割を使用すると、解析のためのトラックを短縮できるため、計算時間を高速化できます。時間間隔の境界の繰り返しによる分割が解析で有効な場合は、ビッグ データ処理にこの方法を使用することをお勧めします。時間の境界を設定するには、解析がトラック対応である必要があります。
出力には、計算済みのフィールドに加え、以下の新しいフィールド タイプを含めることができます。
- ObjectID
- datetime - 結果で時間が有効な場合。新しいフィールドは、時間タイプが瞬間の場合は instant_date、時間タイプが間隔の場合は start_date と end_date です。
次の 1 つまたは複数の操作を実行して、[フィールド演算 (Calculate Field)] ツールのパフォーマンスを向上させることができます。
- 対象データのみが解析されるように、範囲環境を設定します。
- トラックを使用している場合は、[時間境界分割] パラメーターを使用してトラックを分割します。
- 条件式にトラック条件式が含まれる場合のみ、[トラック対応] を選択します。
- 解析が実行されている場所に対してローカルなデータを使用します。
ジオプロセシング ツールは、Spark を活用しています。解析は、複数のコアを並列に使用して、デスクトップ コンピューター上で実行されます。解析の実行方法の詳細については、「GeoAnalytics Desktop ツールに関する考慮事項」をご参照ください。
GeoAnalytics Desktop ツールを実行する場合、解析はデスクトップ コンピューター上で実行されます。最適なパフォーマンスを実現するには、データがデスクトップ上で使用可能である必要があります。ホスト フィーチャ レイヤーを使用している場合は、ArcGIS GeoAnalytics Server を使用することをお勧めします。データがローカルに存在していない場合、ツールの実行時間が長くなります。ArcGIS GeoAnalytics Server を使用して分析を行うには、GeoAnalytics Toolsをご参照ください。
構文
arcpy.gapro.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 | 新しく作成されたフィールドと既存のフィールドのどちらの値を計算するかを指定します。
| String |
field_name (オプション) | 値を計算する新しいフィールド。 | String |
existing_field (オプション) | 値を計算する既存のフィールド。 | Field |
field_type (オプション) | 計算フィールドのフィールド タイプを指定します。
| String |
expression | フィールドの値を計算します。式は Arcade で記述され、演算子と複数のフィールドを含めることができます。地理座標系を使用していない限り、計算される値は入力の空間参照の単位で適用されます。地理座標系を使用している場合の単位は m です。 | Calculator Expression |
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 |
コードのサンプル
次の 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: はい