Rubbersheet für Features durchführen (Editieren)
Zusammenfassung
Ändert Eingabe-Linien-Features durch eine räumliche Anpassung durch Rubbersheeting mithilfe der angegebenen Rubbersheet-Links, um eine bessere Ausrichtung an den gewünschten Ziel-Features zu erreichen.
Bild
Verwendung
-
Dieses Werkzeug ist für die Verwendung nach dem Werkzeug Rubbersheet-Links erstellen vorgesehen. Beim Rubbersheeting werden räumliche Anpassungen vorgenommen, um die Eingabe-Feature-Positionen anhand von angegebenen Rubbersheet-Links an genaueren Ziel-Feature-Positionen auszurichten. Die Eingabe-Link-Features stellen die regulären Links dar, die Eingabe-Punkt-Features dagegen Identity-Links an Quellpositionen, die während des Rubbersheeting-Prozesses nicht verschoben werden. Sowohl Eingabe-Link-Features als auch Identity-Link-Features müssen die Felder SRC_FID und TGT_FID enthalten.
Die beim Rubbersheeting verwendete Interpolationsmethode zur Erstellung der temporären TINs wird vom Parameter Methode bestimmt. Weitere Informationen finden Sie unter Rubbersheeting zur räumlichen Anpassung.
-
LINEAR – Bei dieser Methode wird schnell eine TIN-Oberfläche ohne weitere Berücksichtigung der Nachbarschaft erstellt. Dies nimmt weniger Zeit in Anspruch und eignet sich, wenn Sie über viele Rubbersheet-Links verfügen, die gleichmäßig über die anzupassenden Daten verteilt sind.
- NATURAL_NEIGHBOR – Diese Methode nimmt mehr Zeit in Anspruch, liefert jedoch genauere Ergebnisse, wenn Sie über wenige Rubbersheet-Links verfügen, die weit voneinander entfernt über das Dataset verteilt sind. In diesem Fall ist die Methode Linear nicht so genau.
-
Achtung:Mit diesem Werkzeug werden die Eingabedaten geändert. Weitere Informationen und Strategien zur Vermeidung unerwünschter Datenänderungen finden Sie unter Werkzeuge ohne Ausgabe.
Hinweis:Alle Eingaben müssen sich im selben Koordinatensystem befinden.
Syntax
| Parameter | Erläuterung | Datentyp |
in_features |
Eingabe-Linien-Features, die angepasst werden sollen. | Feature Layer |
in_link_features |
Eingabe-Linien-Features, die reguläre Links für das Rubbersheeting darstellen. | Feature Layer |
in_identity_links (optional) |
Eingabe-Punkt-Features, die Identity-Links für Rubbersheeting darstellen. | Feature Layer |
method (optional) |
Rubbersheeting-Methode, die zum Anpassen von Features verwendet wird.
| String |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "RubbersheetFeatures" im unmittelbaren Modus verwenden.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.RubbersheetFeatures_edit("source_Roads.shp","rubbersheet_Links.shp",
"rubbersheet_Links_pnt.shp", "LINEAR")
Das folgende eigenständige Skript ist ein Beispiel für die Anwendung der Funktion "RubbersheetFeatures" in einer Skriptumgebung.
# Name: RubbersheetFeatures_example_script2.py
# Description: Performs rubbersheeting spatial adjustment using links produced by
# GenerateRubbersheetLinks, assuming newly updated roads are more
# accurate than existing base roads. The links go from base road data
# to corresponding 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")