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.
Abbildung
Verwendung
Dieses Werkzeug ist für die Verwendung nach dem Werkzeug Kantenanpassungs-Links erstellen vorgesehen. Damit werden die Formen der Eingabelinien mithilfe der vom Werkzeug Kantenanpassungs-Links erstellen erstellten Eingabe-Link-Features räumlich angepasst, sodass sie ordnungsgemäß mit den benachbarten Linien-Features entlang der Kantenbereiche verbunden werden. Die Eingabe-Link-Features müssen SRC_FID- und ADJ_FID-Felder enthalten.
Dieses Werkzeug leitet neue Verbindungspunkte aus den Kantenanpassungs-Links ab und ändert dann die entsprechenden Features, sodass deren Endpunkte mit den neuen Punkten verbunden werden. Abhängig von der bereitgestellten Eingabe (Eingabe-Features, Benachbarte Features und Rahmen-Features) werden die neuen Verbindungsstellen bestimmt und die relevanten Features entsprechend angepasst. Diese Anpassung stellt sicher, dass abgeglichene Features verbunden sind, wie unten erläutert:
- Wenn Sie nur Eingabe-Features angeben, sind die Endpunkte der Kantenanpassungs-Links die neuen Verbindungsstellen. Die mit den Kantenanpassungs-Links verknüpften Eingabe-Linien (d. h., die Feature-IDs stimmen mit den SRC_FID-Werten der Links überein) werden angepasst, sodass sie an den Endpunkten der Links enden. Auf diese Weise wird sichergestellt, dass sie mit den gewünschten benachbarten Features, die an der Generierung der Kantenanpassungs-Links beteiligt waren, verbunden sind.
- Wenn Sie sowohl Eingabe-Features als auch benachbarte Features angeben, sind die Punkte in der Mitte der Kantenanpassungs-Links die neuen Verbindungsstellen. Beide verknüpften Eingabe-Linien und verknüpften benachbarten Linien (d. h., die Feature-IDs stimmen mit den ADJ_FID-Werten der Links überein) werden angepasst, sodass deren Endpunkte mit der Mitte der Links verbunden sind.
- Wenn Sie Rahmen-Features angeben, verwendet das Werkzeug die Positionen der Rahmen, die den Punkten in der Mitte der Links der Kantenanpassungs-Links am nächsten liegen, als die neuen Verbindungsstellen. Eingabe-Features und Benachbarte Features (falls angegeben) werden angepasst, sodass deren Endpunkte mit den berechneten Randpositionen verbunden werden.
Der Parameter Methode verfügt über drei Kantenanpassungsoptionen zum Anpassen von Features. Jede Option gilt entweder nur für die Eingabe-Features oder für die Eingabe-Features und benachbarten Features, wie oben erläutert.
- MOVE_ENDPOINT – Verschiebt den Endpunkt der Eingabelinie an die neue Verbindungsstelle.
- ADD_SEGMENT – Fügt ein gerades Segment zum Ende einer Eingabelinie hinzu, sodass diese an der neuen Verbindungsstelle endet.
- ADJUST_VERTICES – Passt den Endpunkt einer Linie an die neue Verbindungsstelle 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 reduziert wird.
Syntax
EdgematchFeatures_edit (in_features, in_link_features, {method}, {adjacent_features}, {border_features})
Parameter | Erläuterung | Datentyp |
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 Verbindungsstellen anzupassen.
| 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 Verbindungsstellen 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. | Feature Layer |
border_features (optional) | Linien- oder Polygon-Features, die Ränder zwischen den Eingabe- und benachbarten Features darstellen. Wenn Sie Rahmen-Features angeben, werden die Eingabe- und benachbarten Features angepasst, um an neuen Verbindungsstellen, 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")
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Nein
- ArcGIS Desktop Standard: Nein
- ArcGIS Desktop Advanced: Ja