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.
-

Mit diesem Werkzeug werden die Eingabedaten geändert. Weitere Informationen und Strategien zur Vermeidung unerwünschter Datenänderungen finden Sie unter Werkzeuge ohne Ausgabe.

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