ラバーシート リンクの生成 (Generate Rubbersheet Links) (編集)

サマリー

ソース ライン フィーチャがターゲット ライン フィーチャと空間的に一致する場所を検索し、ソースの位置からそれに対応するターゲットの位置に向けて、ラバーシートを行うためのリンクを表すラインを生成します。

ラバーシート リンクの生成ツールの図

使用法

  • 異なるデータ ソースのライン フィーチャが同じ領域内に広がっている場合 (たとえば、市の行政機関が管理する道路と、商用データ プロバイダーが提供する同じ市の道路)、それらのライン フィーチャは、データ コレクションの不一致などの理由により、完全な 1 列にならない場合があります。 対応するフィーチャ間に生じる空間的なずれは、多くの場合、均一ではありません。 あるソースのデータの精度が他のソースよりも低いことがわかっている場合、このツールを使用してラバーシート リンクを生成することで、ラバーシート アジャストによってデータの精度を高めることができます。 その後、[ラバーシート フィーチャ (Rubbersheet Features)] ツールを使用して調整します。 ライン フィーチャの 2 つのセットは、ソース フィーチャおよび (通常はより精度の高い) ターゲット フィーチャと呼ばれます。 このツールは、指定された検索距離の範囲内で対応するソース ラインとターゲット ラインを検索し、それらのライン間にラバーシート リンク (移動リンクとも呼ぶ) を生成します。

  • 注意:

    すべての入力は、同じ座標系に存在する必要があります。

  • 入力データのすべての領域の範囲が、処理範囲として使用されます。 使用されるソース フィーチャとターゲット フィーチャの数は、処理メッセージにレポートされます。

  • 出力フィーチャクラスには、[ラバーシート フィーチャ (Rubbersheet Features)] ツールに入力する標準のラバーシート リンクを表すラインが格納されます。 標準のリンクは、ソースの位置を、一致するが同一ではないターゲットの位置に接続します。

    これらのリンクを、他のライン フィーチャと同様に、マップ上に表示できます。 ラインの各端に矢印を付けて描画し、上の図に示すようなマップを作成できます。

  • 出力ライン フィーチャクラスの他に、固定リンクが格納されたポイント フィーチャクラスを作成します。 固定リンクは、ソースの位置を、一致する同一のターゲットの位置に接続します。 固定リンクの位置は、ラバーシートで移動されません。 一致する同一のソースおよびターゲットの位置が存在しない場合、固定リンクは生成されません。その場合、出力ポイント フィーチャクラスは空になります。 ポイント フィーチャクラスが空でない場合にのみ、それを [ラバーシート フィーチャ (Rubbersheet Features)] ツールの入力として指定する必要があります。 出力ポイント フィーチャクラスは出力フィーチャクラスと同じ位置にあり、出力フィーチャクラスと同じ名前を持ちますが、_pnt という接尾辞が付きます。 たとえば、出力フィーチャクラスの名前が outputLinks である場合、出力ポイント フィーチャクラスの名前は outputLinks_pnt になります。

  • 標準のラバーシート リンクと固定リンクの出力には、どちらも以下のフィールドが存在します。

    • SRC_FID- リンクの始点になるソース フィーチャ ID。 この位置が複数のソース フィーチャで共有される場合 (たとえば、道路の交差点)、この値は -1 になります。
    • TGT_FID- リンクの終点になるターゲット フィーチャ ID。 この位置が複数のターゲット フィーチャで共有される場合 (たとえば、道路の交差点)、この値は -1 になります。

  • [検索距離] パラメーターは、一致候補の検索で使用されます。 対応するフィーチャ間のずれの大部分を捉えることができるほど十分な大きさの距離を使用しますが、候補が多くなって不必要な処理が発生し、不正な一致が得られる場合があるため、この値を大きくし過ぎないでください。

  • フィーチャの照合は、ラインのトポロジ、パターン、および地理的な特徴を分析することによって実行されます。 フィーチャが空間的に一致すると、ソースの位置からそれに対応するターゲットの位置までラバーシート リンクが生成されます。 ソース フィーチャがパラメトリック カーブ (トゥルー カーブ) である場合、カーブ沿いの密度の高い場所でリンクが生成されます。

  • [照合フィールド] パラメーターに 1 つまたは複数のフィールド ペアを指定すると、空間的にマッチすると思われる候補がこれらのフィールド値に対して比較されるため、正しい適合の特定に役立ちます。 たとえば、ストリート名が格納された STREET_NAME フィールドが、ソース フィーチャとターゲット フィーチャの両方に存在するとします。 1 つのソース フィーチャが、2 つのターゲット フィーチャに空間的に一致していて一方のターゲット フィーチャのみがソース フィーチャと同じ STREET_NAME フィールド値を持っている場合、このターゲット フィーチャの方が一致度が高くなります。 テキスト文字列の比較では、大文字と小文字が区別されません。つまり、「First St」は、「first st」と同じであると見なされます。

  • [出力照合テーブル] パラメーターの指定は任意です。 この照合テーブルには、ソース FID とターゲット FID、一致グループ、一致関係、空間と属性の一致条件から得られた一致の信頼度など、フィーチャの完全な一致情報が含まれています。 この情報は、一致状況の理解に役立ち、照合後の検査、編集、および解析を助けます。 詳細は、「フィーチャの照合と照合テーブルについて」をご参照ください。

  • フィーチャの照合の精度は、データの品質、複雑さ、および 2 つの入力の類似性に依存します。

    前処理でデータ エラーを最小化し、関連するフィーチャを入力として選択します。 一般に、入力データセット内のフィーチャがトポロジ的に正しく、有効なジオメトリを有しており、シングルパートであって重複していないのは有効です。そうでない場合は、予期しない結果が発生するおそれがあります。

  • 結果を確認し、必要に応じて修正することをお勧めします。 実行後に検査と編集を行うときに、既存の編集ツールを使用してリンクを編集できます。たとえば、リンクを削除したり、リンクの始点または終点を移動して変更したり、新しいリンクを追加したりできます。 それに応じて、SRC_FID および TGT_FID フィールドを更新します。

