移動イベントの分類 (Classify Movement Events) (インテリジェンス)

サマリー

入力ポイント トラッキング データセット内のターン イベント、加速イベント、および速度を特定します。

移動イベントの分類 (Classify Movement Events) ツールの図

使用法

  • このツールを実行するには、[入力フィーチャ] パラメーターの値が投影座標系に含まれており、時間対応になっている必要があります。

    このツールでは、次のイベントを特定します。

    • 右折または左折
    • 右 U ターンまたは左 U ターン
    • 加速
    • 減速
    • 開始
    • 停止
    • 速度 (マイル/時間)
    • 速度 (キロメートル/時間)
    • 起点方向
    • 終点方向

    さらに、現在のポイントとトラッキング内の前のポイントの間の距離の差と時間差も計算されます。

    必要に応じて、対象領域ポイントが配置されます。

  • ターンは移動方向に基づいて注釈が付けられます。 ターンは次のカテゴリに分類できます。

    • 右折
    • 左折
    • 右 U ターン
    • 左 U ターン
    • 停止
    • 移動中

    ターンを計算するには、[曲率] パラメーターと [ポイント数] パラメーターを使用します。 各ポイントは、トラッキング内の前のポイントから現在のポイントへの方向および現在のポイントからトラッキング内の次のポイントへの方向に基づいて評価されます。 その値が、[曲率] パラメーターに指定された値を超える場合、ターンと見なされます。 それ以外の場合は、移動中と見なされます。 トラッキングが航空機や船などの大きいオブジェクトを表す場合は、[ポイント数] パラメーター値を増やして、ターンを実施するための時間を延長できるようにすることをお勧めします。

    方向の計算

    前のポイントから現在のポイントへの方向および現在のポイントから次のポイントへの方向が計算され、その差が、ターン イベントの決定に使用されます。

  • [曲率] パラメーターと [ポイント数] パラメーターのデフォルト値は、約 1 秒のサンプリング レートを想定して、通常の自動車のトラッキング向けに最適化されています。 自動車よりも高速で移動する車両や 1 秒に 1 回以外の間隔でサンプリングされたデータの場合は、[曲率] パラメーターまたは [ポイント数] パラメーターの値を変更する必要性が生じることもあります。 たとえば、5 秒に 1 回サンプリングする個人向け GPS デバイスの場合は、[ポイント数] の値を増やします。 1 秒に 1 回サンプリングする航空機を表すデータでは、航空機がターンを実行するのに必要な時間と空間を増やすことができるように、[曲率] パラメーターの値を 10 以下まで下げます。

    小さなオブジェクトと大きなオブジェクトの間のターン半径の差

    人や車などの小さなオブジェクトがターンするのに必要な距離は、航空機や船などの大きなオブジェクトと比べてより短くなります。

  • 速度を計算するには、ポイント間の距離を、その距離の移動に必要な時間で除算します。 ストップは、車両の速度がゼロになった時点で特定されます。 スタートは、ポイントが停止位置から加速した時点で特定されます。

    acc_event フィールドは、トラッキング内の現在のポイントとトラッキング内の前のポイントの差および現在のポイントとトラッキング内の次のポイント間の差を使用して計算されます。 具体的な加速イベントを次に示します。

    • 加速イベントの開始 - トラッキングが速度を上げ始めたポイント。 同じ速度のポイントは現在のポイントより前、より速度が高いポイントは現在のポイントより後に配置されます。
    • ブレーキ イベントの開始 - トラッキングが速度を下げ始めたポイント。 同じ速度のポイントは現在のポイントより前、より速度が低いポイントは現在のポイントより後に配置されます。
    • 加速 - ポイント トラッキングが前のポイントと現在のポイント間で速度を上げています。 この状況は必ず加速が開始されてから、加速イベントが終了するまでの間に発生します。
    • ブレーキ中 - ポイント トラッキングが前のポイントと現在のポイント間で速度を下げています。 この状況は必ずブレーキ イベントが開始されてから、ブレーキ イベントが終了するまでの間に発生します。
    • 加速イベントの終了 - 加速イベントが終了するポイント。 現在のポイントの速度は前のポイントよりも高くなりますが、後のポイントの速度は同じであるか、より低くなります。 通常は、この後で移動中またはブレーキ イベントが発生します。
    • ブレーキ イベントの終了 - ブレーキ イベントが終了するポイント。 現在のポイントの速度は前のポイントよりも低くなりますが、後のポイントの速度は同じであるか、より高くなります。 通常は、この後で停止済みまたは加速イベントが発生します。
    • 停止済み - ポイント トラッキングが移動しなくなっています。 速度は 0 mph または 0 kph である必要があります。
    • 移動中 - 前のカテゴリのいずれにも該当しない速度でポイント トラッキングが移動しています。

    加速およびブレーキ イベントの計算

    加速およびブレーキ イベントは、ポイント間の平均速度を使用して計算されます。

  • 出力フィーチャクラスには、次のフィールドが含まれます。

    • track_id- ポイントをトラッキングに関連付ける一意の識別子。 このフィールドは、[ID フィールド] パラメーターから取得されます。
    • time- ポイント トラッキング フィーチャに関連付けられた時間。 このフィールドは、レイヤー プロパティで指定された時間フィールドから取得されます。
    • POINT_X- 現在のフィーチャに関連付けられた X 座標。
    • POINT_Y- 現在のフィーチャに関連付けられた Y 座標。
    • distance_diff- トラッキング内の前のフィーチャと現在のフィーチャ間の距離。 この距離は、入力座標系の単位で計算されます。
    • time_diff- トラッキング内の前のフィーチャと現在のフィーチャ間の秒単位の差。
    • speed- 1 秒当たりの入力座標系の距離単位の速度。
    • speed_MPH- トラッキング内の前のフィーチャから現在のフィーチャまでのトラッキングのマイル毎時単位の速度。
    • speed_KMPH- トラッキング内の前のフィーチャから現在のフィーチャまでのトラッキングのキロメートル毎時単位の速度。
    • acc_event- 加速イベント。 具体的な加速イベントを次に示します。
      • 加速イベントの開始
      • ブレーキ イベントの開始
      • 加速
      • ブレーキ中
      • 加速イベントの終了
      • ブレーキ イベントの終了
      • 停止
      • 移動中
    • turn_event- ターン イベント。 具体的なターン イベントを次に示します。
      • 左折
      • 右折
      • 左 U ターン
      • 右 U ターン
      • 停止
      • 移動中
    • from_bearing- トラッキング内の前のポイントから現在のポイントへの方向
    • to_bearing- トラッキング内の現在のポイントから次のポイントへの方向

    オプションの [対象領域] パラメーターの値にフィーチャクラスが関連付けられている場合は、roi_id フィールドに値が入力されます。 このフィールドには、ポイントが交差している対象地域が入力されます。

  • from_bearing および to_bearing フィールドが含まれます。これらのフィールドは主として、移動の方向性を理解した上で、移動の方向に正しく合わせてシンボルを適用するのをサポートすることを目的としています。 これらのフィールドの重要な違いは、from_bearing フィールドが、トラッキングの現在のポイントから前のポイントまでの後方角を表すことにあります。

