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

Abbildung zum Werkzeug "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 Sie über wenige Rubbersheet-Links verfügen, die unregelmäßig über das Dataset verteilt sind. In diesem Fall ist die Methode "Linear" nicht so genau.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Features

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

Feature Layer
Eingabe-Link-Features

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

Feature Layer
Eingabe-Punkt-Features als Identitäts-Links
(optional)

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

Feature Layer
Methode
(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.
  • Natürlicher NachbarVerwenden Sie diese Methode, wenn Sie über wenige Links verfügen, die sehr unregelmäßig verteilt sind.
String

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Geänderte Eingabe-Features

Die aktualisierten Eingabe-Features.

Feature Layer

arcpy.management.RubbersheetFeatures(in_features, in_link_features, {in_identity_links}, {method})
NameErläuterungDatentyp
in_features

Die Eingabe-Features, die angepasst werden. 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

NameErläuterungDatentyp
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.edit.RubbersheetFeatures("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 then used to adjust the
             base roads (a copy is made) to better align with the updated roads.
"""

# Import system modules
import arcpy

# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.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.edit.GenerateRubbersheetLinks(sourceFeatures, targetFeatures, grlOutput, search_distance, match_fields)

"""
Note 1:  The result of GenerateRubbersheetLinks may contain errors; see the tool reference.
         Inspection and editing may be necessary to ensure correct links before using
         them for rubbersheeting.

         One of the common errors is 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.analysis.Intersect(grlOutput, qaLocations, "", "", "POINT")

# Delete coincident points
arcpy.management.DeleteIdentical(qaLocations, "Shape")

"""
Note 2:  You can manually inspect locations in qaLocations and delete or
         modify links as needed.
"""

# Make a copy of the sourceFeatures for rubbersheeting
arcpy.management.CopyFeatures(sourceFeatures, "sourceFeatures_Copy")

# Use the links for rubbersheeting
arcpy.edit.RubbersheetFeatures("sourceFeatures_Copy", grlOutput, grlOutputPts, "LINEAR")