高頻度ロケーションの検索 (Find Frequented Locations) (インテリジェンス)

サマリー

移動トラッキングが複数の時間帯に渡って滞在していたロケーションを特定し、トラッキング ID に基づいてそれらのロケーションを集約します。

使用法

  • このツールは、移動トラッキングが一定の時間滞在していたロケーションを特定します。 これは、一意の移動トラッキング ID の通常の生活パターンの探索や、調査に役立つ対象地域候補の特定に役立ちます。

    生活パターンは、一定の期間でエンティティに関連付けられた特定の振舞いや移動を指します。 生活パターンは捜査で広く使用され、特定のエンティティが特定の時間、特定のロケーションに滞在していたタイミングについて深く理解できます。

  • [滞在ロケーションの検索 (Find Dwell Locations)] ツールで使用される用語を次に示します。

    • 高頻度ロケーション - 複数の時間間隔で複数の滞在ロケーションが空間的に交差していることを示すロケーション。
    • 滞在ロケーション - トラッキングが動作を停止した時点を指定された時間パラメーターと距離パラメーターで表すフィーチャ。
    • トラッキング - 時間対応かつ時間のタイプが瞬間を示す一連のフィーチャ。 フィーチャはトラッキング ID フィールドに応じて順番が決定され、時間順に並びます。 たとえば、MMSI (Maritime Mobile Service Identity) を持つ船舶は、ほぼリアルタイムで位置情報を報告します。 この例で、MMSI は、個別のトラッキングを示します。
    • 瞬間 - 開始時間は指定されているが終了時間は指定されていない、ある特定の時点を指します。 タイム インスタントと呼ばれることもあります。
    • 間隔 - 開始時間と終了時間が指定されている期間のことを指します。 時間間隔と呼ばれることもあります。

  • [高頻度ロケーションの検索 (Find Frequented Locations)] ツールは [ミーティング ロケーションの検索 (Find Meeting Locations)] ツールとは異なり、[ミーティング ロケーションの検索 (Find Meeting Locations)] では、複数の固有な移動トラッキングが存在していた同一の地域を特定します。 [高頻度ロケーションの検索 (Find Frequented Locations)] ツールは、1 つの固有な移動トラッキングが複数の固有な時間間隔に渡って同一のロケーションに滞在しているロケーションを特定します。

  • 滞在ロケーションを検出するには、[最小滞留時間] パラメーター値と [検索距離] パラメーター値を使用します。 最初に、このツールは、一意識別子を使用してフィーチャをトラッキングに割り当てます。 トラッキングの順序は、フィーチャの時間によって決まります。 次に、トラッキング内の最初の観測と次の観測間の距離が計算されます。 時間的に連続した 2 つのポイントが、少なくとも所定の期間、所定の距離内にある場合、フィーチャは滞在の一部であると見なされます。 2 つのフィーチャが滞在の一部であると判断されると、滞在の最初のフィーチャは参照ポイントとして使用され、ツールは、滞在の参照ポイントから指定の距離内にある連続したフィーチャを検索します。 指定距離内のすべてのフィーチャが検索されると、ツールは、滞在フィーチャを収集し、その地理的中心を算出します。 現在の滞在の前後にあるフィーチャが滞在ロケーションの地理的中心から所定の距離内にある場合、それらは滞在に追加されます。 この処理は、トラッキングが終わるまで実行されます。

    高頻度ロケーションは、まずデータセットに存在するすべての滞在ロケーションを特定することで決定されます。 特定されると、同じトラッキング ID を共有する滞在ロケーションはグループ化され、マージされます。 [ロケーションあたりの最小滞在] 値が指定されている場合、対象となるロケーションは指定した最小滞在値を満たす必要があります。 その他の統計が計算され、そのロケーションの最初の訪問時間と最後の訪問時間、そのロケーションでの個別の滞在数の合計、そのロケーションに滞在した合計時間、各曜日のアクティビティの詳細な内訳がわかります。

  • デフォルトで、[時間境界] パラメーターは、毎日の開始時である午前 12 時にトラッキング データをセグメント化します。ある滞在ロケーションが 1 月 1 日 (月) 午後 10 時に開始し、1 月 2 日 (月) 午前 2 時に終了した場合、滞在ロケーションは 1 月 1 日と 1 月 2 日にそのロケーションに対して作成されます。

    同じデータに対して、[時間境界] 値が 1 週間に設定されている場合、monday フィールドの値が 1 の単一の滞在ロケーションが作成されます。

  • [入力フィーチャ] パラメーター値で時間が有効化されている必要があります。

    データの時間プロパティの設定について

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

    • track_id- [トラッキング ID フィールド] パラメーターに指定した値から取得される一意のトラッキング ID。
    • area_id- 特定されたそれぞれの高頻度ロケーションを表す一意の値
    • total_dwells- 指定した値に対して特定された滞在ロケーションの数。 area_id
    • total_time- 各滞在ロケーションの期間の合計 (秒)
    • location_start- 高頻度ロケーションで最初に確認されたタイム インスタント
    • location_end- 高頻度ロケーションで最後に確認されたタイム インスタント
    • sunday- 日曜日に特定の area_id で発生した個別の滞在ロケーションの数
    • monday- 月曜日に特定の area_id で発生した個別の滞在ロケーションの数
    • tuesday- 火曜日に特定の area_id で発生した個別の滞在ロケーションの数
    • wednesday- 水曜日に特定の area_id で発生した個別の滞在ロケーションの数
    • thursday- 木曜日に特定の area_id で発生した個別の滞在ロケーションの数
    • friday- 金曜日に特定の area_id で発生した個別の滞在ロケーションの数
    • saturday- 土曜日に特定の area_id で発生した個別の滞在ロケーションの数

  • [毎日の分布の正規化] パラメーターがオンになっている場合、sundaymondaytuesdaywednesdaythursdayfriday、および saturday フィールドの値は、特定の曜日にそのロケーションに滞在した合計時間の割合を表します。 値の範囲は 0 〜 1 で、1 は 100% を表します。 [日次分布の正規化] パラメーターがオンになっている場合、値は特定の曜日に特定のロケーションに滞在した時間の実際の値を表します。

  • このジオプロセシング ツールは、Spark を活用しています。 解析は、複数のコアを並列に使用して、デスクトップ コンピューター上で実行されます。 最適なパフォーマンスを実現するには、データをデスクトップ コンピューター上で使用できるようにします。 データがローカルに存在していない場合、このツールの実行時間が長くなります。

