エッジマッチ リンクの生成(Generate Edgematch Links) (編集)

ライセンス レベル:BasicStandardAdvanced

サマリ

ソース データの領域と隣接データの領域のエッジに沿って、一致しているが切断されているライン フィーチャを検索し、ソース ラインと一致する隣接ラインとの間にエッジマッチ リンクを生成します。

エッジマッチの詳細

Generate Edgematch Links

使用法

構文

GenerateEdgematchLinks_edit (source_features, adjacent_features, out_feature_class, search_distance, {match_fields})
パラメータ説明データ タイプ
source_features

エッジマッチのソース フィーチャになるライン フィーチャ。すべてのエッジマッチ リンクは、ソース フィーチャから始まります。

Feature Layer
adjacent_features

ソース フィーチャに隣接するライン フィーチャ。すべてのエッジ リンクは、一致する隣接フィーチャで終わります。

Feature Layer
out_feature_class

エッジマッチ リンクを表すラインが格納される出力フィーチャクラス。

Feature Class
search_distance

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

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

ソース フィーチャとターゲット フィーチャのフィールド。ここで、ターゲット フィールドは、隣接フィーチャのフィールドです。これを指定した場合、各フィールドのペアについて一致候補がチェックされ、正しい一致を決定できます。

Value Table

コードのサンプル

GenerateEdgematchLinks(エッジマッチ リンクの生成)の例 1(Python ウィンドウ)

次の Python ウィンドウ スクリプトで、GenerateEdgematchLinks(エッジマッチ リンクの生成)関数をイミディエイト モードで使用する方法を示します。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GenerateEdgematchLinks_edit("countyA_Roads.shp",
                                  "countyB_Roads.shp", "em_Links.shp"
                                  "25 Feet")
GenerateEdgematchLinks(エッジマッチ リンクの生成)の例 2(スタンドアロン Python スクリプト)

次のスタンドアロン スクリプトは、スクリプト環境でGenerateEdgematchLinks(エッジマッチ リンクの生成)関数を適用する方法を示した単純な例です。

# 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 finally used to adjust the
#              base roads (a copy is made) to better align with the updated roads.
# Author:      Esri
# -----------------------------------------------------------------------

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.overwriteOutput = True
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.GenerateRubbersheetLinks_edit(sourceFeatures, targetFeatures, grlOutput, search_distance, match_fields)

# ====================================================================================
# Note 1:  The result of GenerateRubbersheetLinks may contain errors; see tool reference.
#          Inspection and editing may be necessary to ensure correct links before using
#          them for rubbersheeting.
#
#          One of the common errors are 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.Intersect_analysis(grlOutput, qaLocations, "", "", "POINT")

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

# ====================================================================================
# Note 2:  At this point you can manually inspect locations in qaLocations; delete or
#          modify links as needed.
# ====================================================================================

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


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

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: ×
ArcGIS for Desktop Standard: ×
ArcGIS for Desktop Advanced: ○
5/10/2014