ラベル | 説明 | データ タイプ |
入力レイヤー | モーション統計情報が計算される時間対応ポイント フィーチャです。 | Feature Layer |
出力フィーチャクラス |
計算された各モーション統計情報の新しいフィールドを持つポイントを含む出力フィーチャクラスまたはレイヤーです。 | Feature Class |
トラック フィールド |
異なるエンティティを識別するために使用する 1 つ以上のフィールドです。 | Field |
履歴ウィンドウのトラッキング (オプション) |
統計情報サマリーに使用される観測の数 (現在の観測を含む) です。 デフォルト値は 3 で、現在の観測と過去の 2 つの観測を使用して、トラッキングの各ポイントで統計情報サマリーが計算されることを意味します。 このパラメーターは瞬間の統計情報やアイドル分類には影響しません。 | Long |
モーションの統計 (オプション) | 計算されて結果に書き込まれる統計情報を含むグループを指定します。 値が指定されない場合、すべてのグループのすべての統計情報が計算されます。
| String |
距離計算の方法 (オプション) | モーション統計情報を計算する際に使用する距離測定方法を指定します。
| String |
アイドル距離許容値 (オプション) | トラッキング内の連続した 2 つのポイントが離れていてもアイドルと見なされる最大距離です。 このパラメーターは [アイドル時間の許容値] パラメーターとあわせて使用され、エンティティがアイドル状態であるかどうかを判断します。 [モーションの統計情報] パラメーターで [アイドル] 統計情報グループが指定されている場合、またはすべてのグループの統計情報が計算される場合には、[アイドル距離許容値] パラメーターが必要です。 | Linear Unit |
アイドル時間許容値 (オプション) | トラッキング内の連続した 2 つのポイントが近接していてアイドルと見なされる最小期間です。 このパラメーターは [アイドル距離許容値] パラメーターとあわせて使用され、エンティティがアイドル状態であるかどうかを判断します。 [モーションの統計情報] パラメーターで [アイドル] 統計情報グループが指定されている場合、またはすべてのグループの統計情報が計算される場合には、[アイドル時間許容値] パラメーターが必要です。 | Time Unit |
時間境界の分割 (オプション) | 入力データを解析用に分割する期間。 時間境界により、指定期間内の値を解析できます。 たとえば、時間境界を 1 日とした場合、1980 年 1 月 1 日から開始され、トラッキングは 1 日の開始時ごとに分割されます。 このパラメーターは ArcGIS Enterprise 10.7 以降のライセンスでのみ利用可能です。 | Time Unit |
時間境界の基準 (オプション) | 入力データを解析用に分割する際に使用される基準時間。 時間境界は、データの全期間に対して作成されます。基準時間は最初から作成する必要はありません。 基準時間を指定しないと、1970 年 1 月 1 日が使用されます。 | Date |
距離単位 (オプション) | 出力フィーチャクラスの距離値に使用する計測単位を指定します。
| String |
期間単位 (オプション) | 出力フィーチャクラスの期間値に使用する計測単位を指定します。
| String |
速度単位 (オプション) | 出力フィーチャクラスの速度値に使用する計測単位を指定します。
| String |
加速単位 (オプション) | 出力フィーチャクラスの加速度値に使用する計測単位を指定します。
| String |
標高単位 (オプション) | 出力フィーチャクラスの標高値に使用する計測単位を指定します。
| String |
サマリー
時間対応フィーチャクラス内のポイントのモーション統計情報を計算します。
図
使用法
[モーションの統計情報を計算 (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 になります。 これらの条件の 1 つまたは両方が満たされない場合に False になります。
- 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 秒
合計期間
60 + 60 + 60 = 180 秒
標高
5 m
標高変化
5 – 4 = 1 m
合計標高変化
5 – 0 = 5 m
傾斜角
標高変化 / 距離
1 / 35
平均傾斜角
合計標高変化 / 合計距離
5 / 145
アイドリング
False
合計アイドル時間
60 秒
アイドル時間の割合
1 / 3
方角
0
トラッキングの履歴に存在する観測数が [履歴ウィンドウのトラッキング] パラメーターの値よりも少ない場合、Min、Max、Avg、Tot で始まる統計情報は、トラッキング履歴のすべての観測を使用して計算されます。
統計情報は各トラッキングの最初のフィーチャに対しては計算されません。 [加速度] グループの統計情報は各トラッキングの最初のフィーチャ 2 つに対しては計算されません。
結果の値は、[距離単位]、[期間単位]、[速度単位]、[加速度単位]、および[標高単位] のパラメーターで指定された単位になります。
大きなトラッキングで統計情報を計算する場合、[時間境界分割] パラメーターを使用して、大きなトラッキングを小さなトラッキングに分割してパフォーマンスを向上させることができます。
ジオプロセシング ツールは、Spark を活用しています。 解析は、デスクトップ コンピューターで複数のコアを並列に使用して行われます。 解析の実行の詳細については、「GeoAnalytics Desktop ツールの考慮事項」をご参照ください。
GeoAnalytics Desktop ツールを実行する際、解析はデスクトップ コンピューターで行われます。 最適なパフォーマンスを得るために、データがデスクトップで利用できる必要があります。 ホスト フィーチャ レイヤーを使用している場合は、ArcGIS GeoAnalytics Server を使用することをお勧めします。 データがローカルではない場合は、ツールの実行時間は長くなります。 ArcGIS GeoAnalytics Server を使用して解析を実行する方法については、GeoAnalytics Tools をご参照ください。
次のヒントを 1 つ以上使用することで、[モーションの統計情報を計算 (Calculate Motion Statistics)] ツールのパフォーマンスを向上させることができます。
- 対象データのみが解析されるように、範囲環境を設定します。
- [履歴ウィンドウのトラッキング] パラメーターの値を減少させます。
- [時間境界分割] パラメーターを使用して大きなトラッキングを定義された時間インターバルで分割できます。
- 解析が実行されているロケーションに対してローカルなデータを使用します。
パラメーター
arcpy.geoanalytics.CalculateMotionStatistics(input_layer, out_feature_class, 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})
名前 | 説明 | データ タイプ |
input_layer | モーション統計情報が計算される時間対応ポイント フィーチャです。 | Feature Layer |
out_feature_class |
計算された各モーション統計情報の新しいフィールドを持つポイントを含む出力フィーチャクラスまたはレイヤーです。 | Feature Class |
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 日が使用されます。 | Date |
distance_unit (オプション) | 出力フィーチャクラスの距離値に使用する計測単位を指定します。
| String |
duration_unit (オプション) | 出力フィーチャクラスの期間値に使用する計測単位を指定します。
| String |
speed_unit (オプション) | 出力フィーチャクラスの速度値に使用する計測単位を指定します。
| String |
acceleration_unit (オプション) | 出力フィーチャクラスの加速度値に使用する計測単位を指定します。
| String |
elevation_unit (オプション) | 出力フィーチャクラスの標高値に使用する計測単位を指定します。
| String |
コードのサンプル
次のスタンドアロン スクリプトで、CalculateMotionStatistics 関数を使用する方法を示します。
# Name: CalculateMotionStatistics.py
# Description: Calculate speed, acceleration, and bearing for hurricane tracks.
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/Weather.gdb"
# Enable time on the input features using an .lyrx file.
# To create the .lyrx file, add your layer to a map, open the layer properties
# and enable time. Then right-click the layer and select Share As Layer File.
inputLyrx = r'C:\data\Hurricanes.lyrx'
# MakeFeatureLayer converts the .lyrx to features
hurricanesInputLayer = arcpy.management.MakeFeatureLayer(inputLyrx, "Hurricanes_layer")
# ApplySymbologyFromLayer sets the time using the .lyrx file definition
arcpy.management.ApplySymbologyFromLayer(hurricanesInputLayer, inputLyrx)
# Set local variables
trackField = "name"
out = "Hurricanes_MotionStats"
# Run Calculate Motion Statistics
arcpy.gapro.CalculateMotionStatistics(hurricanesInputLayer, out, trackField, 5,
["SPEED", "ACCELERATION", "BEARING"],
"GEODESIC")