トラッキングのスナップ (Snap Tracks) (GeoAnalytics)

サマリー

入力トラック ポイントをラインにスナップします。 時間対応ポイント データには、時間内の瞬間を表すフィーチャが含まれている必要があります。 解析には、始点ノードと終点ノードを示すフィールドを含む通過可能なラインが必要です。

トラッキングのスナップ ツールの図
ラインに一致した時間対応トラック ポイントが表示されます。

使用法

  • [トラッキングのスナップ (Snap Tracks)] ツールで使用される用語を次の表に示します。

    用語説明

    トラッキング

    時間対応かつ時間のタイプが瞬間を示す一連のフィーチャ。 フィーチャの順番は、トラック ID フィールドとその時間順に応じて決定されます。 たとえば、都市に 30 秒ごとにその場所を記録する除雪トラックを配備できます。 車両 ID は、個別のトラックを示します。

    観測

    トラッキング上のポイント。

    ノード

    ノードは、ラインの方向を示すために使用されるライン フィーチャの端点です。 ラインの始点は始点ノードで、ラインの終点は終点ノードです。

    方向

    ラインの方向。 方向は、ラインが始点ノードと終点ノードの間をどのように移動するかを指します。

    接続性

    接続性は、通過可能なネットワークを表すためのラインの接続方法を説明するものです。 ラインはその始点ノードと終点ノードの値に基づいて接続されます。 接続性に基づき、ポイントで到達できないラインは一致しているとは見なされません。

    通過可能

    ラインが共通ノードにより接続されている場合、そのラインは通過可能です。 たとえば、ライン A の始点ノードがライン B の終点ノードと同じである場合、それらのラインは通過可能です。

  • このツールには、次のパラメーター入力レイヤーが必要です。

    • [入力ポイント レイヤー] - 入力ポイント レイヤーは、特定時点を表す時間対応の観測点でなければなりません。 有効なタイム スタンプがないトラック観測点は、解析から除外されます。
    • [入力ライン レイヤー] - 入力ライン レイヤーは、次の接続性の情報があるフィールドを含む必要があり、[接続性フィールドの一致] パラメーターで指定する必要があります。
      • [Unique ID] - ラインの一意な ID
      • [始点ノード] - ラインに沿った移動が離れる元のノード
      • [終点ノード] - ラインに沿った移動が向かう先のノード

  • 注意:

    ライセンス付き StreetMap Premium ジオデータベース フィーチャ レイヤーは、ArcGIS Pro 3.0 の入力としてサポートされていません。

  • [入力ポイント レイヤー] パラメーター値の空間参照は、[入力ライン レイヤー] パラメーター値の空間参照と同じである必要があります。 データセットの空間参照が異なる場合、[出力座標系] 環境を使用して解析に使用する空間参照を指定するか、解析の前にデータセットを投影します。

  • トラッキングを識別するために、1 つ以上のフィールドを選択できます。トラッキングは、1 つ以上のトラッキング フィールドの一意の組み合わせで表されます。たとえば、flightID フィールドと Destination フィールドがトラッキング識別子として使用されている場合、フィーチャ [ID007, Solden] および [ID007, Tokyo] は 2 つの個別トラッキングになります。これは、Destination フィールドの値が異なるためです。

  • トラッキングには、解析で使用する観測点が 2 つ以上必要です。 観測点が 1 つしかないトラッキングは、照合されません。

  • ポイント → ラインの一致は、次を考慮して行われます。

    • 観測点は、ラインからの検索距離内に存在します。 これが最小要件です。 観測点が検索距離条件を満たしていない場合、その観測点は照合されません。
    • 観測点は、ラインの接続性に基づいてラインを通過できます。
    • 観測点は、ラインがサポートする方向に移動しています。 これは、[方向値の一致] パラメーターに値を指定した場合に実行されるオプションの条件です。 このオプションの条件に適合した結果はより正確になります。

  • [検索距離] パラメーターを使用して、観測点とラインの間に許可する最大距離を指定します。 たとえば、GPS ポイントの精度が約 100 メートルの場合、検索距離に 100 メートルを指定します。

  • [距離方法] パラメーターは、検索距離の計算方法を決定します。 距離方法には次の 2 つがあります。

    • [測地線] - 空間参照が天底子午線全体で継続的に画面移動可能である場合、適切であればトラッキングは天底子午線と交差します。 空間参照が継続的に画面移動可能ではない場合、トラッキングは座標系の範囲に制限され、折り返すことはできません。 これがデフォルトです。
    • [平面] - トラッキングは天底子午線と交差しません。 入力データで投影座標系を使用する場合は、このオプションを使用します。

  • 出力結果に追加のライン属性を含めるには、[含めるライン フィールド] パラメーターを使用してフィールド名を指定します。 これらのフィールドは、解析の目的には使用されず、独自の用途向けに含められます。 出力結果にジオメトリ フィールドを含めることはできません。

  • ライン フィーチャごとにサポートされる方向を定義するには、[方向値の一致] パラメーターを使用します。 たとえば、ライン レイヤーには、T (逆方向)、F (正方向)、B (両方向)、"" (なし) の値を持つ direction というフィールドがあります。 方向照合はオプションですが、正確な結果を得るために使用することをお勧めします。 方向照合を指定しない場合、ラインは双方向であると見なされます。

  • ツールは、一致したラインに沿って最も近い位置にスナップされたポイントを返します。 ライン フィーチャは返されません。 ライン データセットの一意の ID は、一致した結果に使用できます。 一意識別子フィールドは [接続性フィールドの一致] パラメーターを使用して指定します。 このフィールドを指定することにより、一致先のラインを指定できます。

  • 入力ポイント レイヤーのフィールドおよび指定されたライン フィールドだけでなく、出力には次のフィールドも追加されます。

    フィールド名説明

    MatchStatus

    観測点がラインに一致したかどうかを示します。 一致したフィーチャの場合の値は M、一致しなかったフィーチャの場合は U です。

    OrigX

    入力観測点の X 座標。 座標は、出力空間参照の単位で格納されます。

    OrigY

    入力観測点の Y 座標。 座標は、出力空間参照の単位で格納されます。

    MatchX

    ライン上の一致結果の X 座標。 座標は、出力空間参照の単位で格納されます。

    MatchY

    ライン上の一致結果の Y 座標。 座標は、出力空間参照の単位で格納されます。

    MatchDist

    元の位置と観測点の一致した位置の間の距離。 距離は、選択した距離計算の方法 (測地線または平面) に基づいて計算されます。 値はメートル単位で記録されます。

    INSTANT_DATETIME

    観測点のタイム スタンプ。

    指定した [出力モード] パラメーターの値が [すべてのフィーチャ] の場合、一致したポイントと一致しなかったポイントの両方が返されます。 一致しなかったポイントについては、数値フィールドの場合は NULL 値、文字列フィールドの場合は空の文字列が出力結果フィールドに追加されます。 NULL 値が追加されるフィールドは、[含めるライン フィールド] パラメーター、MatchX フィールド、MatchY フィールド、および MatchDist フィールドを使用して指定されたライン フィールドです。

  • 以下を 1 つ以上行うことで、[トラッキングのスナップ (Snap Tracks)] ツールのパフォーマンスを向上させることができます。

    • [検索距離] パラメーターに小さい値を使用して、一致処理対象のポイントとラインのペアを減らすようにします。 75 メートル未満の値を使用することをお勧めします。
    • [方向値の一致] パラメーターを使用して、ラインがサポートする方向に移動するポイントにのみ一致するようにします。
    • 完全なトラック データセットの代わりに、選択した対象トラックを使用します。
    • [含めるライン フィールド] パラメーターに指定するフィールドの数を減らします。
    • 対象データのみが解析されるように、[範囲] 環境を設定します。
    • 測地線の代わりに平面距離による方法を使用します。
    • 解析が実行されているロケーションに対してローカルなデータを使用します。

  • 次のツールを使用して、類似の解析を実行することもできます。

    • [トラッキングの再構築 (Reconstruct Tracks)] ツールを使用して、時間対応トラック ポイントをラインに再構築します。
    • [スナップ (Snap)] ツールを使用して、ポイント、マルチポイント、ライン、またはポリゴンを他のフィーチャにスナップします。 このツールを実行すると、入力データが変更されます。

  • このジオプロセシング ツールは、ArcGIS GeoAnalytics Server を活用しています。 解析は GeoAnalytics Server で実行され、結果が ArcGIS Enterprise のコンテンツに保存されます。

  • GeoAnalytics Server ツールを実行する場合、解析は GeoAnalytics Server で実行されます。 最適なパフォーマンスを得るためには、ArcGIS Enterprise ポータルでホストされているフィーチャ レイヤーかビッグ データ ファイル共有を通じて、GeoAnalytics Server にデータを提供する必要があります。 GeoAnalytics Server のローカルにないデータは、解析が開始する前に GeoAnalytics Server に移動されます。 つまり、ツールを実行する時間が長くなり、場合によっては ArcGIS Pro から GeoAnalytics Server にデータを移動できないこともあります。 エラーの閾値はネットワークの速度や、データのサイズや複雑さに左右されます。 データを必ず共有するか、ビッグ データ ファイル共有を作成することをお勧めします。

    データをポータルで共有する方法の詳細

    ArcGIS Server Manager を使用してビッグ データ ファイル共有を作成する方法の詳細

