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

概要

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

使用法

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

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

    • 右折または左折
    • 右 U ターンまたは左 U ターン
    • 加速度
    • 減速
    • 開始
    • 停止
    • 速度 (マイル/時間)
    • 速度 (キロメートル/時間)
    • トラッキング内の現在のポイントと前のポイント間の距離の差
    • トラッキング内の現在のポイントと前のポイント間の時間の差
    • [対象地域] フィーチャクラスが指定されている場合に現在のポイントが存在する対象地域の名前

  • ターンを計算するには、[曲率] パラメーターと [ポイント数] パラメーターを使用します。各ポイントは、指定した [ポイント数] パラメーターの値で現在のポイントと現在のポイントの前後にあるポイントを使用して計算された一連の三角形として評価されます。次に、メンガー曲線が算出され、ターンを検出できるようになります。

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

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

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

    • track_id - ポイントをトラッキングに関連付ける一意の識別子。このフィールドは、[ID フィールド] パラメーターから取得されます。
    • time - ポイント トラッキング フィーチャに関連付けられた時間。このフィールドは、レイヤー プロパティで指定された時間フィールドから取得されます。
    • POINT_X - 現在のフィーチャに関連付けられた X 座標。
    • POINT_Y - 現在のフィーチャに関連付けられた Y 座標。
    • distance_diff - トラッキング内の前のフィーチャと現在のフィーチャ間の距離。この距離は、入力座標系の単位で計算されます。
    • time_diff - トラッキング内の前のフィーチャと現在のフィーチャ間の秒単位の差。
    • speed - 1 秒当たりの入力座標系の距離単位の速度。
    • speed_MPH - トラッキング内の前のフィーチャから現在のフィーチャまでのトラッキングのマイル毎時単位の速度。
    • speed_KMPH - トラッキング内の前のフィーチャから現在のフィーチャまでのトラッキングのキロメートル毎時単位の速度。
    • acc_event - 加速イベント。具体的な加速イベントを次に示します。
      • 加速の開始 - トラッキングが速度を上げ始めたポイント。
      • ブレーキの開始 - トラッキングが速度を下げ始めたポイント。
      • 加速 - ポイント トラッキングが前のポイントと現在のポイント間で速度を上げています。この状況は必ず加速の開始の後で発生します。
      • ブレーキ中 - ポイント トラッキングが前のポイントと現在のポイント間で速度を下げています。この状況は必ずブレーキの終了の後で発生します。
      • 加速の終了 - 加速イベントが終了するポイント。通常は、この後で移動中またはブレーキ イベントが発生します。
      • ブレーキの終了 - ブレーキ イベントが終了するポイント。通常は、この後で停止済みまたは加速イベントが発生します。
      • 停止済み - ポイント トラッキングが移動しなくなっています。速度は 0 mph または 0 kph に相当する必要があります。
      • 移動中 - 前のカテゴリのいずれにも該当しない速度でポイント トラッキングが移動しています。
    • turn_event - ターン イベント。具体的なターン イベントとして、左折、右折、左 U ターン、右 U ターン、移動中があります。

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

構文

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 フィールドが移動中として分類されます。

イベントがターン イベントの条件を満たしているかどうかを判断するために、3 つのポイントに基づいてメンガー曲線が計算されます。これらのポイント間の距離は、[ポイント数] パラメーターで指定します。[曲率] パラメーターのデフォルト値は 2 であり、自動車と歩行者に適しています。航空機などの高速の移動手段では、これより小さい値を使用したり、[ポイント数] パラメーターの値を大きくしたりすることが必要な場合があります。

Double
number_of_points
(オプション)

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

Long
regions_of_interest
(オプション)

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

Feature Layer
roi_id_field
(オプション)

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

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: いいえ
  • Standard: いいえ
  • Advanced: はい

関連トピック