パラメーター

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

高頻度ロケーションの候補を解析する入力移動トラッキング ポイント。 レイヤーは時間対応である必要があります。

Feature Layer
トラッキング ID フィールド

ソース データを移動トラッキングに整理する一意の識別子を含むフィールド。

Field
出力フィーチャクラス

高頻度ロケーションの候補を含む出力ポリゴン フィーチャクラス。

Feature Class
(オプション)

レコードのサブセットを選択するために使用する SQL 式。

SQL Expression
検索距離
(オプション)

移動トラッキング ポイントが高頻度ロケーションと見なされなくなる前の、移動トラッキング ポイントの行動幅の最大距離。 デフォルト値は 100 メートルです。

Linear Unit
最小滞留時間
(オプション)

移動トラッキング ポイントがエリア内に滞留していると見なされる最小時間。

この値は、複数の固有な移動トラッキングが同じ時空間に滞在し、高頻度ロケーションの候補を特定する際に役立ちます。 デフォルト値は 10 分です。

Time Unit
時間境界
(オプション)

[入力フィーチャ] パラメーター値の分割に使用される期間。 たとえば、時間境界を 1 日とした場合、トラッキングは 1 日の開始時ごとに分割されます。

Time Unit
ロケーションあたりの最小滞在
(オプション)

高頻度ロケーションとして定義するために必要な、オーバーラップする個別の滞在の最小数。 デフォルトでは、滞在の条件を満たすすべてのロケーションが返されます。

Long
日次分布の正規化
(オプション)

滞在ロケーションの日次分布を正規化するかどうかを指定します。 正規化された値は特定の日に滞在ロケーションが発生した合計時間の割合を表し、実際の値は特定の日に発生した滞在の総数を表しています。

  • オン - 滞在ロケーションの日次分布を正規化します。
  • オフ - 滞在ロケーションの日次分布は正規化されません。 これがデフォルトです。

Boolean
サマリー フィールド
(オプション)

計算される統計を指定します。