パラメーター

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

ラインに一致するポイント。 入力は、特定時点を表す時間対応ポイント レイヤーにする必要があり、一意のトラックを特定する 1 つ以上のフィールドを含む必要があります。

Feature Set
入力ライン レイヤー

ポイントが一致するライン。 入力には、ラインの始点ノードと終点ノードを示す値を持つフィールドが含まれている必要があります。

Feature Set
出力名

出力フィーチャ サービスの名前。

String
トラッキング フィールド

一意のトラッキングを識別するために使用される 1 つ以上のフィールド。

Field
検索距離

一致していると見なされるポイントとラインの間で許可される最大距離。 75 メートル以下の値を使用することをお勧めします。 距離を長くすると、処理に時間がかかり結果の精度が低くなります。

Linear Unit
接続性フィールドの一致

入力ライン フィーチャの接続性を定義するために使用されるライン レイヤー フィールド。

  • [Unique ID] - 各ライン フィーチャの一意の ID を含むライン レイヤー フィールド。
  • [始点ノード] - 始点ノードの値を含むライン レイヤー フィールド。
  • [終点ノード] - 終点ノードの値を含むライン レイヤー フィールド。
Value Table
含めるライン フィールド
(オプション)

出力結果に含められる入力ライン レイヤーの 1 つ以上のフィールド。