パラメーター

ラベル説明データ タイプ
ソース フィーチャ

ラバーシート リンクを生成するためのソース フィーチャとして使用されるライン フィーチャ。 すべてのリンクは、ソース フィーチャから始まります。

Feature Layer
ターゲット フィーチャ

ラバーシート リンクを生成するためのターゲット フィーチャとして使用されるライン フィーチャ。 すべてのリンクは、一致するターゲット フィーチャで終わります。

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

標準のラバーシート リンクを表すラインが格納される出力フィーチャクラス。

Feature Class
検索距離

一致候補の検索に使用される距離。 ゼロより大きい距離を指定する必要があります。 優先的に適用される単位を選択できます。 デフォルトはフィーチャの単位です。

Linear Unit
照合フィールド
(オプション)

ソース フィーチャおよびターゲット フィーチャのフィールドのリスト。 これを入力すると、照合候補に関して各フィールド ペアがチェックされるため、正しい適合の特定に役立ちます。

Value Table
出力照合テーブル
(オプション)

完全なフィーチャ マッチング情報を含む出力テーブル。

Table

派生した出力

ラベル説明データ タイプ
固定リンク

固定リンクを含むフィーチャクラス。

Feature Class

arcpy.management.GenerateRubbersheetLinks(source_features, target_features, out_feature_class, search_distance, {match_fields}, {out_match_table})
名前説明データ タイプ
source_features

ラバーシート リンクを生成するためのソース フィーチャとして使用されるライン フィーチャ。 すべてのリンクは、ソース フィーチャから始まります。

Feature Layer
target_features

ラバーシート リンクを生成するためのターゲット フィーチャとして使用されるライン フィーチャ。 すべてのリンクは、一致するターゲット フィーチャで終わります。

Feature Layer
out_feature_class

標準のラバーシート リンクを表すラインが格納される出力フィーチャクラス。

Feature Class
search_distance

一致候補の検索に使用される距離。 ゼロより大きい距離を指定する必要があります。 優先的に適用される単位を選択できます。 デフォルトはフィーチャの単位です。

Linear Unit
match_fields
[[source_field, target_field],...]
(オプション)

ソース フィーチャおよびターゲット フィーチャのフィールドのリスト。 これを入力すると、照合候補に関して各フィールド ペアがチェックされるため、正しい適合の特定に役立ちます。

Value Table
out_match_table
(オプション)

完全なフィーチャ マッチング情報を含む出力テーブル。

Table

派生した出力

名前説明データ タイプ
out_point_feature_class

固定リンクを含むフィーチャクラス。

Feature Class

コードのサンプル

GenerateRubbersheetLinks の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで GenerateRubbersheetLinks 関数を使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.edit.GenerateRubbersheetLinks("source_Roads.shp", "target_Roads.shp", 
                                    "rubbersheet_Links.shp", "25 Feet")
GenerateRubbersheetLinks の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、GenerateRubbersheetLinks 関数をスクリプティング環境で適用する方法の例を示しています。

"""Name:        GenerateRubbersheetLinks_example_script2.py
Description: Generates links for rubbersheeting spatial adjustment. The links go
             from base road data to newly updated road data. The links are then
             analyzed for potential errors. They are then used to adjust the
             base roads (a copy is made) to better align with the updated roads.
"""

# Import system modules
import arcpy

# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = r"D:\conflationTools\ScriptExamples\data.gdb"

# Set local variables
sourceFeatures = "baseRoads"
targetFeatures = "updateRoads"
grlOutput = "grlinks_out"
grlOutputPts = "grlinks_out_pnt"

search_distance = "300 Feet"
match_fields = "FULLNAME RD_NAME"

qaLocations = "qa_locations"

# Generate rubbersheet links
arcpy.edit.GenerateRubbersheetLinks(sourceFeatures, targetFeatures, grlOutput, search_distance, match_fields)

"""
Note 1:  The result of GenerateRubbersheetLinks may contain errors; see the tool reference.
         Inspection and editing may be necessary to ensure correct links before using
         them for rubbersheeting.

         One of the common errors is intersecting or touching links. Their locations 
         can be found by the process below.
"""

# Find locations where links intersect or touch. The result contains coincident points.
arcpy.analysis.Intersect(grlOutput, qaLocations, "", "", "POINT")

# Delete coincident points
arcpy.management.DeleteIdentical(qaLocations, "Shape")

"""
Note 2:  You can manually inspect locations in qaLocations and delete or
         modify links as needed.
"""

# Make a copy of the sourceFeatures for rubbersheeting
arcpy.management.CopyFeatures(sourceFeatures, "sourceFeatures_Copy")


# Use the links for rubbersheeting
arcpy.edit.RubbersheetFeatures("sourceFeatures_Copy", grlOutput, grlOutputPts, "LINEAR")