モーションの統計量を計算 (Calculate Motion Statistics) (GeoAnalytics Desktop)

サマリー

時間対応フィーチャクラス内のポイントのモーション統計情報を計算します。

モーションの統計情報を計算ツールの図
時間対応ポイントは、動きデータで強化されます。

使用法

  • [モーションの統計情報を計算 (Calculate Motion Statistics)] の結果は、計算された統計情報ごとに新しいフィールドを持つ入力ポイントのコピーになります。

  • 固有のエンティティ (トラッキングとも呼ばれる) を識別するために、1 つ以上のフィールドを指定できます。 トラッキングは、1 つ以上のトラッキング フィールドの一意の組み合わせで表されます。 たとえば、flightID フィールドと Destination フィールドがトラッキング識別子として使用される場合、ID007SoldenID007Tokoyo の各フィーチャは 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 回の観測が各観測で MinSpeedMaxSpeed、および AvgSpeed フィールドを計算するために使用され、Speed フィールドは各時点での現在と過去の観測のみを使用して計算されます。 [履歴ウィンドウのトラッキング] パラメーターの値は 1 より大きくなければなりません。 デフォルトは 3 です。

  • 以下のダイアグラムは、6 つのポイント フィーチャを持つトラッキングを示しています。 統計情報は、各フィーチャの標高、距離、および時間に基づいて計算されます。

    時間を表す線で、それに沿って 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)] ツールのパフォーマンスを向上させることができます。

    • 対象データのみが解析されるように、範囲環境を設定します。
    • [履歴ウィンドウのトラッキング] パラメーターの値を減少させます。
    • [時間境界分割] パラメーターを使用して大きなトラッキングを定義された時間インターバルで分割できます。
    • 解析が実行されているロケーションに対してローカルなデータを使用します。

パラメーター

ラベル説明データ タイプ
入力レイヤー

モーション統計情報が計算される時間対応ポイント フィーチャです。

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
距離単位
(オプション)

出力フィーチャクラスの距離値に使用する計測単位を指定します。

  • メートル計測単位はメートルです。 これがデフォルトです。
  • キロメートル計測単位はキロメートルです。
  • 米国測量マイル計測単位は US Survey マイルです。
  • 米国測量海里計測単位は米国測量海里です。
  • 米国測量ヤード計測単位は US Survey ヤードです。
  • 米国測量フィート計測単位は US Survey フィートです。
  • 法定マイル計測単位は法定マイルです。
  • 国際海里計測単位は国際海里です。
  • 国際ヤード計測単位は国際ヤードです。
  • 国際フィート計測単位は国際フィートです。
String
期間単位
(オプション)

出力フィーチャクラスの期間値に使用する計測単位を指定します。

  • 計測単位は年です。
  • 計測単位は月です。
  • 計測単位は週です。
  • 計測単位は日です。
  • 時間計測単位は時です。
  • 計測単位は分です。
  • 計測単位は秒です。 これがデフォルトです。
  • ミリ秒計測単位はミリ秒です。
String
速度単位
(オプション)

出力フィーチャクラスの速度値に使用する計測単位を指定します。

  • メートル/秒計測単位はメートル/秒です。 これがデフォルトです。
  • マイル/時計測単位はマイル/時間です。
  • キロメートル/時計測単位はキロメートル/時間です。
  • フィート/秒計測単位はフィート/秒です。
  • 海里/時間計測単位は海里/時間です。
String
加速単位
(オプション)

出力フィーチャクラスの加速度値に使用する計測単位を指定します。

  • メートル/平方秒計測単位はメートル/平方秒です。 これがデフォルトです。
  • フィート/平方秒計測単位はフィート/平方秒です。
String
標高単位
(オプション)

出力フィーチャクラスの標高値に使用する計測単位を指定します。

  • メートル計測単位はメートルです。 これがデフォルトです。
  • キロメートル計測単位は US Survey キロメートルです。
  • 米国測量マイル計測単位は US Survey マイルです。
  • 米国測量ヤード計測単位は US Survey ヤードです。
  • 米国測量フィート計測単位は US Survey フィートです。
  • 法定マイル計測単位は法定マイルです。
  • 国際ヤード計測単位は国際ヤードです。
  • 国際フィート計測単位は国際フィートです。
