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

サマリー

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

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

使用法

  • [トラッキングのスナップ (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

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

    DATE

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

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

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

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

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

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

パラメーター

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

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

Feature Set
入力ライン レイヤー

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

Feature Set
出力フィーチャクラス

一致したポイントの格納先となるフィーチャクラス。

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

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

Field
検索距離

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Feature Set
input_lines

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

Feature Set
out_feature_class

一致したポイントの格納先となるフィーチャクラス。

Feature Class
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

コードのサンプル

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

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

# Name: SnapTracks.py
# Description: Snap snowplow fleet tracks to roads to uncover areas that 
#              may need more resources for snow removal efforts

# Import system modules
import arcpy

# Enable time on the input features using a .lyrx file.
# To create the .lyrx file, add your layer to a map, open the layer properties 
# and enable time. Then right-click the layer and select Share As Layer File.
inputLyrx = r'C:\data\Snowplow.lyrx'

# MakeFeatureLayer converts the .lyrx to features
snowplowsLayer = arcpy.MakeFeatureLayer_management(inputLyrx, "Snowplows Layer")

# ApplySymbologyFromLayer sets the time using the .lyrx file definition
arcpy.ApplySymbologyFromLayer_management(snowplowsLayer, inputLyrx)

# Set local variables
lineLayer = "c:/mydata/Roads.gdb/CityStreets"
trackIdentifier = "vehicle_id"
out = "c:/mydata/OutputDatasets.gdb/Snowplows_snapped_to_streets"
searchDistance = "10 Meters"
connectivityFieldMatching = "unique_ID from_node to_node"
directionValueMatching = "dir_travel F T B #"

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

ライセンス情報

  • Basic: No
  • Standard: No
  • Advanced: Yes

関連トピック