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

概要

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

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

使用法

  • [モーションの統計情報を計算 (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 回の観測が各観測で 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 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 つに対しては計算されません。

  • 結果の値は、[距離単位][期間単位][速度単位][加速度単位]、および[標高単位] のパラメーターで指定された単位になります。

  • 大きなトラッキングで統計情報を計算する場合、[時間境界分割] パラメーターを使用して、大きなトラッキングを小さなトラッキングに分割してパフォーマンスを向上させることができます。

  • ジオプロセシング ツールは、Spark を活用しています。解析は、複数のコアを並列に使用して、デスクトップ コンピューター上で実行されます。解析の実行方法の詳細については、「GeoAnalytics Desktop ツールに関する考慮事項」をご参照ください。

  • GeoAnalytics Desktop ツールを実行する場合、解析はデスクトップ コンピューター上で実行されます。最適なパフォーマンスを実現するには、データがデスクトップ上で使用可能である必要があります。ホスト フィーチャ レイヤーを使用している場合は、ArcGIS GeoAnalytics Server を使用することをお勧めします。データがローカルに存在していない場合、ツールの実行時間が長くなります。ArcGIS GeoAnalytics Server を使用して分析を行うには、GeoAnalytics Toolsをご参照ください。

  • 次のヒントを 1 つ以上使用することで、[モーションの統計情報を計算 (Calculate Motion Statistics)] ツールのパフォーマンスを向上させることができます。

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

構文

arcpy.gapro.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

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

Table View
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計測単位はマイルです。
  • NAUTICAL_MILES計測単位は海里です。
  • YARDS計測単位はヤードです。
  • FEET計測単位はフィートです。
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計測単位はキロメートルです。
  • MILES計測単位はマイルです。
  • NAUTICAL_MILES計測単位は海里です。
  • YARDS計測単位はヤードです。
  • FEET計測単位はフィートです。
String

コードのサンプル

CalculateMotionStatistics (モーションの統計情報を計算) の例 (スタンドアロン スクリプト)

次の Python スクリプトは、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"
# Set local variables
inFeatures = "Hurricanes"
trackField = "name"
out = "Hurricanes_MotionStats"
# Execute Calculate Motion Statistics
arcpy.gapro.CalculateMotionStatistics(inFeatures, out, trackField, 5, 
                                      ["SPEED", "ACCELERATION", "BEARING"],
                                      "GEODESIC")

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: いいえ
  • Standard: いいえ
  • Advanced: はい

関連トピック