近接イベントのトレース (Trace Proximity Events) (GeoAnalytics Desktop)

サマリー

空間 (場所) と時間で互いに近接するイベントをトレースします。 時間対応ポイント データには、時間内の瞬間を表すフィーチャが含まれている必要があります。

[近接イベントのトレース] の図
トレース イベント (オレンジ色の丸) とトラッキング (赤い丸) の例を示します。

使用法

  • 次の例は、[近接イベントのトレース (Trace Proximity Events)] ツールで実行できるユースケースを示します。

    • ある組織では、労働者が携帯する会社支給のデバイスを監視しています。 この企業は、新型コロナウイルス感染症 2019 (COVID-19) に罹患していることが判明している個人の近くにどの従業員がいたかを特定したいと考えています。 デバイスの位置と時間を表すポイント レイヤーを使用して、感染者と感染の可能性のある他の従業員から 6 メートルおよび 5 分以内に位置していたデバイスを特定しています。
    • ある NGO は GPS を使ってサケの個体数を監視しており、逃げた養殖サケと野生の個体群の間でのサケジラミの広がりを追跡したいと考えています。 GPS でタグ付けされた養殖サケの一部が、タグ付けされた野生の個体群と近接しているかどうかを追跡して、野生の個体群がどのようにして病気をさらに広める可能性があるかを確認しています。 測定には深度フィールドも含まれており、この NGO は同じような水深の魚を見つけるためにこのフィールドを使用しています。

  • 次の用語は、[近接イベントのトレース (Trace Proximity Events)] ツールで使用されています。

    • エンティティ - 動物、人、乗り物など、定期的に位置が記録されるオブジェクト。 エンティティは、静止または移動しています。
    • 対象エンティティ - トレースの開始に使用される特定のエンティティで、たとえば COVID-19 に感染した人物。
    • 近接イベント - 2 つのエンティティが互いに近接している期間で、たとえば互いに 3 メートル以内、1 分ウィンドウ以内に近接した 2 人の人物。
    • 深度 - 対象エンティティとトレースのさらに下 (下流) にあるエンティティとの間の離れ具合。 たとえば、対象エンティティと深度 1 に位置する別の人物との間にある近接イベントです。
    • トレース イベント - 対象エンティティより下流の指定エンティティの最初の接触。
  • 近接イベントをトレースする場合、データの機密性とプライバシーに関する組織、地域、および国のガイドラインを理解することは、お客様の責任です。

  • 次の線図は、[近接イベントのトレース (Trace Proximity Events)] ツールがどのようにデータを処理するかを示しています。 これらの線図では、時間は X 軸上にあります。

    各線図では、A、B、C、D の 4 つのエンティティがあります。 ハイライトされたテキストは、2 つのエンティティ間で発生するトレース イベント (From エンティティと To エンティティ) と近接イベントの深さを説明します。 この例では、エンティティ C は、下流でトレースされている対象エンティティです。

    線図 1 では、エンティティ C は、選択された対象エンティティです。 深度は 0 です。

    近接イベントのトレース ツールの線図 1

    線図 2 では、エンティティ C と B の間で近接イベントが発生しています。 トレースの深度は 1 です。 複数のフィーチャが後続の近接イベントである場合、これは持続的な近接イベントです。

    近接イベントのトレース ツールの図 2

    線図 3 では、エンティティ B と A の間で近接イベントが発生しています。 トレースの深度は 2 です。

    近接イベントのトレース ツールの図 3

    線図 4 では、エンティティ C と D の間で近接イベントが発生しています。 トレースの深度は 1 です。

    近接イベントのトレース ツールの図 4

    以下のイメージでは、エンティティ B は対象エンティティであり、青い丸で示されたエンティティ A と 3 回近接しています。 時間が X 軸上にあると仮定すると、最初の近接イベントは 1 であり、次いで接触なしのブレーク、そして近接イベント 2 と 3 が続きます。 ツールはイベント 1 をトレース イベントとして返します。 近接イベント 2 と 3 は、[近接イベントの出力] パラメーター レイヤーでは返されません。 近接イベント 1 以降のすべてのフィーチャは、[出力トラッキング] パラメーターで返されます。

    最初のトレース イベント

  • フィーチャは、互いに近接していると見なされる [空間検索距離][時間検索距離] パラメーター基準の両方を満たしている必要があります。

    空間検索距離の図
    図 A: 2 つのフィーチャは互いの空間検索距離内に位置しています。
    時間検索距離の図
    図 B: 2 つのフィーチャは互いの時間的距離 (時間検索距離) 内に位置しています。
  • 時間検索距離と空間検索距離を大きく指定すると、より多くのイベントが発生し、結果の処理に時間がかかります。 距離を小さくすると、イベント数が少なくなり、処理時間が短くなります。

  • ドメイン固有の知識を使用して、[空間検索距離] および [時間検索距離] パラメーターに使用する値を決定します。 これらの距離を設定する際は、デバイス精度などの係数を考慮してください。

  • [使用する対象エンティティを定義] パラメーターは、次のオプションをサポートしています。

    • 対象エンティティ ID - このオプションを使用すると、[対象エンティティ ID] パラメーターが有効になります。このパラメーターでは、トレース開始時点の [エンティティ ID] の値とオプションの [開始] 時間の値が必要です。
    • 指定された対象エンティティ レイヤーで選択されたフィーチャ - このオプションを使用すると、[対象エンティティ レイヤー] パラメーターが有効になります。このパラメーターによって、エンティティ ID と、トレースを開始する時間 (オプション) を含むレイヤーを選択できます。 このレイヤーでは、エンティティ ID フィールド名は入力レイヤーのエンティティ ID フィールド名と一致している必要があります。 時間対応レイヤーの場合、このレイヤーでは時間が使用されます。
  • 対象エンティティでは、近接トレースが開始されます。 開始時間を指定する場合、トレースはエンティティにおけるその時間に始まります。 時間を指定しない場合、トレースはエンティティにおける 1970 年 1 月 1 日に始まります。

  • 近接イベントに追加の要件を設定することができます。 たとえば、キャンパス内の特定の建物内の個人のみをトレースしたり、建物の 1 つの階層内のみをトレースできます。 [属性一致基準] パラメーターを使用して、制限属性を指定します。 たとえば、同じフロア上のエンティティを制限するには、Floor フィールドを指定します。

  • [近接イベントの出力] レイヤーには、トレース内のエンティティの最初の近接イベントと、以下のフィールドが含まれます。

    • from_id- 上流エンティティ ID。
    • to_id- 下流エンティティ ID。
    • depth- 対象エンティティと to_id フィールドの間の離れ具合。
    • duration_minutes- トレース イベントの期間 (分)。 このフィールドは、開始時間と終了時間の差として計算されます。 たとえば、1.5 分は 90 秒です。 値 0 は、単一の近接イベントがあることを意味します (同じ開始時間と終了時間)。
    • date- 近接イベントの日付と時刻。 このフィールドは、近接イベントにおいて最初に記録された基準を満たした時間として計算されます。

    [近接イベントの出力] レイヤーは、時間スライダーを使用して、またはリンク チャートでトレース結果を視覚化することができます。

  • オプションの [出力トラッキング] パラメーターを使用して、そのエンティティの最初のトレース イベントとそれに続くすべてのフィーチャを含むレイヤーを作成することができます。 これらの結果は、エンティティが移動した場所を視覚化するのに役立ち、[トラックの再構築] ツールで使用できます。 [出力トラッキング] パラメーターには、次のフィールドが含まれます。

    • entity_id- エンティティ ID。
    • depth- 対象エンティティとトレース トラッキングの間の離れ具合。 深度は、単一のトラッキング全体で同じになります。
    • instant_datetime- 各フィーチャの日付。 これは、入力フィーチャからのレコードと同じ日付になります。
  • 時間値、ジオメトリ値、またはエンティティ ID フィールドを持たない入力ポイントは、結果に含まれません。

  • 近接トレースを使用して伝達 (病気など) を見つける場合は、次の点に注意してください。

    • トレース イベントが存在しても、単に発生する可能性であって、それが伝達されたことを保証するものではありません。
    • トレース イベントが存在しない場合でも、何かが伝達されなかったことを意味するものではありません。 病気のようなケースでは、他のベクターを介して伝達される可能性があります。
    • 可能な場合、[属性一致基準] パラメーターを使用して必要に応じて近接イベントを制限します。 たとえば、属性を使用して部屋、床、または標高を制限します。

  • すべての近接イベントを計算したいと考えており、対象エンティティから下流をトレースしたくない場合は、[結合フィーチャ (Join Features)] ツールを使用します。

  • 次の 1 つまたは複数の操作を実行して、[近接イベントのトレース (Trace Proximity Events)] ツールのパフォーマンスを向上させることができます。

    • [空間検索距離] および [時間検索距離] パラメーターには小さな値を使用します。
    • [属性一致基準] パラメーターを使用して、対象エンティティを制限します。
    • [最大トレース深度] パラメーターの値を指定して、所定のエンティティと対象エンティティの下流のトレース数を制限します。
    • 対象データのみが解析されるように、範囲環境を設定します。
    • 解析が実行されているロケーションに対してローカルなデータを使用します。

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

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

