Kantenanpassung für Features (Editieren)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Ändert Eingabe-Linien-Features, indem ihre Form mithilfe der angegebenen Kantenanpassungs-Links räumlich angepasst wird, sodass sie mit den Linien im benachbarten Dataset verbunden werden.

Weitere Informationen zur Kantenanpassung

Bild

Kantenanpassung für Features

Verwendung

Syntax

EdgematchFeatures_edit (in_features, in_link_features, {method}, {adjacent_features}, {border_features})
ParameterErläuterungDatentyp
in_features

Eingabe-Linien-Features, die angepasst werden sollen.

Feature Layer
in_link_features

Eingabe-Linien-Features, die Kantenanpassungs-Links darstellen.

Feature Layer
method
(optional)

Methode zur Kantenanpassung, die verwendet wird, um entweder nur Eingabe-Features oder sowohl Eingabe-Features als auch benachbarte Features an neue verbundene Positionen anzupassen.

  • MOVE_ENDPOINTVerschiebt den Endpunkt einer Linie an die neue verbundene Position. Dies ist die Standardeinstellung.
  • ADD_SEGMENTFügt ein gerades Segment am Ende einer Linie hinzu, sodass diese an der neuen verbundenen Position endet.
  • ADJUST_VERTICESPasst den Endpunkt einer Linie an die neue verbundene Position an. Die verbleibenden Stützpunkte werden ebenfalls angepasst, sodass der Grad der Änderung der Position nach und nach gegen das gegenüberliegende Ende der Linie abnimmt.
String
adjacent_features
(optional)

Linien-Features, die neben Eingabe-Features liegen. Falls angegeben, werden sowohl die Eingabe- aus auch die benachbarten Features angepasst, um an neuen verbundenen Positionen aufeinander zu stoßen. Diese sind entweder die Punkte in der Mitte der Kantenanpassungs-Links oder Positionen, die den mittleren Punkten der Links an den Rahmen-Features zunächst liegen. Sie müssen benachbarte Features angeben, wenn Sie Rahmen-Features angeben.

Feature Layer
border_features
(optional)

Linien- oder Polygon-Features, die Ränder zwischen den Eingabe- und benachbarten Features darstellen. Wenn Sie die Rahmen-Features angeben, müssen Sie auch die benachbarten Features angeben. Die Eingabe- und benachbarten Features werden angepasst, um an neuen verbundenen Positionen, die den Punkten in der Mitte der Links an den Rahmen-Features zunächst liegen, aufeinanderzutreffen.

Feature Layer

Codebeispiel

EdgematchFeatures – Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "EdgematchFeatures" im unmittelbaren Modus verwenden.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.EdgematchFeatures_edit("cityA_Roads.shp", "em_Links.shp"
                             "MOVE_ENDPOINT")
EdgematchFeatures – Beispiel 2 (eigenständiges Python-Skript)

Das folgende eigenständige Skript ist ein Beispiel für die Anwendung der Funktion "EdgematchFeatures" in einer Skriptumgebung.

# 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")

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Nein
ArcGIS for Desktop Standard: Nein
ArcGIS for Desktop Advanced: Ja
5/12/2014