パラメーター

ラベル説明データ タイプ
入力フィーチャ

各ポイントが関連付けられているトラッキングに注釈が付けられたフィールドを含む時間対応のポイント フィーチャ レイヤー。 ジオメトリ、オブジェクト識別子、トラッキング名、および時間が出力フィーチャ テーブルに転送されます。 入力フィーチャは投影座標系に含まれていなければなりません。

Feature Layer
ID フィールド

ポイント トラッキングごとに一意の識別子を取得するために使用される入力フィーチャ内のフィールド。 このフィールドは、出力フィーチャクラスにコピーされます。

Field
出力フィーチャクラス

計算済みの移動イベントが含まれる出力フィーチャクラス。

Feature Class
曲率 (Curvature)
(オプション)

イベントをターン イベントとして分類するのに必要な最小値。 曲率の計算が終了した後、計算済みの曲率がこの値より大きいと、turn_event フィールドに関連するターン イベントが入力され、この値より小さいと、turn_event フィールドが移動中として分類されます。

ターンを計算するには、[曲率] パラメーターと [ポイント数] パラメーターを使用します。 各ポイントは、トラッキング内の前のポイントから現在のポイントへの方向および現在のポイントからトラッキング内の次のポイントへの方向に基づいて評価されます。 その値が、[曲率] パラメーターに指定された値を超える場合、ターンと見なされます。 それ以外の場合は、移動中と見なされます。 トラッキングが大きいオブジェクトを表す場合は、[ポイント数] の値を増やして、ターンを実施するための時間を延長できるようにすることをお勧めします。