パラメーター

ラベル説明データ タイプ
入力ポイント

近接イベントをトレースするために使用される時間対応ポイント フィーチャクラスです。

Feature Layer
エンティティ ID フィールド

各エンティティの固有 ID を表すテキスト フィールドです。

Field
近接イベントの出力

トレース近接イベントを含む出力フィーチャクラスです。

Feature Class
距離方法

[空間検索距離] パラメーターで使用する距離タイプを指定します。

  • 平面フィーチャ間で平面距離が使用されます。 これがデフォルトです。
  • 測地線フィーチャ間で測地距離が使用されます。 このライン タイプでは、楕円体の曲率を考慮して、日付変更線と極の近くのデータを正確に処理します。
String
空間検索距離
(オプション)

近接していると見なされる 2 つのポイント間の最大距離です。 空間検索距離と時間検索距離の基準内のフィーチャは、互いに近接していると見なされます。

Linear Unit
時間検索距離
(オプション)

近接していると見なされる 2 つのポイント間の最大期間。 時間検索距離以内のフィーチャと空間検索距離の基準を満たすフィーチャは、互いに近接していると見なされます。

Time Unit
使用する対象エンティティを定義
(オプション)

対象エンティティを指定します。

  • 対象エンティティ ID対象エンティティとしてエンティティ名と時間が使用されます。 これがデフォルトです。
  • 指定された対象エンティティ レイヤーの選択フィーチャ指定された対象エンティティ レイヤーの選択フィーチャが対象エンティティとして使用されます。
