概要
時間対応フィーチャクラス内のポイントのモーション統計情報を計算します。
図
使用法
このジオプロセシング ツールは ArcGIS Enterprise 10.9 以降で使用できます。
[モーションの統計情報を計算 (Calculate Motion Statistics)] の結果は、計算された統計情報ごとに新しいフィールドを持つ入力ポイントのコピーになります。
固有のエンティティ (トラッキングとも呼ばれる) を識別するために、1 つ以上のフィールドを指定できます。トラッキングは、1 つ以上のトラッキング フィールドの一意の組み合わせで表されます。たとえば、flightID フィールドと Destination フィールドがトラッキング識別子として使用される場合、フィーチャ [ID007, Solden] と [ID007, Tokoyo] は 2 つの個別トラッキングになります。Destination フィールドの値が異なるからです。
デフォルトでは、可能であれば、サポートされているすべての統計情報が各入力ポイントについて計算されます。あるいは、[モーション統計情報] パラメーターを使用して計算する統計情報の 1 つ以上のグループを選択することもできます。
次の統計情報フィールドは、[距離] グループに対して計算されます。
- Distance - 以前の観測から今回の観測までの移動距離。
- TotDistance - トラッキング履歴ウィンドウ内の観測間の合計移動距離。
- MinDistance - トラッキング履歴ウィンドウ内の観測間の最小移動距離。
- MaxDistance - トラッキング履歴ウィンドウ内の観測間の最大移動距離。
- AvgDistance - トラッキング履歴ウィンドウ内の観測間の平均移動距離。
次の統計情報フィールドは、[速度] グループに対して計算されます。
- Speed - 以前の観測から今回の観測までの移動速度。
- MinSpeed - トラッキング履歴ウィンドウ内の観測間の最小移動速度。
- MaxSpeed - トラッキング履歴ウィンドウ内の観測間の最大移動速度。
- AvgSpeed - トラッキング履歴ウィンドウ内の観測間の平均移動速度で、トラッキング履歴ウィンドウ内の観測間の期間の合計で割ったもの。
次の統計情報フィールドは、[加速度] グループに対して計算されます。
- Acceleration - 現在の速度と以前の速度との差を現在の期間で割ったもの。
- MinAcceleration - トラッキング履歴ウィンドウで計算された最小加速度。
- MaxAcceleration - トラッキング履歴ウィンドウで計算された最大加速度。
- AvgAcceleration - トラッキング履歴ウィンドウ内の現在の速度と以前の速度との差で、トラッキング履歴ウィンドウ内の観測間の期間の合計で割ったもの。
次の統計情報フィールドは、[期間] グループに対して計算されます。
- Duration- 以前の観測からの経過時間。
- TotDuration - トラッキング履歴ウィンドウ内の合計期間。
- MinDuration - トラッキング履歴ウィンドウ内の最小期間。
- MaxDuration - トラッキング履歴ウィンドウ内の最大期間。
- AvgDuration - トラッキング履歴ウィンドウ内の合計期間で、トラッキング履歴ウィンドウで計算された期間の数で割ったもの。
次の統計情報フィールドは、[標高] グループに対して計算されます。
- Elevation - 現在の観測標高。
- ElevChange - 現在の標高と以前の標高の差。
- TotElevChange - トラッキング履歴ウィンドウ内のポイント間の合計標高変化。この値は負になることがあります。
- MinElevation - トラッキング履歴ウィンドウ内の最小標高。
- MaxElevation - トラッキング履歴ウィンドウ内の最大標高。
- AvgElevation - トラッキング履歴ウィンドウ内の合計標高で、トラッキング履歴ウィンドウ内の観測数で割ったもの。
次の統計情報フィールドは、[傾斜角] グループに対して計算されます。
- Slope - 現在の観測と以前の観測との間の距離に対する標高の変化率。
- MinSlope - トラッキング履歴ウィンドウ内の最小傾斜角。
- MaxSlope - トラッキング履歴ウィンドウ内の最大傾斜角。
- AvgSlope - トラッキング履歴ウィンドウ内の合計傾斜角で、トラッキング履歴ウィンドウで計算された傾斜角の数で割ったもの。
次の統計情報フィールドは、[アイドル] グループに対して計算されます。
- Idling - 現在の観測と以前の観測との間の距離が [アイドル距離の許容値] パラメーターの値よりも小さく、現在の観測と以前の観測との間の期間が [アイドル時間の許容値] パラメーターの値よりも大きい場合は、True になります。False は、 これらの条件の 1 つまたは両方が満たされない場合に表示されます。
- TotIdleTime - トラッキング履歴ウィンドウ内の合計期間で、アイドリング基準を満たすもの。
- PctIdleTime - アイドリングが検出された時間のパーセンテージ。
次の統計情報フィールドは、[方角] グループに対して計算されます。
- Bearing - 以前の観測から今回の観測までの移動方角。
Min、Max、Avg、Tot で始まる統計情報は、現在の観測と [履歴ウィンドウのトラッキング] パラメーターによって定義された以前の観測の数を使用して計算されます。他の統計情報は常に現在と以前の観測のみを使用して計算され、[履歴ウィンドウのトラッキング] の値は考慮されません。たとえば、[履歴ウィンドウのトラッキング] の値を 5 に設定して [速度] の統計情報グループを要求した場合、現在の観測と過去 4 回の観測が各観測で MinSpeed、MaxSpeed、およびAvgSpeed フィールドを計算するために使用され、Speed フィールドは各時点での現在と過去の観測のみを使用して計算されます。[履歴ウィンドウのトラッキング] パラメーターの値は 1 より大きくなければなりません。デフォルトは 3 です。
以下のダイアグラムは、6 つのポイント フィーチャを持つトラッキングを示しています。統計情報は、各フィーチャの標高、距離、および時間に基づいて計算されます。
次のテーブルは、上記ダイアグラムの統計情報の計算を示しています。すべての計算はポイント 5 で評価され、履歴ウィンドウのトラッキングは 3 です。1 分間に 32 メートル未満の移動をした場合、観測はアイドリング状態と見なされます。
統計情報 式 例 距離
35 m
合計距離
80 + 30 + 35 = 145 m
速度
距離 / 期間
35 / 60 = 0.58 m/s
平均速度
合計距離 / 合計期間
145 / 180 m/s
加速度
(0.58 – 0.5) / 60 = 0.001 m/s2
平均加速度
(速度 (最新) – 速度 (最初)) / (合計期間)
(0.58 – 1.33) / 60 = -0.01 m/s2
期間
60 s
合計期間
60 + 60 + 60 = 180 s
標高
5 m
標高変化
5 – 4 = 1 m
合計標高変化
5 – 0 = 5 m
傾斜角
標高変化 / 距離
1 / 35
平均傾斜角
合計標高変化 / 合計距離
5 / 145
アイドリング
False
合計アイドル時間
60 s
アイドル時間の割合
1 / 3
方位
0
トラッキングの履歴に存在する観測数が [履歴ウィンドウのトラッキング] パラメーターの値よりも少ない場合、Min、Max、Avg、Tot で始まる統計情報は、トラッキング履歴のすべての観測を使用して計算されます。
統計情報は各トラッキングの最初のフィーチャに対しては計算されません。[加速度] グループの統計情報は各トラッキングの最初のフィーチャ 2 つに対しては計算されません。
結果の値は、[距離単位]、[期間単位]、[速度単位]、[加速度単位]、および[標高単位] のパラメーターで指定された単位になります。
大きなトラッキングで統計情報を計算する場合、[時間境界分割] パラメーターを使用して、大きなトラッキングを小さなトラッキングに分割してパフォーマンスを向上させることができます。
ジオプロセシング ツールは、ArcGIS GeoAnalytics Server を活用しています。解析は GeoAnalytics Server で実行され、結果が ArcGIS Enterprise のコンテンツに保存されます。
GeoAnalytics Server ツールを実行する場合、解析は GeoAnalytics Server で実行されます。最適なパフォーマンスを得るためには、ArcGIS Enterprise ポータルでホストされているフィーチャ レイヤーかビッグ データ ファイル共有を通じて、GeoAnalytics Server にデータを提供する必要があります。GeoAnalytics Server のローカルにないデータは、解析が開始する前に GeoAnalytics Server に移動されます。つまり、ツールを実行する時間が長くなり、場合によっては ArcGIS Pro から GeoAnalytics Server にデータを移動できないこともあります。エラーの閾値はネットワークの速度や、データのサイズや複雑さに左右されます。したがって、データを必ず共有するか、ビッグ データ ファイル共有を作成することをお勧めします。
次のヒントを 1 つ以上使用することで、[モーションの統計情報を計算 (Calculate Motion Statistics)] ツールのパフォーマンスを向上させることができます。
- 対象データのみが解析されるように、範囲環境を設定します。
- [履歴ウィンドウのトラッキング] パラメーターの値を減少させます。
- [時間境界分割] パラメーターを使用して大きなトラッキングを定義された時間インターバルで分割できます。
- 解析が実行されている場所に対してローカルなデータを使用します。
構文
arcpy.geoanalytics.CalculateMotionStatistics(input_layer, output_name, track_fields, {track_history_window}, {motion_statistics}, {distance_method}, {idle_dist_tolerance}, {idle_time_tolerance}, {time_boundary_split}, {time_boundary_reference}, {distance_unit}, {duration_unit}, speed_unit, {acceleration_unit}, {elevation_unit}, {data_store})
パラメーター | 説明 | データ タイプ |
input_layer | モーション統計情報が計算される時間対応ポイント フィーチャです。 | Feature Set |
output_name | 結果レイヤーの名前です。 | String |
track_fields [track_fields,...] | 異なるエンティティを識別するために使用する 1 つ以上のフィールドです。 | Field |
track_history_window (オプション) | 統計情報サマリーに使用される観測の数 (現在の観測を含む) です。デフォルト値は 3 で、現在の観測と過去の 2 つの観測を使用して、トラッキングの各ポイントで統計情報サマリーが計算されることを意味します。このパラメーターは瞬間の統計情報やアイドル分類には影響しません。 | Long |
motion_statistics [motion_statistics,...] (オプション) | 計算されて結果に書き込まれる統計情報を含むグループを指定します。値が指定されない場合、すべてのグループのすべての統計情報が計算されます。
| String |
distance_method (オプション) | モーション統計情報を計算する際に使用する距離測定方法を指定します。
| String |
idle_dist_tolerance (オプション) | トラッキング内の連続した 2 つのポイントが離れていてもアイドルと見なされる最大距離です。このパラメーターは idle_time_tolerance パラメーターとあわせて使用され、エンティティがアイドル状態であるかどうかを判断します。motion_statistics パラメーターで IDLE 統計情報グループが指定されている場合、またはすべてのグループの統計情報が計算される場合には、idle_dist_tolerance パラメーターが必要です。 | Linear Unit |
idle_time_tolerance (オプション) | トラッキング内の連続した 2 つのポイントが近接していてアイドルと見なされる最小期間です。このパラメーターは idle_dist_tolerance パラメーターとあわせて使用され、エンティティがアイドル状態であるかどうかを判断します。motion_statistics パラメーターで IDLE 統計情報グループが指定されている場合、またはすべてのグループの統計情報が計算される場合には、idle_time_tolerance パラメーターが必要です。 | Time Unit |
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 |
distance_unit (オプション) | 出力フィーチャクラスの距離値の測定単位を指定します。
| String |
duration_unit (オプション) | 出力フィーチャクラスの期間値の測定単位を指定します。
| String |
speed_unit | 出力フィーチャクラスの速度値の測定単位を指定します。
| String |
acceleration_unit (オプション) | 出力フィーチャクラスの加速度値の測定単位を指定します。
| String |
elevation_unit (オプション) | 出力フィーチャクラスの標高値の測定単位を指定します。
| String |
data_store (オプション) | 出力の保存先の ArcGIS Data Store を指定します。デフォルトは、SPATIOTEMPORAL_DATA_STORE です。ビッグ データ ストアに格納されたすべての結果は、WGS84 で保存されます。リレーショナル データ ストアに格納された結果は、それらの座標系を維持します。 | String |
派生した出力
名前 | 説明 | データ タイプ |
output | モーションの統計情報を含む出力ポイント フィーチャ。 | フィーチャ セット |
コードのサンプル
次の Python スクリプトは、CalculateMotionStatistics 関数の使用方法を示しています。
# Name: CalculateMotionStatistics.py
# Description: Calculate speed, acceleration, and bearing for hurricane tracks.
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://mydomain.com/server/rest/services/DataStoreCatalogs/bigDataFileShares_Hurricanes/BigDataCatalogServer/all"
out = "Hurricanes_MotionStats"
trackField = "name"
# Execute Calculate Motion Statistics
arcpy.geoanalytics.CalculateMotionStatistics(inFeatures, out, trackField, 5,
["SPEED", "ACCELERATION", "BEARING"],
"GEODESIC")
環境
- 出力座標系
解析で使用される座標系。このパラメーターで指定されない限り、入力の座標系で解析が行われます。GeoAnalytics Tools の場合、最終結果は WGS84 のビッグ データ ストアに保存されます。
ライセンス情報
- Basic: 次のものが必要 ArcGIS GeoAnalytics Server
- Standard: 次のものが必要 ArcGIS GeoAnalytics Server
- Advanced: 次のものが必要 ArcGIS GeoAnalytics Server