Double
ポイント数
(オプション)

方向の差を計算する際に特定のポイントの前後で評価されるポイントの数。 高いサンプリング レート (1 秒以内) のデータを使用している場合は、その短時間に考えられる移動の減少を考慮して、[ポイント数] パラメーターの値を大きくすることができます。 値 1 は、自動車と歩行者に適しています。これは、入力データに対する 1 秒のサンプリングを想定しています。 航空機や船については値を大きくする必要があり、デフォルト値 5 が使用されます。

Long
対象領域
(オプション)

対象となる領域。 これは入力フィーチャ レイヤーであり、ポリゴン フィーチャクラスにする必要があります。 値を指定すると、roi フィールドが [出力フィーチャクラス] パラメーターに追加されます。

Feature Layer
対象領域 ID フィールド
(オプション)

[対象領域] パラメーター内のフィールドであり、それぞれの対象領域に一意の識別子が含まれています。

Field

arcpy.intelligence.ClassifyMovementEvents(in_features, id_field, out_featureclass, {curvature}, {number_of_points}, {regions_of_interest}, {roi_id_field})
名前説明データ タイプ
in_features

各ポイントが関連付けられているトラッキングに注釈が付けられたフィールドを含む時間対応のポイント フィーチャ レイヤー。 ジオメトリ、オブジェクト識別子、トラッキング名、および時間が出力フィーチャ テーブルに転送されます。 入力フィーチャは投影座標系に含まれていなければなりません。

Feature Layer
id_field

ポイント トラッキングごとに一意の識別子を取得するために使用される入力フィーチャ内のフィールド。 このフィールドは、出力フィーチャクラスにコピーされます。

Field
out_featureclass

計算済みの移動イベントが含まれる出力フィーチャクラス。

Feature Class
curvature
(オプション)

イベントをターン イベントとして分類するのに必要な最小値。 曲率の計算が終了した後、計算済みの曲率がこの値より大きいと、turn_event フィールドに関連するターン イベントが入力され、この値より小さいと、turn_event フィールドが移動中として分類されます。

ターンを計算するには、curvature パラメーターと number_of_points パラメーターを使用します。 各ポイントは、トラッキング内の前のポイントから現在のポイントへの方向および現在のポイントからトラッキング内の次のポイントへの方向に基づいて評価されます。 その値が、curvature パラメーターに指定された値を超える場合、ターンと見なされます。 それ以外の場合は、移動中と見なされます。 トラッキングが大きいオブジェクトを表す場合は、number_of_points の値を増やして、ターンを実施するための時間を延長できるようにすることをお勧めします。

Double
number_of_points
(オプション)

方向の差を計算する際に特定のポイントの前後で評価されるポイントの数。 高いサンプリング レート (1 秒以内) のデータを使用している場合は、その短時間の間に移動の減少が可能なように、number_of_points パラメーターの値を大きくすることができます。 値 1 は、自動車と歩行者に適しています。これは、入力データに対する 1 秒のサンプリングを想定しています。 航空機や船については値を大きくする必要があり、デフォルト値 5 が使用されます。

Long
regions_of_interest
(オプション)

対象となる領域。 これは入力フィーチャ レイヤーであり、ポリゴン フィーチャクラスにする必要があります。 値を指定すると、roi フィールドが out_featureclass パラメーターに追加されます。

Feature Layer
roi_id_field
(オプション)

regions_of_interest パラメーター内のフィールドであり、それぞれの対象領域に一意の識別子が含まれています。

Field

コードのサンプル

ClassifyMovementEvents (移動イベントの分類) の例 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトで、ClassifyMovementEvents 関数を使用する方法を示します。

# Name: ClassifyMovementEvents.py
# Description: Identify movement events in a point track dataset. 

# Import system modules 
import arcpy 

arcpy.env.workspace = "C:/data/Tracks.gdb"

# Set local variables 
source_features = "Known_Tracks"
output_movement_events = "MovementEvents"
id_field = "device_id"
regions_of_interest = "Named_Areas_Of_Interest"
roi_name = "counties"

# Execute tool
arcpy.ClassifyMovementEvents_intelligence(source_features,
                                          output_point_features,
                                          id_field,
                                          regions_of_interest,
                                          roi_name)

ライセンス情報

  • Basic: No
  • Standard: No
  • Advanced: Yes

関連トピック