次の変数に対して、統計を計算できます。

  • [開始時間] - 各滞在ロケーションが最初に検出された時間 (時)。 時間は最も近い時に丸められます。
  • [終了時間] - 各滞在ロケーションが最後に検出された時間 (時)。 時間は最も近い時に丸められます。
  • [滞在時間] - 各滞在ロケーションがアクティブだった時間 (秒)。

サポートされている統計は次のとおりです。

  • [平均] - 数値の平均。
  • [最小] - 数値フィールドの最小値。
  • [最大] - 数値フィールドの最大値。
  • [標準偏差] - 数値フィールドの標準偏差。

Value Table

arcpy.intelligence.FindFrequentedLocations(in_features, track_id_field, out_featureclass, {expression}, {search_distance}, {minimum_loiter_time}, {time_boundary}, {minimum_dwells}, {normalize_daily_distribution}, {summary_fields})
名前説明データ タイプ
in_features

高頻度ロケーションの候補を解析する入力移動トラッキング ポイント。 レイヤーは時間対応である必要があります。

Feature Layer
track_id_field

ソース データを移動トラッキングに整理する一意の識別子を含むフィールド。

Field
out_featureclass

高頻度ロケーションの候補を含む出力ポリゴン フィーチャクラス。

Feature Class
expression
(オプション)

レコードのサブセットを選択するために使用する SQL 式。 SQL 構文の詳細については、「ArcGIS で使用されるクエリ式への SQL リファレンス」をご参照ください。

SQL Expression
search_distance
(オプション)

移動トラッキング ポイントが高頻度ロケーションと見なされなくなる前の、移動トラッキング ポイントの行動幅の最大距離。 デフォルト値は 100 メートルです。

Linear Unit
minimum_loiter_time
(オプション)

移動トラッキング ポイントがエリア内に滞留していると見なされる最小時間。

この値は、複数の固有な移動トラッキングが同じ時空間に滞在し、高頻度ロケーションの候補を特定する際に役立ちます。 デフォルト値は 10 分です。

Time Unit
time_boundary
(オプション)

[入力フィーチャ] パラメーター値の分割に使用される期間。 たとえば、時間境界を 1 日とした場合、トラッキングは 1 日の開始時ごとに分割されます。

Time Unit
minimum_dwells
(オプション)

高頻度ロケーションとして定義するために必要な、オーバーラップする個別の滞在の最小数。 デフォルトでは、滞在の条件を満たすすべてのロケーションが返されます。

Long
normalize_daily_distribution
(オプション)

滞在ロケーションの日次分布を正規化するかどうかを指定します。 正規化された値は特定の日に滞在ロケーションが発生した合計時間の割合を表し、実際の値は特定の日に発生した滞在の総数を表しています。

  • NORMALIZED滞在ロケーションの日次分布を正規化します。
  • REAL滞在ロケーションの日次分布は正規化されず、実際の値を表します。 これがデフォルトです。
Boolean
summary_fields
[summary_fields,...]
(オプション)

計算される統計を指定します。

次の変数に対して、統計を計算できます。

  • START_TIME - 各滞在ロケーションが最初に検出された時間 (時)。 時間は最も近い時に丸められます。
  • END_TIME - 各滞在ロケーションが最後に検出された時間 (時)。 時間は最も近い時に丸められます。
  • DWELL_DURATION - 各滞在ロケーションがアクティブだった時間 (秒)。

サポートされている統計は次のとおりです。

  • MEAN - 数値の平均。
  • MIN - 数値フィールドの最小値。
  • MAX - 数値フィールドの最大値。
  • STDDEV - 数値フィールドの標準偏差。

Value Table

コードのサンプル

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

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

# Name FindFrequentedLocations.py
# Description: Find frequented locations in a track dataset.

import arcpy

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

fc = "Movement_Tracks"
track_field = "user"
out_fc = "frequented_locations"
where_statement = "user = 'user_1'"
distance = "100 Meters"
loiter_time = "10 Minutes"
boundary = "1 Days"
min_dwells = 5
daily_dist = "NORMALIZED"

arcpy.intelligence.FindFrequentedLocations(fc, 
                                           track_field, 
                                           out_fc, 
                                           where, 
                                           distance, 
                                           loiter_time, 
                                           boundary, 
                                           min_dwells, 
                                           daily_dist)