Feld verbinden (Data Management)

Zusammenfassung

Stellt dauerhaft 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.

Verwendung

  • Die Datensätze im Parameter Eingabetabelle werden den Datensätzen im Parameter Join-Tabelle zugeordnet. Die Zuordnung basiert auf den Parametern Eingabe-Join-Feld und Join-Tabellen-Feld. Bei Bedarf können Sie im Parameter Join-Tabelle bestimmte Felder auswählen, die bei der Verbindung an den Parameter Eingabetabelle angehängt werden.

  • Bei dem Wert für Eingabetabelle kann es sich um eine Feature-Class (einschließlich eines Shapefile) oder eine Tabelle handeln.

  • Alle Felder im Parameter Eingabetabelle werden bei der Verbindung beibehalten. Optional können Sie im Parameter Join-Tabelle bestimmte Felder auswählen, die der Ausgabe hinzugefügt werden sollen. Verwenden Sie den Parameter Felder übertragen, um diese Felder hinzuzufügen.

  • Datensätze aus dem Parameter Join-Tabelle können mehr als einem Datensatz im Parameter Eingabetabelle zugeordnet werden.

  • Falls für den optionalen Parameter Felder übertragen keine Felder ausgewählt werden, werden standardmäßig alle Felder der Join-Tabelle mit der Ausgabe verbunden. Um Feldnamen, Aliasnamen oder Eigenschaften zu ändern, setzen Sie den Parameter Übertragungsmethode auf Feldzuordnung verwenden.

  • 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.

  • Bei der Verbindung mit einer Eingabetabelle werden Felder aus der Join-Tabelle vom Typ "Global-ID" oder "Objekt-ID" nicht übertragen.

    Die Werte für Eingabe-Join-Feld und Join-Tabellen-Feld können unterschiedliche Feldnamen 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 Option Übertragungsfelder auswählen für den Parameter Übertragungsmethode angegeben ist und die Feldwerte im Parameterwert Join-Tabellen-Feld nicht eindeutig sind, wird nur das erste Vorkommen jedes Wertes verwendet. Um andere Werte als das erste Vorkommen zu berücksichtigen (eine Eins-zu-Viele-Verbindung), legen Sie den Parameter Übertragungsmethode auf Feldzuordnung verwenden fest. Um eine Eins-zu-Viele-Verbindung umzusetzen, muss der Parameterwert Eingabetabelle ein Objekt-ID-Feld aufweisen und sich im selben Workspace wie der Parameterwert Join-Tabelle befinden.

  • Verwenden Sie den Parameter Feldzuordnung, um die Felder im Ausgabe-Dataset und deren Inhalt zu verwalten.

    • Um die Feldreihenfolge zu ändern, wählen Sie den Namen eines Feldes aus, und ziehen Sie es an die neue Position.
    • Als Datentyp der Ausgabefelder wird der Datentyp des zuerst gefundenen Eingabefeldes (dieses Namens) übernommen. Sie können den Datentyp jederzeit manuell in einen anderen gültigen Datentyp ändern.
    • Die verfügbaren Vereinigungsregeln lauten: Erste(r), Letzte(r), Verbinden, Summe, Mittelwert, Medianwert, Modus, Minimum, Maximum, Standardabweichung und Anzahl.
    • Bei der Anwendung der Vereinigungsregel Verbinden können Sie Ihr ein Trennzeichen angeben, wie z. B. Leerzeichen, Komma, Punkt, Bindestrich. Um ein Leerzeichen zu verwenden, muss sich der Mauszeiger am Anfang des Eingabefeldes befinden. Drücken Sie dann einmal die Leertaste.
    • Sie können Start- und Endpositionen von Textfeldern mithilfe der Formatoption festlegen.
    • Führen Sie die Standardabweichung nicht für eine einzelne Eingabe aus, da die Werte nicht durch 0 geteilt werden können. Die Standardabweichung ist daher keine gültige Option für Einzeleingaben.

    Weitere Informationen zur Feldzuordnung in Skripten

  • Wenn der Parameter Feldzuordnung mit der Vereinigungsregel "Verbindung" angegeben wird, kann nicht garantiert werden, dass die Reihenfolge der verbundenen Werte mit der Zeilenreihenfolge des Parameters Join-Tabellen-Feld übereinstimmt, sofern die Werte nicht eindeutig sind. Wenn zum Beispiel drei Features mit den Attributwerten Maus, Katze und Hund von ANIMAL verbunden werden, muss das Ergebnis nicht unbedingt die Reihenfolge "Maus, Katze und Hund" aufweisen.

  • Mit dem Werkzeug Verbindung überprüfen kann eine Verbindung zwischen zwei Layern oder Tabellen überprüft werden, um zu bestimmen, ob die Layer oder Tabellen gültige Feldnamen und Objekt-ID-Felder enthalten, ob die Verbindung übereinstimmende Datensätze generiert, ob die Verbindung eine Eins-zu-Eins- oder Eins-zu-Viele-Verbindung ist, und um weitere Eigenschaften der Verbindung zu bestimmen.

    Aus Gründen der Benutzerfreundlichkeit ist im Dialogfeld des Werkzeugs eine Schaltfläche zum Überprüfen der Verbindung verfügbar.

Parameter

BeschriftungErläuterungDatentyp
Eingabetabelle

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

Mosaic Layer; Raster Layer; Table View
Eingabe-Join-Feld

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

Field
Join-Tabelle

Die Tabelle, die mit der Eingabetabelle verbunden werden soll.

Mosaic Layer; Raster Layer; Table View
Join-Tabellen-Feld

Das Feld in der Join-Tabelle, das die Werte enthält, auf denen die Verbindung basiert.