String
対象エンティティ ID

対象エンティティのエンティティ名と開始時間。 このパラメーターは、[使用する対象エンティティの定義] パラメーターに [対象エンティティ ID] パラメーターが指定されている場合にのみサポートされます。

  • エンティティ ID - 一意のエンティティ名。 名前は大文字と小文字が区別され、文字列にする必要があります。
  • ここから開始 - 対象エンティティに対するトレース開始時間 (オプション)。 時間を指定しない場合は「1970 年 1 月 1 日」が使用されます。

Value Table
対象エンティティ レイヤー

対象エンティティを含むレイヤーまたはテーブルです。 このパラメーターは、[使用する対象エンティティの定義] パラメーターに [指定された対象エンティティ レイヤーで選択されたフィーチャ] パラメーターが指定されている場合にのみサポートされます。

Table View
出力トラッキング
(オプション)

指定されたエンティティの最初のトレース イベントとそれに続くすべてのフィーチャを含む出力レイヤーです。

Feature Class
最大トレース深度

対象エンティティとトレースのさらに下 (下流) にあるエンティティとの間の最大の離れ具合。

Long
属性一致基準
(オプション)

近接イベントの制限に使用するフィールドです。

Field

arcpy.geoanalytics.TraceProximityEvents(in_points, entity_id_field, out_feature_class, distance_method, {spatial_search_distance}, {temporal_search_distance}, {entities_of_interest_input_type}, entities_interest_ids, entities_interest_layer, {out_tracks_layer}, max_trace_depth, {attribute_match_criteria})
名前説明データ タイプ
in_points