Field
距離方法
(オプション)

ポイントとラインの間の距離を計算するために使用する方法を指定します。

  • 測地線測地線距離が計算されます。 これがデフォルトです。
  • 平面平面距離が計算されます。
String
方向値の一致
(オプション)

入力ライン フィーチャの方向を定義するために使用されるライン レイヤー フィールドと属性値。 たとえば、ライン レイヤーには、T (逆方向)、F (正方向)、B (両方向)、"" (なし) の値を持つ direction というフィールドがあります。 値が指定されない場合、ラインは双方向であると見なされます。

  • 方向フィールド - 移動する方向を説明するライン レイヤーのフィールド。
  • 正方向の値 - サポートされる移動方向がラインに沿った正方向であることを示す [方向フィールド] の値。
  • 逆方向の値 - サポートされる移動方向がラインに沿った逆方向であることを示す [方向フィールド] の値。
  • 両方向の値 - ラインに沿った正方向と逆方向の両方向の移動がサポートされていることを示す [方向フィールド] の値。
  • なしの値 - ラインに沿った移動方向がサポートされていないことを示す [方向フィールド] の値。

Value Table
出力モード
(オプション)

すべての入力フィーチャを返すか、ライン フィーチャに一致した入力フィーチャのみを返すかを指定します。

  • すべてのフィーチャライン フィーチャに一致したかどうかに関係なく、すべての入力ポイント フィーチャが返されます。 これがデフォルトです。
  • 一致するフィーチャライン フィーチャに一致した入力ポイント フィーチャのみが返されます。
String
データ ストア
(オプション)

出力の保存先の ArcGIS Data Store を指定します。 デフォルトは、[ビッグ データ ストア] です。 ビッグ データ ストアに格納されたすべての結果は、WGS84 で保存されます。 リレーショナル データ ストアに格納された結果は、それらの座標系を維持します。

  • ビッグ データ ストア出力がビッグ データ ストアに格納されます。 これがデフォルトです。
  • リレーショナル データ ストア出力がリレーショナル データ ストアに格納されます。
String

派生した出力

ラベル説明データ タイプ
出力フィーチャクラス

出力ポイント。

Feature Set

arcpy.geoanalytics.SnapTracks(input_points, input_lines, output_name, track_fields, search_distance, connectivity_field_matching, {line_fields_to_include}, {distance_method}, {direction_value_matching}, {output_mode}, {data_store})
名前説明データ タイプ
input_points

ラインに一致するポイント。 入力は、特定時点を表す時間対応ポイント レイヤーにする必要があり、一意のトラックを特定する 1 つ以上のフィールドを含む必要があります。

Feature Set
input_lines

ポイントが一致するライン。 入力には、ラインの始点ノードと終点ノードを示す値を持つフィールドが含まれている必要があります。

Feature Set
output_name

出力フィーチャ サービスの名前。

String
track_fields
[track_fields,...]

一意のトラッキングを識別するために使用される 1 つ以上のフィールド。

Field
search_distance

