ラベル | 説明 | データ タイプ |
入力フィーチャ | 同行者の検索に使用される既知の識別子を表す時間対応フィーチャ。 一意の識別子、タイム スタンプ、位置は、出力レイヤーに転送され、時間的および空間的分離の計算に利用されます。 | Feature Layer |
出力フィーチャクラス | 入力ソース レイヤーに同行すると識別されるポイント トラック セグメントを含む出力フィーチャクラス。 このフィーチャクラスには、指定したポイント トラック セグメントが関連付けられているソースが含まれています。 時間的および空間的分離は、各ポイント トラック フィーチャに対して計算されます。 | Feature Class |
ID フィールド | ポイント トラックごとに一意の識別子を取得するために使用される [入力フィーチャ] パラメーターのフィールド。 このフィールドは、出力フィーチャクラスにコピーされます。 | Field |
検索距離 (オプション) | 同行フィーチャと見なされなくなるまでフィーチャを分離できる最大距離。 デフォルトは 100 フィートです。 | Linear Unit |
時間差 (オプション) | 同行フィーチャと見なされなくなるまでフィーチャを分離できる最大時間差。 デフォルト値は 10 秒です。 | Time Unit |
入力タイプ (オプション) | 同行者を 1 つのフィーチャクラスで検出するか、2 つのフィーチャクラス間で検出するかを指定します。
| String |
第 2 フィーチャ (オプション) | 同行者を識別する第 2 のフィーチャクラス。 同行者は以下の方法で評価されます。
| Feature Layer |
第 2 ID フィールド (オプション) | ポイント トラックごとに一意の識別子を取得するために使用される [第 2 フィーチャ] パラメーターのフィールド。 このフィールドは、出力フィーチャクラスにコピーされます。 | Field |
サマリー テーブルの作成 (オプション) | 出力サマリー テーブルが作成されるかどうかを指定します。
| Boolean |
出力サマリー テーブル (オプション) | サマリー情報を格納する出力テーブル。 このパラメーターは、[サマリー テーブルの作成] パラメーターがオンの場合のみ有効になります。 出力ファイルは、ファイル ジオデータベース、テキスト ファイル、またはカンマ区切り値 (.csv) ファイル内のテーブルである必要があります。 | Table |
最小同行期間フィルターを含める (オプション) | 一緒に移動している最小時間を満たす同行者のみを返すフィルターが適用されるかどうかを指定します。
| Boolean |
最小同行期間 (オプション) | 2 つのフィーチャが同行していると見なされるまでに空間と時間を経て一緒に移動している必要がある最小時間。 | Time Unit |
サマリー
ポイント トラッキング データセット内の、指定した間隔で時空間を移動する一意の識別子を抽出します。
使用法
このツールは、指定した時間およびお互いからの距離内で移動する一意の識別子を入力フィーチャから識別します。 入力フィーチャは、時間対応である必要があります。
一意の識別子として使用するフィールドを選択するときは、整数またはテキスト フィールドを選択します。 これにより、フィーチャのグループ化が効率的になり、最適な出力が返されます。 最適なデータセットには、既存のトラック ID が含まれます。 トラック ID の適切な例としては、MMSI (Maritime Mobile Service Identity) があります。 .gpx ファイルの Name フィールドや航空機のコールサインなどの個別値をトラック別にグループ化できます。 一意識別子は行ごとに一意であってはなりません。 行ごとに一意である場合、トラックを形成できないため、同行者が識別されないか、まれではありますが、かなりの数のフォールス ポジティブが生成されることになります。
時間的および空間的分離の間隔が小さいほど、処理が高速になります。 たとえば、時間差が 10 分で空間的分離が 100 メートルの場合、時間差が 1 時間で空間的分離が 1 キロメートルの場合より処理が高速になります。
[検索距離] および [時間差] パラメーターを最適化して、適切な量の同行フィーチャを返すには、以下の点を考慮してください。
- [検索距離] および [時間差] の値を大きくすると、識別される可能性のある同行者の数が多くなります。 このような設定は、船や大型トラックが対象の場合など、移動中のオブジェクト間の平均間隔を増加させる必要がある場合に最も適しています。
- [検索距離] および [時間差] の値を大きくする設定は、データのサンプル レートが分単位で計測される場合にも適しています。 その理由は、これらの間隔が増加している間にオブジェクトの移動量が増える可能性があるためです。
- [検索距離] および [時間差] の値を小さくすると、識別される可能性のある同行者の数が少なくなります。 このような設定は、人や自転車、車が対象の場合など、移動中のオブジェクト間の間隔が小さい場合に最も適しています。
- [検索距離] および [時間差] の値を小さくする設定は、データが秒または 1 秒以下のレートでサンプリングされる場合に適しています。 サンプル レートが小さいほど、オブジェクトが移動する機会が減少するため、同行者の検出における許容値をより厳しく設定できるようになります。
[最小同行期間フィルター] パラメーターを使用すると、2 つのフィーチャが同行していると見なされるまでに一緒に移動している必要がある最小時間を指定できます。 たとえば、最小同行期間として 15 分が指定された場合、このツールが有効な同行者としてトラックを返すには、同行イベントの最初のインスタンスが検出されてから同行イベントの最後のインスタンスまでに少なくとも 15 分経過する必要があります。 フィーチャが港湾や駐車場などであることから多数のフォールス ポジティブが存在する場合や、同行イベントに含まれるトラックの数が極めて少ない場合は、[最小同行期間フィルター] を適用してツールを再実行することをお勧めします。 [最小同行期間フィルター] の値は、小さなトラック セグメントの大部分を削除するのに役立ちます。
[検索距離] および [時間差] の値を大きい値に設定した場合、このツールは、通過または交差している可能性のあるフィーチャを同行者として識別することがあります。 このような状況を防ぐには、[最小同行期間フィルター] パラメーターを、データのサンプリング レートより大きい値に設定します。
出力フィーチャは、同行フィーチャの位置を表します。 出力フィーチャには、他の説明フィールドのほかに、移動者と同行者間の時間的および空間的分離を示す 2 つのフィールドが追加されます。
出力フィーチャには、次のフィールドが含まれます。
- traveler_id- 移動フィーチャの一意の識別子。 これは、同行フィーチャとともに移動し、ソース フィーチャと見なすことができる識別子です。
- cotraveler_id- 同行フィーチャの一意の識別子。 これは、移動フィーチャに同行する、ターゲット フィーチャと見なすことができる識別子です。
- X- 移動フィーチャの X 座標。 座標には、[入力フィーチャ] パラメーターの投影単位が使用されます。
- Y- 移動フィーチャの Y 座標。 座標には、[入力フィーチャ] パラメーターの投影単位が使用されます。
- X_cotraveler- 同行フィーチャの X 座標。 座標には、[入力フィーチャ] パラメーターの投影単位が使用されます。
- Y_cotraveler- 同行フィーチャの Y 座標。 座標には、[入力フィーチャ] パラメーターの投影単位が使用されます。
- traveler_time- 移動フィーチャの日付と時刻。
- cotraveler_time- 同行フィーチャの日付と時刻。
- distance_difference- [入力フィーチャ] パラメーターで識別されるフィーチャと評価対象の同行者の間の距離。 距離には、[入力フィーチャ] パラメーターの距離単位が使用されます。
- time_difference- [入力フィーチャ] 内で識別されるフィーチャと評価対象の同行者の間の時間的分離。 時間差は秒単位で、正または負の数値を使用できます。 正の数値は、識別されるフィーチャが移動者の後に発生することを示しています。 負の数値は、識別されるフィーチャが移動者の前に発生することを示しています。
- cotraveling_pair_id- 同行フィーチャの一意のペアごとに生成される一意の識別子。
cotraveling_pair_id 識別子は、同行者の可能なあらゆる組み合わせをフィルタリングして識別するオプションを提供するために生成されます。 2 つの同行フィーチャ (A, B) は、(A, B) と (B, A) の両方で同じ識別子を共有します。
オプションのサマリー テーブルを作成できます。 サマリー テーブルには、次のフィールドが含まれます。
- unique_pair_id- 同行フィーチャの一意のペアごとに生成される一意の識別子。 2 つの同行フィーチャ (A, B) は、(A, B) と (B, A) の両方で同じ識別子を共有します。
- traveler_id- 移動フィーチャの一意の識別子。 これは、同行フィーチャとともに移動し、ソース フィーチャと見なすことができる識別子です。
- cotraveler_id- 同行フィーチャの一意の識別子。 これは、移動フィーチャに同行する、ターゲット フィーチャと見なすことができる識別子です。
- time_diff_max- 移動者と同行者間の時間的分離の最大値。
- time_diff_min- 移動者と同行者間の時間的分離の最小値。
- time_diff_mean- 移動者と同行者間の時間的分離の平均値。
- time_diff_std- 移動者と同行者間の時間的分離の標準偏差。
- dist_diff_max- 移動者と同行者間の距離的分離の最大値。
- dist_diff_min- 移動者と同行者間の距離的分離の最小値。
- dist_diff_mean- 移動者と同行者間の距離的分離の平均値。
- dist_diff_std- 移動者と同行者間の距離的分離の標準偏差。
- unique_pair_id_count- unique_pair_id フィールドで同行していると識別されたフィーチャの総数。
[同行者の検索 (Find Cotravelers)] ツールの出力はリンク チャートで視覚化できます。
リンク チャートを使用すると、複雑なデータセットをコンポーネントごとに詳細に調べることができ、データのリレーションシップの視覚化および探索に役立ちます。 これを実行するには、エンティティ タイプとリレーションシップ タイプを作成します。 エンティティ タイプは、人、場所、組織、一意識別子などの個別のオブジェクトを表します。 traveler_id および cotraveler_id フィールドは、エンティティ タイプにすることができるデータ タイプの例です。 それ以外のリンク チャートの部分はリレーションシップ タイプを示します。 リレーションシップ タイプは、リンク チャート内で個々のエンティティ タイプを相互に接続します。 [同行者の検索 (Find Cotravelers)] からの出力を視覚化すると、どのエンティティが接続されているかや、さらに詳細な調査を必要とする関連クラスターがあるかどうかをより深く理解できます。
リンク チャートを作成したら、[同行者の検索 (Find Cotravelers)] の出力についてエンティティ タイプとリレーションシップ タイプを作成できます。 [サマリー テーブルの作成] パラメーターをオンにすることをお勧めします。 [同行者の検索 (Find Cotravelers)] の結果は、サイズが大きくなる可能性があり、リンク チャートのパフォーマンスに影響を与えることがあります。 オプションの [サマリー テーブルの作成] または [出力フィーチャクラス] のどちらの値を使用する場合でも、マルチフィールド エンティティを作成して、traveler_id および cotraveler_id フィールドからエンティティ タイプを追加することをお勧めします。
[出力サマリー テーブル] または [出力フィーチャクラス] の値を使用してリレーションシップ タイプを作成するには、エンティティ キー タイプを使用します。 [ソース エンティティ キー フィール] の値を traveler_id、[ターゲット エンティティ キー フィールド] の値を cotraveler_id に設定します。
パラメーター
arcpy.intelligence.FindCotravelers(input_features, out_featureclass, id_field, {search_distance}, {time_difference}, {input_type}, {secondary_features}, {secondary_id_field}, {create_summary_table}, {out_summary_table}, {include_min_cotraveling_duration}, {min_cotraveling_duration})
名前 | 説明 | データ タイプ |
input_features | 同行者の検索に使用される既知の識別子を表す時間対応フィーチャ。 一意の識別子、タイム スタンプ、位置は、出力レイヤーに転送され、時間的および空間的分離の計算に利用されます。 | Feature Layer |
out_featureclass | 入力ソース レイヤーに同行すると識別されるポイント トラック セグメントを含む出力フィーチャクラス。 このフィーチャクラスには、指定したポイント トラック セグメントが関連付けられているソースが含まれています。 時間的および空間的分離は、各ポイント トラック フィーチャに対して計算されます。 | Feature Class |
id_field | ポイント トラックごとに一意の識別子を取得するために使用される input_features パラメーターのフィールド。 このフィールドは、出力フィーチャクラスにコピーされます。 | Field |
search_distance (オプション) | 同行フィーチャと見なされなくなるまでフィーチャを分離できる最大距離。 デフォルトは 100 フィートです。 | Linear Unit |
time_difference (オプション) | 同行フィーチャと見なされなくなるまでフィーチャを分離できる最大時間差。 デフォルト値は 10 秒です。 | Time Unit |
input_type (オプション) | 同行者を 1 つのフィーチャクラスで検出するか、2 つのフィーチャクラス間で検出するかを指定します。
| String |
secondary_features (オプション) | 同行者を識別する第 2 のフィーチャクラス。 同行者は以下の方法で評価されます。
| Feature Layer |
secondary_id_field (オプション) | ポイント トラックごとに一意の識別子を取得するために使用される secondary_features パラメーターのフィールド。 このフィールドは、出力フィーチャクラスにコピーされます。 | Field |
create_summary_table (オプション) | 出力サマリー テーブルが作成されるかどうかを指定します。
| Boolean |
out_summary_table (オプション) | サマリー情報を格納する出力テーブル。 このパラメーターは、create_summary_table パラメーターの値が CREATE_SUMMARY_TABLE に設定されている場合のみ有効です。 出力ファイルは、ファイル ジオデータベース、テキスト ファイル、またはカンマ区切り値 (.csv) ファイル内のテーブルである必要があります。 | Table |
include_min_cotraveling_duration (オプション) | 一緒に移動している最小時間を満たす同行者のみを返すフィルターが適用されるかどうかを指定します。
最小同行期間フィルターが適用されるかどうかを指定ます。
| Boolean |
min_cotraveling_duration (オプション) | 2 つのフィーチャが同行していると見なされるまでに空間と時間を経て一緒に移動している必要がある最小時間。 | Time Unit |
コードのサンプル
次の Python スクリプトは、出力サマリー テーブルと 1 つの入力フィーチャクラスを使用しないスタンドアロン スクリプトで FindCotravelers 関数を使用する方法を示しています。
# Name: FindCotravelers.py
# Description: Identify cotravelers 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_point_features = "Cotravelers"
id_field = "device_id"
# Run tool
arcpy.intelligence.FindCotravelers(source_features,
output_point_features,
id_field)
次の Python スクリプトは、出力サマリー テーブルと 2 つの入力フィーチャクラスを使用するスタンドアロン スクリプトで FindCotravelers 関数を使用する方法を示しています。
# Name: FindCotravelers.py
# Description: Identify cotravelers in a point track dataset.
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/Tracks.gdb"
# Set local variables
source_features = "Known_Tracks"
unknown_features = "Unknown_Tracks"
output_point_features = "Cotravelers"
id_field_name = "device_id"
unknown_id_field = "MMSI"
search_distance = "75 Feet"
time_difference = "5 Seconds"
summary_table = "CREATE_SUMMARY_TABLE"
summary_table_name = "Tracks_Summary_Table"
filter_duration = "MIN_COTRAVELING_DURATION"
cotraveling_duration = "30 Minutes"
# Run tool
arcpy.intelligence.FindCotravelers(source_features,
output_point_features,
id_field_name,
search_distance,
time_difference,
"TWO_FEATURECLASSES",
unknown_features,
unknown_id_field,
summary_table,
summary_table_name,
filter_duration,
cotraveling_duration)