String

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,...]
(オプション)

計算されて結果に書き込まれる統計情報を含むグループを指定します。 値が指定されない場合、すべてのグループのすべての統計情報が計算されます。

  • DISTANCE現在の観測と以前の観測との間の距離と、トラッキング履歴ウィンドウ内の最大、最小、平均、合計の距離が計算されます。
  • DURATION現在の観測と以前の観測との間の期間と、トラッキング履歴ウィンドウ内の最大、最小、平均、合計の期間が計算されます。
  • SPEED現在の観測と以前の観測との間の移動速度と、トラッキング履歴ウィンドウ内の最大、最小、平均、合計の速度が計算されます。
  • ACCELERATION現在の速度と以前の速度との間の加速度と、トラッキング履歴ウィンドウ内の最大、最小、平均、合計の加速度が計算されます。
  • ELEVATION現在の標高、現在の観測と以前の観測との標高差、およびトラッキング履歴ウィンドウ内の最大、最小、平均、合計の標高変化が計算されます。
  • SLOPE現在の観測と以前の観測との間の傾斜角と、トラッキング履歴ウィンドウ内の最大、最小、平均の傾斜角が計算されます。
  • IDLEエンティティが現在アイドル状態にあるかどうかを判断し、トラッキング履歴ウィンドウ内のアイドル時間の割合と合計アイドル時間を計算します。
  • BEARING以前の観測と現在の観測との間の移動角度が計算されます。
String
distance_method
(オプション)

モーション統計情報を計算する際に使用する距離測定方法を指定します。

  • GEODESIC測地線の距離が使用されます。
  • PLANAR平面距離が使用されます。 これがデフォルトです。
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
(オプション)

出力フィーチャクラスの距離値に使用する計測単位を指定します。

  • METERS計測単位はメートルです。 これがデフォルトです。
  • KILOMETERS計測単位はキロメートルです。
  • MILES計測単位は US Survey マイルです。
  • NAUTICAL_MILES計測単位は米国測量海里です。
  • YARDS計測単位は US Survey ヤードです。
  • FEET計測単位は US Survey フィートです。
  • MILES_INT計測単位は法定マイルです。
  • NAUTICAL_MILES_INT計測単位は国際海里です。
  • YARDS_INT計測単位は国際ヤードです。
  • FEET_INT計測単位は国際フィートです。
String
duration_unit
(オプション)

出力フィーチャクラスの期間値に使用する計測単位を指定します。

  • YEARS計測単位は年です。
  • MONTHS計測単位は月です。
  • WEEKS計測単位は週です。
  • DAYS計測単位は日です。
  • HOURS計測単位は時です。
  • MINUTES計測単位は分です。
  • SECONDS計測単位は秒です。 これがデフォルトです。
  • MILLISECONDS計測単位はミリ秒です。
String
speed_unit
(オプション)

出力フィーチャクラスの速度値に使用する計測単位を指定します。

  • METERS_PER_SECOND計測単位はメートル/秒です。 これがデフォルトです。
  • MILES_PER_HOUR計測単位はマイル/時間です。
  • KILOMETERS_PER_HOUR計測単位はキロメートル/時間です。
  • FEET_PER_SECOND計測単位はフィート/秒です。
  • NAUTICAL_MILES_PER_HOUR計測単位は海里/時間です。
String
acceleration_unit
(オプション)

出力フィーチャクラスの加速度値に使用する計測単位を指定します。

  • METERS_PER_SECOND_SQUARED計測単位はメートル/平方秒です。 これがデフォルトです。
  • FEET_PER_SECOND_SQUARED計測単位はフィート/平方秒です。
String
elevation_unit
(オプション)

出力フィーチャクラスの標高値に使用する計測単位を指定します。

  • METERS計測単位はメートルです。 これがデフォルトです。
  • KILOMETERS計測単位は US Survey キロメートルです。
  • MILES計測単位は US Survey マイルです。
  • YARDS計測単位は US Survey ヤードです。
  • FEET計測単位は US Survey フィートです。
  • MILES_INT計測単位は法定マイルです。
  • YARDS_INT計測単位は国際ヤードです。
  • FEET_INT計測単位は国際フィートです。
String

コードのサンプル

CalculateMotionStatistics の例 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトで、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")