一致していると見なされるポイントとラインの間で許可される最大距離。 75 メートル以下の値を使用することをお勧めします。 距離を長くすると、処理に時間がかかり結果の精度が低くなります。

Linear Unit
connectivity_field_matching
[connectivity_field_matching,...]

入力ライン フィーチャの接続性を定義するために使用されるライン レイヤー フィールド。

  • [Unique ID] - 各ライン フィーチャの一意の ID を含むライン レイヤー フィールド。
  • [始点ノード] - 始点ノードの値を含むライン レイヤー フィールド。
  • [終点ノード] - 終点ノードの値を含むライン レイヤー フィールド。
Value Table
line_fields_to_include
[line_fields_to_include,...]
(オプション)

出力結果に含められる入力ライン レイヤーの 1 つ以上のフィールド。

Field
distance_method
(オプション)

ポイントとラインの間の距離を計算するために使用する方法を指定します。

  • GEODESIC測地線距離が計算されます。
  • PLANAR平面距離が計算されます。
String
direction_value_matching
[direction_value_matching,...]
(オプション)

入力ライン フィーチャの方向を定義するために使用されるライン レイヤー フィールドと属性値。 たとえば、ライン レイヤーには、T (逆方向)、F (正方向)、B (両方向)、"" (なし) の値を持つ direction というフィールドがあります。 値が指定されない場合、ラインは双方向であると見なされます。

  • 方向フィールド - 移動する方向を説明するライン レイヤーのフィールド。
  • 正方向の値 - サポートされる移動方向がラインに沿った正方向であることを示す [方向フィールド] の値。
  • 逆方向の値 - サポートされる移動方向がラインに沿った逆方向であることを示す [方向フィールド] の値。
  • 両方向の値 - ラインに沿った正方向と逆方向の両方向の移動がサポートされていることを示す [方向フィールド] の値。
  • なしの値 - ラインに沿った移動方向がサポートされていないことを示す [方向フィールド] の値。

Value Table
output_mode
(オプション)

すべての入力フィーチャを返すか、ライン フィーチャに一致した入力フィーチャのみを返すかを指定します。

  • ALL_FEATURESライン フィーチャに一致したかどうかに関係なく、すべての入力ポイント フィーチャが返されます。 これがデフォルトです。
  • MATCHED_FEATURESライン フィーチャに一致した入力ポイント フィーチャのみが返されます。
String
data_store
(オプション)

出力の保存先の ArcGIS Data Store を指定します。 デフォルトは、SPATIOTEMPORAL_DATA_STORE です。 ビッグ データ ストアに格納されたすべての結果は、WGS84 で保存されます。 リレーショナル データ ストアに格納された結果は、それらの座標系を維持します。

  • SPATIOTEMPORAL_DATA_STORE出力がビッグ データ ストアに格納されます。 これがデフォルトです。
  • RELATIONAL_DATA_STORE出力がリレーショナル データ ストアに格納されます。
String

派生した出力

名前説明データ タイプ
output

出力ポイント。

Feature Set

コードのサンプル

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

次の Python ウィンドウ スクリプトは、SnapTracks 関数の使用方法を示しています。

# Name: SnapTracks.py
# Description: Snap delivery vehicle GPS crumbs to a street dataset.

# Requirements: ArcGIS GeoAnalytics Server

# Import system modules
import arcpy

# Set local variables
tracksLayer = "https://sampleserver.arcgisonline.com/arcgis/rest/services/DeliveryTrucks/MapServer/0"
lineLayer = "https://sampleserver.arcgisonline.com/arcgis/rest/services/CityStreets/MapServer/0"
trackIdentifier = "vehicle_id"
out = "trucks_snapped_to_streets"
searchDistance = "30 Feet"
connectivityFieldMatching = "unique_ID from_node to_node"
directionValueMatching = "dir_travel F T B #"

# Run Snap Tracks
arcpy.geoanalytics.SnapTracks(tracksLayer, lineLayer, out, trackIdentifier, 
                       searchDistance, connectivityFieldMatching, None,
																							"GEODESIC", directionValueMatching, "MATCHED_FEATURES", 
                       "SPATIOTEMPORAL_DATA_STORE")

環境

特殊なケース

出力座標系

解析で使用される座標系。 このパラメーターで指定されない限り、入力の座標系で解析が行われます。 GeoAnalytics Tools の場合、最終結果は WGS84 のビッグ データ ストアに保存されます。

ライセンス情報

  • Basic: 次のものが必要 ArcGIS GeoAnalytics Server
  • Standard: 次のものが必要 ArcGIS GeoAnalytics Server
  • Advanced: 次のものが必要 ArcGIS GeoAnalytics Server

関連トピック