Zusammenfassung
Ermittelt, wo die Quell-Linien-Features räumlich mit den Ziel-Linien-Features übereinstimmen, und überträgt angegebene Attribute von Quell-Features auf abgeglichene Ziel-Features.
Die Attributübertragung wird normalerweise verwendet, um Attribute von Features in einem Dataset zu entsprechenden Features in einem anderen Dataset zu kopieren. Beispielsweise kann sie verwendet werden, um die Namen von Straßen-Features von einem zuvor digitalisierten und verwalteten Dataset auf Features, die neu erfasst und genauer sind, in einem neuen Dataset zu übertragen. Die zwei Datasets werden gewöhnlich als Quell-Features und Ziel-Features bezeichnet. Dieses Werkzeug ermittelt einander entsprechende Quell- und Ziellinien-Features innerhalb der angegebenen Suchentfernung und überträgt die angegebenen Attribute von Quelllinien auf Ziellinien.
Abbildung
Verwendung
Die Vereinigung der Eingabe-Ausdehnungen wird als Verarbeitungsausdehnung verwendet. Die Anzahl der beteiligten Quellen- und Ziel-Features wird in den Verarbeitungsmeldungen aufgeführt.
Im Parameter Feld(er) übertragen müssen ein oder mehrere Felder angegeben werden. Wenn ein Übertragungsfeld denselben Namen wie ein Feld der Ziel-Feature-Tabelle trägt, wird _1 (bzw. _2 oder _3 usw.) an das Übertragungsfeld angehängt, um es eindeutig zu benennen.
Wenn mehrere Quell-Features mit einem oder mehreren Ziel-Features übereinstimmen, werden nur die Feldwerte aus einem der Quell-Features auf die Ziel-Features übertragen. Wenn ein Quellenfeldwert fehlt, findet keine Attributübertragung statt.
Der Parameter Suchentfernung wird zum Suchen von Übereinstimmungskandidaten verwendet. Verwenden Sie eine Entfernung, die lang genug ist, um die meisten Verschiebungen zwischen übereinstimmenden Features zu erfassen, jedoch nicht so lang, dass dadurch zu viele Kandidaten unnötig verarbeitet und potenziell falsche Treffer erzielt werden.
Die Ausgabe-Zuordnungstabelle ist optional. Diese Zuordnungstabelle enthält vollständige Informationen zum Feature-Abgleich, z. B. die Quellen- und Ziel-FIDs, Übereinstimmungsgruppen, Übereinstimmungsbeziehungen und das Konfidenzniveau des Abgleichs aus Bedingungen für den räumlichen und Attributabgleich. Diese Informationen können die Interpretation der Übereinstimmungssituationen ermöglichen und die Nachprüfung, Nachbearbeitung und weitere Analyse vereinfachen. Weitere Informationen finden Sie unter Feature-Abgleich und Zuordnungstabelle.
Die Genauigkeit des Feature-Abgleichs ist abhängig von der Qualität, Komplexität und Ähnlichkeit der Daten der zwei Eingaben.
Während der Vorverarbeitung müssen Sie die Datenfehler minimieren und relevante Features auswählen. Im Allgemeinen ist es hilfreich, wenn die Features in einem Eingabe-Dataset topologisch richtig sind, eine gültige Geometrie aufweisen und Singlepart und nicht doppelt sind. Anderenfalls können unerwartete Fehler auftreten.
Syntax
TransferAttributes_edit (source_features, target_features, transfer_fields, search_distance, {match_fields}, {out_match_table})
Parameter | Erläuterung | Datentyp |
source_features | Linien-Features, aus denen Attribute übertragen werden sollen. | Feature Layer |
target_features | Linien-Features, zu denen Attribute übertragen werden sollen. Die angegebenen Übertragungsfelder werden zu den Ziel-Features hinzugefügt. | Feature Layer |
transfer_fields [field,...] | Liste der Quellenfelder, die zu Ziel-Features übertragen werden sollen. Es muss mindestens ein Feld angegeben werden. | Field |
search_distance | Die für die Suche nach Übereinstimmungskandidaten verwendete Entfernung. Die Entfernung muss angegeben und größer als null sein. Sie können eine bevorzugte Einheit auswählen. Standardmäßig wird die Feature-Einheit verwendet. | Linear unit |
match_fields [[source_field, target_field],...] (optional) | Liste der Felder aus Quellen- und Ziel-Features. Falls angegeben, wird jedes Feldpaar auf Übereinstimmungskandidaten geprüft, um die Ermittlung des richtigen Treffers zu ermöglichen. | Value Table |
out_match_table (optional) | Die Ausgabetabelle mit vollständigen Informationen zum Feature-Abgleich. | Table |
Codebeispiel
TransferAttributes – Beispiel 1 (Python-Fenster)
Das folgende Skript veranschaulicht, wie die Funktion "TransferAttributes" im Python-Fenster unmittelbar ausgeführt wird.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.TransferAttributes_edit("source_Roads.shp",
"target_Roads.shp", "RoadName, PaveType"
"25 Feet")
TransferAttributes – Beispiel 2 (eigenständiges Python-Skript)
Das folgende Python-Skript ist ein Beispiel für die Anwendung der Funktion "TransferAttributes" in einem eigenständigen Skript innerhalb einer Scripting-Umgebung.
# Name: TransferAttributes_example_script2.py
# Description: Performs attribute transfer from newly updated roads (source) to existing
# base roads (target). Where the source and target features are matched in
# many-to-one or many-to-many (m:n) relationships, attributes are transferred
# from only one of the m source features to the n target features. This script
# includes a post-process that flags resulting target features with the m:n
# match relationships. You can inspect the flagged features and retrieve the
# attributes from the desired source features if necessary.
# 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 = "updateRoads"
targetFeatures = "baseRoads"
transfer_fields = "RD_NAME; RD_ID"
search_distance = "300 Feet"
match_fields = "RD_NAME FULLNAME"
outMatchTable = "ta_mtbl"
# Make a copy of the targetFeatures for attribute transfer
targetCopy = targetFeatures + "_Copy"
arcpy.CopyFeatures_management(targetFeatures, targetCopy)
# Performs attribute transfer
arcpy.TransferAttributes_edit(sourceFeatures, targetCopy, transfer_fields, search_distance, match_fields, outMatchTable)
# ====================================================================================
# Note 1: The result of TransferAttributes may contain errors; see tool reference.
# Additional analysis steps may be necessary to check the results; these steps
# are not included in this script.
#
# The following process identifies m:n matches between source and target features
# and flag features in targetCopy for inspection.
# ====================================================================================
# Add a field srcM_inMN to the match table to store the m count of source features in m:n relationship
field_srcM_inMN = "srcM_inMN"
arcpy.AddField_management(outMatchTable, field_srcM_inMN)
codeblock = """
def getM(fld):
x = fld.split(\":\")[0]
if x.isnumeric():
if int(x) > 0:
return int(x)
return -1
"""
# Calculate values for srcM_inMN
arcpy.CalculateField_management(outMatchTable, field_srcM_inMN, "getM(!FM_MN!)", "PYTHON_9.3", codeblock)
# Make a table view of the match table, selecting srcM_inMN values greater than 1
# (excluding 1:n relationships which don't need to be inspected)
arcpy.MakeTableView_management(outMatchTable, "mtable_view", field_srcM_inMN + "> 1")
# For the selected records, transfer srcM_inMN and SRC_FID fields and values to the targetCopy
arcpy.JoinField_management(targetCopy, "OBJECTID", "mtable_view", "TGT_FID", field_srcM_inMN + "; SRC_FID")
# ====================================================================================
# Note 2: Now the fields srcM_inMN and SRC_FID are in the copy of the target features.
# The srcM_inMN values are the counts of matched source features; the SRC_FID
# values indicate the source feature IDs from which the transferred attributes
# come from.
#
# At this point you can interactively review the transferred attributes for the
# flagged features. If you want to replace any of them by those from a different
# source feature, you would need to make the edits as needed.
# ====================================================================================
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Nein
- ArcGIS Desktop Standard: Nein
- ArcGIS Desktop Advanced: Ja