Feld verbinden (Data Management)
Zusammenfassung
Stellt Verbindungen des Inhalts einer Tabelle auf der Grundlage eines gemeinsamen Attributfeldes mit einer anderen Tabelle her. Die Eingabe-Tabelle wird so aktualisiert, dass sie die Felder aus der Join-Tabelle enthält. Sie können auswählen, welche Felder aus der Join-Tabelle der Eingabe-Tabelle hinzugefügt werden.
Die Datensätze in der Eingabe-Tabelle werden den Datensätzen in der Join-Tabelle zugeordnet. Die Zuordnung basiert auf dem Eingabe-Join-Feld und dem Ausgabe-Join-Feld. Bei Bedarf können Sie in der Join-Tabelle im Laufe der Verbindung nur die gewünschten Felder auswählen und an die Eingabe-Tabelle anhängen.
Abbildung
Verwendung
-
Alle Felder in der Eingabe-Tabelle werden bei der Verbindung beibehalten. Optional können der Ausgabe auch nur ausgewählte Felder aus der Join-Tabelle hinzugefügt werden. Diese können Sie unter dem Parameter Feld verbinden aktivieren.
-
Falls für den optionalen Parameter Feld verbinden keine Felder ausgewählt werden, werden der Ausgabe standardmäßig alle Felder der Join-Tabelle hinzugefügt.
-
Bei der Eingabe-Tabelle kann es sich um eine Feature-Class, eine Tabelle oder ein Shapefile handeln.
-
Datensätze aus der Join-Tabelle können mehr als einem Datensatz in der Eingabe-Tabelle zugeordnet werden.
-
Verbindungen können auf Feldern vom Typ Text, Datum oder Zahl basieren.
-
Bei Verbindungen auf Basis von Textfeldern wird zwischen Groß- und Kleinschreibung unterschieden.
-
Felder mit verschiedenen Zahlenformaten können verbunden werden, wenn die Werte gleich sind. Sie können z. B. ein Feld vom Typ "Float" mit einem Feld vom Typ "Short Integer" verbinden.
-
Das Eingabe-Join-Feld und das Ausgabe-Join-Feld können unterschiedliche Namen haben.
-
Falls ein Join-Feld denselben Namen wie ein Feld der Eingabe-Tabelle trägt, wird an das verbundene Feld "_1" (bzw. "_2" oder "_3" usw.) angehängt, um es eindeutig zu benennen.
-
Wenn die Werte im Ausgabe-Join-Feld nicht eindeutig sind, wird nur das erste Vorkommen der jeweiligen Werte verwendet.
- Wenn andere Join-Tabellenwerte als das erste Vorkommen berücksichtigt werden sollen, führen Sie zunächst das Werkzeug Summenstatistik aus, und verwenden Sie die Join-Tabelle als Eingabe. Mit Summenstatistik können Sie Felder (z. B., Summe, Mittelwert, Min) zusammenfassen. Klicken Sie hier, um eine Abbildung anzuzeigen.
- Um zwei oder mehr Felder vor dem Verbinden in der Join-Tabelle zu vereinigen, exportieren Sie zuerst die Tabelle oder die Feature-Class mit dem Werkzeug Tabelle in Tabelle und führen das Vereinigen dann mit der Feldzuordnung des Werkzeugs durch. Klicken Sie hier, um eine Abbildung anzuzeigen.
Syntax
Parameter | Erläuterung | Datentyp |
in_data |
Die Tabelle oder die Feature-Class, mit der die Join-Tabelle verbunden wird. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
in_field |
Das Feld in der Eingabe-Tabelle, auf dem die Verbindung basieren soll. | Field |
join_table |
Die Tabelle, die mit der Eingabe-Tabelle verbunden werden soll. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
join_field |
Das Feld in der Join-Tabelle, das die Werte enthält, auf denen die Verbindung basiert. | Field |
fields [fields,...] (optional) |
Die Felder aus der Join-Tabelle, die in die Verbindung einbezogen werden sollen. | Field |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "JoinField" im unmittelbaren Modus verwenden.
import arcpy from arcpy import env env.workspace = "C:/data/data.gdb" arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", ["land_use","land_cover"])
Dieses eigenständige Skript stellt die Verwendung der Funktion "JoinField" zum Verbinden einer Tabelle mit einer Feature-Class dar, wobei nur zwei Tabellenfelder in die Verbindung einbezogen werden.
# PermanentJoin.py # Purpose: Join two fields from a table to a feature class # Author: ESRI # Import system modules import arcpy from arcpy import env # Set the current workspace env.workspace = "c:/data/data.gdb" # Set the local parameters inFeatures = "zion_park" joinField = "zonecode" joinTable = "zion_zoning" fieldList = ["land_use", "land_cover"] # Join two feature classes by the zonecode field and only carry # over the land use and land cover fields arcpy.JoinField_management (inFeatures, joinField, joinTable, joinField, fieldList)