フィールド演算の式
フィールド演算 ツールは、Arcade 式を使用してフィールド値を求めます。 すべてのレコードに適用される、単純なものから高度なものまでの、さまざまな計算を実行することができます。 この計算は、各フィーチャに適用されます。 以下の各セクションでは、フィールド演算の式を使用する例を示しています。 解析が ArcGIS GeoAnalytics Server 上で実行され、必ず新しいレイヤーが作成される場合に計算が実行されます。
ArcGIS Enterprise 10.6 以降では、式は Arcade を使用して書式設定されます。 Arcade では、フィールド名は $feature["field name"] または $feature.fieldname として書式設定されます。 フィールド名にスペースが含まれる場合には、最初のオプション $feature["field name"] が必要となります。 下記のすべての例は、このオプションを使用しています。
以下のツールは GeoAnalytics Server で Arcade 式を使用しています:
トラッキングの再構築 - バッファー式。
バッファーの作成 - バッファー式。
フィーチャの結合 - 結合式。
インシデントの検出 - 開始式と終了式を使用してインシデントを検出します。
レガシー:
ArcGIS GeoAnalytics Server エクステンションは ArcGIS Enterprise では非推奨になっています。 GeoAnalytics Server の 最終リリース は、ArcGIS Enterprise 11.3 に付属しています。 これらのツールは、ArcGIS Enterprise 11.3 以前のバージョンで使用できます。
数学演算および数学関数の例
式は、数値を数学的に処理することができます。 次の表は、使用可能な演算の例を示しています。
|
演算子 |
説明 |
例 |
|---|---|---|
|
|
a プラス b の合計を返します。 |
4.0 |
|
|
a マイナス b の差を返します。 |
1.1 |
|
|
a 掛ける b の積を返します。 |
4.4 |
|
|
a 割る b の商を返します。 |
3.2 |
|
|
|
1.5 |
|
|
a の自然対数 (底を e とする) を返します。 |
0 |
|
|
a の正弦が返されます。 入力の角度の単位はラジアンです。 |
1 |
|
|
a の余弦が返されます。 入力の角度の単位はラジアンです。 |
1 |
|
|
a の正接が返されます。 入力の角度の単位はラジアンです。 |
0 |
|
|
a の平方根を返します。 |
3 |
|
|
a と b のうちの小さい方の数値を返します。 |
-3 |
|
|
a と b のうちの大きい方の数値を返します。 |
1.5 |
|
|
入力値が制限範囲内にある場合、入力値を返します。 値が下限値よりも小さい場合、下限値を返します。 値が上限値よりも大きい場合、上限値を返します。 |
例 1:
例 2:
|
テキスト関数の例
フィールド演算 の式は、テキストを処理できます。 次の表は、使用可能な演算の例を示しています。
|
演算子 |
説明 |
例 |
結果 |
|---|---|---|---|
|
|
値を 1 つに連結して、文字列を返します。
|
|
GeoAnalytics is great! |
|
|
文字列内の文字列を検索します。 ワイルドカードはサポートされていません。
|
|
2 |
|
|
文字列を小文字にします。
|
|
geoanalytics |
find および lower を使用するテキストの例。
find(("north"), lower("146NorthStreet"))
日付関数の例
フィールド演算 の式は、日付を処理できます。 次の表は、使用可能な演算の例を示しています。 Arcade では、月の値は 0 (1 月) ~ 11 (12 月)、日の値は 1 ~ 31、時の値は 0 (午前 12:00) ~ 23 (午後 11:00)、分と秒の値は 0 ~ 59、ミリ秒の値は 0 ~ 999 となります。 Arcade の date では、GeoAnalytics Server の位置の時刻値が返されます。
|
演算子 |
説明 |
例 |
結果 |
|---|---|---|---|
|
|
値または値のセットを構文解析して日付文字列に変換します。
|
例 1: 例 2: 例 3: |
例 1: 20 Oct 2016 11:23:03 am 例 2: 14 Jan 2017 12:00:00 am 例 3: 現在の時間を返す |
|
|
ある日付から別の日付を減算して、その差を指定の単位で返します。
|
例 1: 例 2: |
結果は、このコマンドをいつ実行するかによって変わります。 例 1: -20532129137 例 2: -0.6546783768647119 |
|
|
所定の年を返します。
|
例 1:
例 2: |
例 1: 2017 例 2: 2012 |
論理関数の例
シンプルな数式に加えて、以下の表に示すさらに高度な関数を使用してバッファー式を適用することができます。
|
関数 |
説明 |
例 |
結果 |
|---|---|---|---|
|
|
条件が
|
|
|
|
|
式が
|
|
|
|
|
式を評価し、その値を以降のパラメーターと比較します。 式が一致した場合、次のパラメーター値を返します。 何も一致しない場合、最後のパラメーターがデフォルトの戻り値になるオプションがあります。
|
|
条件付き val の |
条件付き演算子
条件付きステートメントでは、以下の演算子を使用できます。
|
演算子 |
説明 |
例 |
結果 |
|---|---|---|---|
|
|
a が b よりも大きい a が b よりも小さい |
|
False |
|
|
a が b 以上である a が b 以下である |
|
True |
|
|
a が b と等しくない |
|
True |
|
|
a が b と等しい |
|
True |
|
|
条件 1 または条件 2 が満たされる。 |
|
True |
|
|
条件 1 および条件 2 が満たされる。 |
|
False |
トラッキング対応の例
インシデントの検出 や フィールド演算 など、一部の GeoAnalytics ツールは Arcade でトラッキング対応式を使用できます。 フィールド演算 では、入力レイヤーが時間対応で、式がトラッキング対応であり、トラッキングの識別に 1 つ以上のフィールドが使用されている場合に、トラッキング方程式が使用できます。
ArcGIS Enterprise 10.6.1 では、次のトラッキング式を使用します:
|
関数 |
説明 |
例 |
結果 |
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
所定のフィールドの指定された時間インデックスの値の配列を返します。
|
例 1: 例 2: 例 3: 例 4: |
例 1 はインデックス k で評価されると、インデックス 3 から k までの値の配列を返します。 インデックス 6 ( 例 2 は、所定の値から 1 を引いた値をインデックス k から引いた値の配列を返します ( 例 3 は、インデックス 例 4 は、例 2 で作成された配列の最初のアイテム (インデックス 0) |
||||||||||||
|
|
インデックス 1 ( |
例 1: 例 2: |
例 1: 例 2: |
||||||||||||
|
|
トラックの開始時間をエポックからの経過秒数をミリ秒で計算します。 |
2017 年 1 月 2 日に開始するトラックを使用します。
|
|
||||||||||||
|
|
トラックの開始から現在の時間ステップまでの期間をミリ秒単位で計算します。 |
2017 年 1 月 2 日に開始するトラックを使用し、現在時間は 2017 年 1 月 4 日です。
|
|
||||||||||||
|
|
トラック内の現在の時間を計算します。 |
2017 年 1 月 3 日の午前 9 時に発生したフィーチャを使用します。
|
|
||||||||||||
|
|
計算されているフィーチャの時間インデックスを返します。 |
トラック内の最初のフィーチャに対してこの値を計算する。
|
|
||||||||||||
|
|
|
2017 年 1 月 2 日の午後 2 時のフィーチャを使用します。 例 1: 例 2: |
例 1: 1 月 2 日の午後 3 時を返します: 例 2: 12 月 31 日の午後 2 時を返します: |
||||||||||||
|
|
所定のフィールドの指定された時間インデックスの値の配列を返します。 window 関数を使用すると、時間を前後に移動できます。 式はトラックの各フィーチャで評価されます。
ウィンドウ関数は ArcGIS Enterprise 10.6.1 以降で使用できます。 |
例 1: 例 2: 例 3: |
例 1: 各フィーチャで評価されると、表には次の結果が表示されます。
例 2: インデックス 2 で評価されると (値は 30)、 例 3: インデックス 2 で評価されると (値は 30)、 |
||||||||||||
|
|
指定された時間のインデックスのジオメトリーを表す値の配列を返します。 window 関数を使用すると、時間を前後に移動できます。 式はトラックの各フィーチャで評価されます。
ウィンドウ関数は ArcGIS Enterprise 10.6.1 以降で使用できます。 |
例 1: 例 2: ポリライン データセットの 例 3: ポリゴン データセットの 例 4: 前のポイント |
例 1: 各フィーチャで評価されると、表には次の結果が表示されます。
例 2: ポリラインは次の形式で返されます: 例 3: ポリゴンは次の形式で返されます: 例 4: インデックス 2 (値は 30) で評価: |
||||||||||||
|
|
指定された時間のインデックスのジオメトリーとすべての属性を表す値の配列を返します。 window 関数を使用すると、時間を前後に移動できます。
ウィンドウ関数は ArcGIS Enterprise 10.6.1 以降で使用できます。 |
例 1: 例 2: |
例 1: 各フィーチャで評価されると、表には次の結果が表示されます。
例 2: インデックス 2 (値は 30) で評価: |
ArcGIS Enterprise 10.6.1 以降では、次のトラッキング式を使用します:
|
関数 |
説明 |
例 |
結果 |
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
トラックの開始時間をエポックからの経過秒数をミリ秒で計算します。 |
2017 年 1 月 2 日に開始するトラックを使用します。
|
|
||||||||||||
|
|
トラックの開始から現在の時間ステップまでの期間をミリ秒単位で計算します。 |
2017 年 1 月 2 日に開始するトラックを使用し、現在時間は 2017 年 1 月 4 日です。
|
|
||||||||||||
|
|
トラック内の現在の時間を計算します。 |
2017 年 1 月 3 日の午前 9 時に発生したフィーチャを使用します。
|
|
||||||||||||
|
|
計算されているフィーチャの時間インデックスを返します。 |
トラック内の最初のフィーチャに対してこの値を計算する。
|
|
||||||||||||
|
|
所定のフィールドの指定された時間インデックスの値の配列を返します。 window 関数を使用すると、時間を前後に移動できます。 式はトラックの各フィーチャで評価されます。
|
例 1: 例 2: 例 3: |
例 1: 各フィーチャで評価されると、表には次の結果が表示されます。
例 2: インデックス 2 で評価されると (値は 30)、 例 3: インデックス 2 で評価されると (値は 30)、 |
||||||||||||
|
|
指定された時間のインデックスのジオメトリーを表す値の配列を返します。 window 関数を使用すると、時間を前後に移動できます。 式はトラックの各フィーチャで評価されます。
|
例 1: 例 2: ポリライン データセットの 例 3: ポリゴン データセットの 例 4: 前のポイント |
例 1: 各フィーチャで評価されると、表には次の結果が表示されます。
例 2: ポリラインは次の形式で返されます: 例 3: ポリゴンは次の形式で返されます: 例 4: インデックス 2 (値は 30) で評価: |
||||||||||||
|
|
指定された時間のインデックスのジオメトリーとすべての属性を表す値の配列を返します。 window 関数を使用すると、時間を前後に移動できます。
|
例 1: 例 2: |
例 1: 各フィーチャで評価されると、表には次の結果が表示されます。
例 2: インデックス 2 (値は 30) で評価: |
ArcGIS Enterprise 10.9 以降では、次のトラッキング式を使用して、軌跡の距離、速度、加速度を計算します。
距離の計算はメートル法、速度はメートル/秒、加速度はメートル/秒二乗ですべて計算されます。 距離は測地距離を使用して計測されます。
|
関数 |
説明 |
|---|---|
|
|
最初の観測から現在の観測までの移動距離の合計。 |
|
|
最初の観測から現在の観測までの移動距離の合計に特定の値を加算。 |
|
|
最初の観測 (0) についてのウィンドウ内の最初の値 (含まれる) から最後の値 (含まれない) までの距離。 |
|
|
前の観測から現在の観測までの速度。 |
|
|
現在の観測を基準とした観測時の速度。 たとえば、値 2 では、現在から 2 観測後の観測時の速度です。 |
|
|
最初の観測 (0) についてのウィンドウ内の最初の値 (含まれる) から最後の値 (含まれない) までの速度値。 |
|
|
前の観測から現在の観測までの加速度。 |
|
|
現在の観測を基準とした観測時の加速度。 |
|
|
最初の観測 (0) についてのウィンドウ内の最初の値 (含まれる) から最後の値 (含まれない) までの加速度値。 |
距離、速度、加速度の計算例は、次の図の例を使用します。

|
関数 |
結果例 |
||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|