近接イベントをトレースするために使用される時間対応ポイント フィーチャクラスです。

Feature Layer
entity_id_field

各エンティティの固有 ID を表すテキスト フィールドです。

Field
out_feature_class

トレース近接イベントを含む出力フィーチャクラスです。

Feature Class
distance_method

[空間検索距離] パラメーターで使用する距離タイプを指定します。

  • PLANARフィーチャ間で平面距離が使用されます。 これがデフォルトです。
  • GEODESICフィーチャ間で測地距離が使用されます。 このライン タイプでは、楕円体の曲率を考慮して、日付変更線と極の近くのデータを正確に処理します。
String
spatial_search_distance
(オプション)

近接していると見なされる 2 つのポイント間の最大距離です。 空間検索距離と時間検索距離の基準内のフィーチャは、互いに近接していると見なされます。

Linear Unit
temporal_search_distance
(オプション)

近接していると見なされる 2 つのポイント間の最大期間。 時間検索距離以内のフィーチャと空間検索距離の基準を満たすフィーチャは、互いに近接していると見なされます。

Time Unit
entities_of_interest_input_type
(オプション)

対象エンティティを指定します。

  • ID_START_TIME対象エンティティとしてエンティティ名と時間が使用されます。 これがデフォルトです。
  • SELECTED_FEATURE指定された対象エンティティ レイヤーの選択フィーチャが対象エンティティとして使用されます。
String
entities_interest_ids
[entities_interest_ids,...]

対象エンティティのエンティティ名と開始時間。 このパラメーターは、ID_START_TIMEentities_of_interest_input_type パラメーターに指定された場合のみサポートされます。

  • エンティティ ID - 一意のエンティティ名。 エンティティ名の大文字と小文字は区別されます。
  • ここから開始 - 対象エンティティに対するトレース開始時間 (オプション)。 時間を指定しない場合は「1970 年 1 月 1 日」が使用されます。

Value Table
entities_interest_layer

対象エンティティを含むレイヤーまたはテーブルです。 このパラメーターは、SELECTED_FEATUREentities_of_interest_input_type パラメーターに指定された場合のみサポートされます。

Table View
out_tracks_layer
(オプション)

指定されたエンティティの最初のトレース イベントとそれに続くすべてのフィーチャを含む出力レイヤーです。

Feature Class
max_trace_depth

対象エンティティとトレースのさらに下 (下流) にあるエンティティとの間の最大の離れ具合。

Long
attribute_match_criteria
[attribute_match_criteria,...]
(オプション)

近接イベントの制限に使用するフィールドです。

Field

コードのサンプル

TraceProximityEvents (スタンドアロン スクリプト)

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

# Name: TraceProximityEvents.py
# Description: Trace proximity events for user1 and user4 with 30 feet 
#              spatial search distance and 10 minute temporal search distance.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = r"C:/data/TraceData.gdb"

# Use time-enabled multifile feature connection dataset
inFeatures = r"C:/data/Example.mfc/example_tracks"

entityIDField = "user_id"
outFile = "ProximityEvents" 
spatialDistance = "30 Feet"
temporalDistance = "10 Minutes"
entitiesOfInterest = [['user1', '3/30/2020 9:00:00 AM'], ['user4', '3/30/2020 9:00:00 AM']]
outTracks = "out_tracks"
max_trace_depth = 3

# Run Trace Proximity Events
arcpy.gapro.TraceProximityEvents(inFeatures, entityIDField, outFile, "PLANAR",
                                 spatialDistance, temporalDistance, 
                                 "ID_START_TIME", entitiesOfInterest, None, 
                                 outTracks, max_trace_depth)