ラベル | 説明 | データ タイプ |
入力ポイント | 近接イベントをトレースするために使用される時間対応ポイント フィーチャクラスです。 | Feature Layer |
エンティティ ID フィールド |
各エンティティの固有 ID を表すテキスト フィールドです。 | Field |
近接イベントの出力 | トレース近接イベントを含む出力フィーチャクラスです。 | Feature Class |
距離方法 | [空間検索距離] パラメーターで使用する距離タイプを指定します。
| String |
空間検索距離 (オプション) | 近接していると見なされる 2 つのポイント間の最大距離です。 空間検索距離と時間検索距離の基準内のフィーチャは、互いに近接していると見なされます。 | Linear Unit |
時間検索距離 (オプション) | 近接していると見なされる 2 つのポイント間の最大期間。 時間検索距離以内のフィーチャと空間検索距離の基準を満たすフィーチャは、互いに近接していると見なされます。 | Time Unit |
使用する対象エンティティを定義 (オプション) | 対象エンティティを指定します。
| String |
対象エンティティ ID |
対象エンティティのエンティティ名と開始時間。 このパラメーターは、[使用する対象エンティティの定義] パラメーターに [対象エンティティ ID] パラメーターが指定されている場合にのみサポートされます。
| Value Table |
対象エンティティ レイヤー | 対象エンティティを含むレイヤーまたはテーブルです。 このパラメーターは、[使用する対象エンティティの定義] パラメーターに [指定された対象エンティティ レイヤーで選択されたフィーチャ] パラメーターが指定されている場合にのみサポートされます。 | Table View |
出力トラッキング (オプション) |
指定されたエンティティの最初のトレース イベントとそれに続くすべてのフィーチャを含む出力レイヤーです。 | Feature Class |
最大トレース深度 |
対象エンティティとトレースのさらに下 (下流) にあるエンティティとの間の最大の離れ具合。 | Long |
属性一致基準 (オプション) |
近接イベントの制限に使用するフィールドです。 | Field |
サマリー
空間 (場所) と時間で互いに近接するイベントをトレースします。 時間対応ポイント データには、時間内の瞬間を表すフィーチャが含まれている必要があります。
図
使用法
次の例は、[近接イベントのトレース (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 です。
線図 2 では、エンティティ C と B の間で近接イベントが発生しています。 トレースの深度は 1 です。 複数のフィーチャが後続の近接イベントである場合、これは持続的な近接イベントです。
線図 3 では、エンティティ B と A の間で近接イベントが発生しています。 トレースの深度は 2 です。
線図 4 では、エンティティ C と D の間で近接イベントが発生しています。 トレースの深度は 1 です。
以下のイメージでは、エンティティ 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 をご参照ください。
パラメーター
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 | [空間検索距離] パラメーターで使用する距離タイプを指定します。
| String |
spatial_search_distance (オプション) | 近接していると見なされる 2 つのポイント間の最大距離です。 空間検索距離と時間検索距離の基準内のフィーチャは、互いに近接していると見なされます。 | Linear Unit |
temporal_search_distance (オプション) | 近接していると見なされる 2 つのポイント間の最大期間。 時間検索距離以内のフィーチャと空間検索距離の基準を満たすフィーチャは、互いに近接していると見なされます。 | Time Unit |
entities_of_interest_input_type (オプション) |
対象エンティティを指定します。
| String |
entities_interest_ids [entities_interest_ids,...] | 対象エンティティのエンティティ名と開始時間。 このパラメーターは、ID_START_TIME が entities_of_interest_input_type パラメーターに指定された場合のみサポートされます。
| Value Table |
entities_interest_layer | 対象エンティティを含むレイヤーまたはテーブルです。 このパラメーターは、SELECTED_FEATURE が entities_of_interest_input_type パラメーターに指定された場合のみサポートされます。 | Table View |
out_tracks_layer (オプション) |
指定されたエンティティの最初のトレース イベントとそれに続くすべてのフィーチャを含む出力レイヤーです。 | Feature Class |
max_trace_depth |
対象エンティティとトレースのさらに下 (下流) にあるエンティティとの間の最大の離れ具合。 | Long |
attribute_match_criteria [attribute_match_criteria,...] (オプション) |
近接イベントの制限に使用するフィールドです。 | Field |
コードのサンプル
次のスタンドアロン スクリプトで、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)