Skip To Content

Feld verbinden

Zusammenfassung

Stellt Verbindungen des Inhalts einer Tabelle auf der Grundlage eines gemeinsamen Attributfeldes mit einer anderen Tabelle her. Die Eingabetabelle 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 Eingabetabelle hinzugefügt werden.

Die Datensätze in der Eingabetabelle 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 Eingabetabelle anhängen.

Verwendung

  • Bei der Eingabetabelle kann es sich um eine Feature-Class (einschließlich Shapefile) oder eine Tabelle handeln.

  • Alle Felder in der Eingabetabelle 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 Join-Felder aktivieren.

  • Datensätze aus der Join-Tabelle können mehr als einem Datensatz in der Eingabetabelle zugeordnet werden.

  • Falls für den optionalen Parameter Join-Felder keine Felder ausgewählt werden, werden der Ausgabe standardmäßig alle Felder der Join-Tabelle hinzugefügt.

  • 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 Eingabetabelle trägt, wird an das verbundene Feld (_1 (oder _2 bzw. _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, Minimum) zusammenfassen.
    • Um zwei oder mehr Felder in der Join-Tabelle vor dem Verbinden zusammenzuführen, exportieren Sie zunächst die Tabelle oder Feature-Class mit dem Werkzeug Tabelle zu Tabelle und führen sie mithilfe von Feldkarte zusammen.

Syntax

JoinField_management (in_data, in_field, join_table, join_field, {fields})
ParameterErläuterungDatentyp
in_data

Die Tabelle oder die Feature-Class, mit der die Join-Tabelle verbunden wird.

Mosaic Layer; Raster Layer; Table View
in_field

Das Feld in der Eingabetabelle, auf dem die Verbindung basieren soll.

Field
join_table

Die Tabelle, die mit der Eingabetabelle verbunden werden soll.

Mosaic 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

JoinField – Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht die Verwendung der Funktion JoinField im unmittelbaren Modus.

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", ["land_use","land_cover"])
JoinField – Beispiel 2 (eigenständiges Skript)

In diesem eigenständigen Python-Skript wird veranschaulicht, wie die JoinField-Funktion zum Verbinden einer Tabelle mit einer Feature-Class verwendet wird, wobei nur zwei der Tabellenfelder in der Verbindung berücksichtigt werden.

# PermanentJoin.py
# Purpose: Join two fields from a table to a feature class 
# Import system modules
import arcpy
# Set the current workspace 
arcpy.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)

Lizenzinformationen

  • ArcGIS Desktop Basic: Ja
  • ArcGIS Desktop Standard: Ja
  • ArcGIS Desktop Advanced: Ja

Verwandte Themen