Rubbersheet für Features durchführen (Editing)

Zusammenfassung

Ändert Eingabe-Features durch eine räumliche Anpassung mittels Rubbersheeting unter Nutzung der angegebenen Rubbersheet-Links, um eine bessere Ausrichtung an den gewünschten Ziel-Features zu erreichen.

Abbildung

Rubbersheet für Features durchführen

Verwendung

    Vorsicht:

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

  • Dieses Werkzeug wird im Anschluss an das Werkzeug Rubbersheet-Links erstellen verwendet. 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.

  • Hinweis:

    Alle Eingaben müssen sich im selben Koordinatensystem befinden.

  • Die beim Rubbersheeting verwendete Interpolationsmethode zur Erstellung der temporären TINs wird vom Parameter Methode bestimmt.

    • Linear: Bei dieser Methode wird 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.
    • Natürlicher Nachbar: Diese Methode nimmt mehr Zeit in Anspruch, liefert jedoch genauere Ergebnisse, wenn wenige, unregelmäßig über das Dataset verteilte Rubbersheet-Links vorhanden sind. In diesem Fall ist die Methode "Linear" nicht so genau.

Syntax

arcpy.edit.RubbersheetFeatures(in_features, in_link_features, {in_identity_links}, {method})
ParameterErklärungDatentyp
in_features

Die Eingabe-Features, die angepasst werden sollen. Dies können Punkte, Linien, Polygone oder Annotationen sein.

Feature Layer
in_link_features

Die Eingabe-Linien-Features, die reguläre Links für das Rubbersheeting darstellen.

Feature Layer
in_identity_links
(optional)

Die Eingabe-Punkt-Features, die Identity-Links für das Rubbersheeting darstellen.

Feature Layer
method
(optional)

Gibt die Rubbersheeting-Methode an, die zum Anpassen von Features verwendet wird.

  • LINEARDiese Methode nimmt weniger Zeit in Anspruch und eignet sich, wenn Sie über viele Links verfügen, die gleichmäßig über die anzupassenden Daten verteilt sind. Dies ist die Standardeinstellung.
  • NATURAL_NEIGHBORVerwenden Sie diese Methode, wenn Sie über wenige Links verfügen, die sehr unregelmäßig verteilt sind.
String

Abgeleitete Ausgabe

NameErklärungDatentyp
out_feature_class

Die aktualisierten Eingabe-Features.

Feature-Layer

Codebeispiel

RubbersheetFeatures – Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion RubbersheetFeatures im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.RubbersheetFeatures_edit("source_Roads.shp","rubbersheet_Links.shp",
                               "rubbersheet_Links_pnt.shp", "LINEAR")
RubbersheetFeatures – Beispiel 2 (eigenständiges Skript)

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

Lizenzinformationen

  • Basic: Nein
  • Standard: Nein
  • Advanced: Ja

Verwandte Themen