Field
Felder übertragen
(optional)

Die Felder aus der Join-Tabelle, die in die Eingabetabelle übertragen werden, basierend auf einer Verbindung zwischen der Eingabetabelle und der Join-Tabelle.

Field
Übertragungsmethode
(optional)

Gibt an, wie Join-Felder und Feldtypen in die Ausgabe übertragen werden.

  • Übertragungsfelder auswählenFelder und Feldtypen aus der verbundenen Tabelle werden in die Ausgabe übertragen. Dies ist die Standardeinstellung.
  • Feldzuordnung verwendenDie Übertragung von Feldern und Feldtypen aus der verbundenen Tabelle in die Ausgabe wird mit dem Parameter Feldzuordnung gesteuert.
String
Feldzuordnung
(optional)

Die Attributfelder, die in die Ausgabe geschrieben werden, sowie zugehörige Feldeigenschaften und Quellfelder. Standardmäßig werden alle Felder der Eingaben aufgenommen.

Felder können hinzugefügt, gelöscht, umbenannt und neu angeordnet werden. Zudem können Sie deren Eigenschaften ändern.

Mit Vereinigungsregeln geben Sie an, wie Werte aus zwei oder mehr Eingabefeldern zu einem einzigen Ausgabewert zusammengeführt bzw. kombiniert werden. Mit den folgenden Vereinigungsregeln können Sie bestimmen, wie das Ausgabefeld mit Werten gefüllt wird:

  • Erste(r): Der erste Wert des Eingabefeldes wird verwendet.
  • Letzte(r): Der letzte Wert des Eingabefeldes wird verwendet.
  • Verbinden: Führt die Werte des Eingabefeldes zusammen (verbindet sie).
  • Summe: Berechnet den Gesamtbetrag der Werte des Eingabefeldes.
  • Mittelwert: Berechnet den Mittelwert (Durchschnitt) der Werte des Eingabefeldes.
  • Medianwert: Berechnet den Medianwert (Mittelwert) der Werte des Eingabefeldes.
  • Modus: Verwendet den Wert mit der größten Häufigkeit.
  • Minimum: Verwendet den Minimalwert aller Werte des Eingabefeldes.
  • Maximum: Verwendet den Maximalwert aller Werte des Eingabefeldes.
  • Standardabweichung: Wendet die Klassifizierungsmethode "Standardabweichung" auf alle Werte des Eingabefeldes an.
  • Anzahl: Gibt die Anzahl der Datensätze zurück, die in der Berechnung enthalten sind.

Field Mappings

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisierte Eingabetabelle

Das aktualisierte Eingabe-Dataset.

Table View; Raster Layer; Mosaic Layer

arcpy.management.JoinField(in_data, in_field, join_table, join_field, {fields}, {fm_option}, {field_mapping})
NameErlä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 Eingabetabelle übertragen werden, basierend auf einer Verbindung zwischen der Eingabetabelle und der Join-Tabelle.

Field
fm_option
(optional)

Gibt an, wie Join-Felder und Feldtypen in die Ausgabe übertragen werden.

  • NOT_USE_FMFelder und Feldtypen aus der verbundenen Tabelle werden in die Ausgabe übertragen. Dies ist die Standardeinstellung.
  • USE_FMDie Übertragung von Feldern und Feldtypen aus der verbundenen Tabelle in die Ausgabe wird mit dem Parameter field_mapping gesteuert.
String
field_mapping
(optional)

Die Attributfelder, die in die Ausgabe geschrieben werden, sowie zugehörige Feldeigenschaften und Quellfelder. Standardmäßig werden alle Felder der Eingaben aufgenommen.

Felder können hinzugefügt, gelöscht, umbenannt und neu angeordnet werden. Zudem können Sie deren Eigenschaften ändern.

Mit Vereinigungsregeln geben Sie an, wie Werte aus zwei oder mehr Eingabefeldern zu einem einzigen Ausgabewert zusammengeführt bzw. kombiniert werden. Mit den folgenden Vereinigungsregeln können Sie bestimmen, wie das Ausgabefeld mit Werten gefüllt wird:

  • Erste(r): Der erste Wert des Eingabefeldes wird verwendet.
  • Letzte(r): Der letzte Wert des Eingabefeldes wird verwendet.
  • Verbinden: Führt die Werte des Eingabefeldes zusammen (verbindet sie).
  • Summe: Berechnet den Gesamtbetrag der Werte des Eingabefeldes.
  • Mittelwert: Berechnet den Mittelwert (Durchschnitt) der Werte des Eingabefeldes.
  • Medianwert: Berechnet den Medianwert (Mittelwert) der Werte des Eingabefeldes.
  • Modus: Verwendet den Wert mit der größten Häufigkeit.
  • Minimum: Verwendet den Minimalwert aller Werte des Eingabefeldes.
  • Maximum: Verwendet den Maximalwert aller Werte des Eingabefeldes.
  • Standardabweichung: Wendet die Klassifizierungsmethode "Standardabweichung" auf alle Werte des Eingabefeldes an.
  • Anzahl: Gibt die Anzahl der Datensätze zurück, die in der Berechnung enthalten sind.

In Python kann dieser Parameter mit der Klasse FieldMappings definiert werden.

Field Mappings

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_layer_or_view

Das aktualisierte Eingabe-Dataset.

Table View; Raster Layer; Mosaic Layer

Codebeispiel

JoinField: Beispiel 1 (Python-Fenster)

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

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.management.JoinField("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.management.JoinField(inFeatures, joinField, joinTable, joinField, 
                           fieldList)

Lizenzinformationen

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

Verwandte Themen