フィーチャのエッジマッチ(Edgematch Features) (編集)

ライセンス レベル:BasicStandardAdvanced

サマリ

指定されたエッジマッチ リンクにより、形状を空間的に調整し、入力ライン フィーチャを変更します。それによって入力ライン フィーチャは、隣接するデータセット内のラインと接続されます。

エッジマッチの詳細

Edgematch Features

使用法

構文

EdgematchFeatures_edit (in_features, in_link_features, {method}, {adjacent_features}, {border_features})
パラメータ説明データ タイプ
in_features

調整対象の入力ライン フィーチャ。

Feature Layer
in_link_features

エッジマッチ リンクを表す入力ライン フィーチャ。

Feature Layer
method
(オプション)

入力フィーチャのみ、または入力フィーチャと隣接フィーチャの両方を新しい接続位置に調整するエッジマッチ方法。

  • MOVE_ENDPOINTラインの端点を新しい接続位置に移動します。これはデフォルト設定です。
  • ADD_SEGMENTラインが新しい接続位置で終わるように、ラインの端点に直線セグメントを追加します。
  • ADJUST_VERTICESラインの端点を新しい接続位置に調整します。他の頂点も、ラインの反対側の端点に向かって位置の変化が徐々に減少するように調整されます。
String
adjacent_features
(オプション)

入力フィーチャに隣接するライン フィーチャ。これを指定した場合、入力フィーチャと隣接フィーチャの両方が、新しい接続位置(エッジマッチ リンクの中間点、またはリンクの中間点に最も近い境界線フィーチャ(指定した場合)上の位置のいずれか)で接続されるように調整されます。境界線フィーチャを指定した場合、隣接フィーチャを指定する必要があります。

Feature Layer
border_features
(オプション)

入力フィーチャと隣接フィーチャ間の境界線を表すライン フィーチャまたはポリゴン フィーチャ。境界線フィーチャを指定した場合、隣接フィーチャも指定する必要があります。入力フィーチャと隣接フィーチャの両方が、リンクの中間点に最も近い境界線フィーチャ上の新しい接続位置で接続されるように調整されます。

Feature Layer

コードのサンプル

EdgematchFeatures(フィーチャのエッジマッチ)の例 1(Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.EdgematchFeatures_edit("cityA_Roads.shp", "em_Links.shp"
                             "MOVE_ENDPOINT")
EdgematchFeatures(フィーチャのエッジマッチ)の例 2(スタンドアロン Python スクリプト)

次のスタンドアロン Python スクリプトは、EdgematchFeatures(フィーチャのエッジマッチ)関数をスクリプティング環境に適用する例を示しています。

# Name:        EdgematchFeatures_example_script2.py
# Description: Performs edgematching spatial adjustment using links produced by
#              GenerateEdgematchLinks. The links go from input features to adjacent 
#              features. The links are then checked for intersecting conditions, which
#              might not be desired; they are finally used to adjust input features 
#              (a copy is made) to connect with the matched adjacent feautures.
# 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
inFeatures = "roads1"
adjFeatures = "roads2"
gelOutput = "gelinks_out"

search_distance = "200 Feet"
match_fields = "NAME ROAD_NAME"

qaLocations = "qa_locations"

# Generate rubbersheet links
arcpy.GenerateEdgematchLinks_edit(inFeatures, adjFeatures, gelOutput, search_distance, match_fields)

# ====================================================================================
# Note 1:  The result of GenerateEdgematchLinks may contain errors; see tool reference.
#          Inspection and editing may be necessary to ensure correct links before using
#          them for edgematching.
#
#          One of the possible errors are undesired 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(gelOutput, 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 inFeatures for edgematching
inFeature_Copy = inFeatures + "_Copy"
arcpy.CopyFeatures_management(inFeatures, inFeature_Copy)

# Use the links to adjust the copy of the input features
arcpy.EdgematchFeatures_edit(inFeature_Copy, gelOutput, "MOVE_ENDPOINT")

環境

関連トピック

ライセンス情報

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