ArcGIS for Desktop

  • Dokumentation
  • Preise
  • Support

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS for Desktop

Ein vollständiges professionelles GIS

ArcGIS for Server

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Preise
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

Hilfe

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Mehr...

Verbindung hinzufügen

  • Zusammenfassung
  • Bild
  • Verwendung
  • Syntax
  • Codebeispiel
  • Umgebung
  • Lizenzierungsinformationen

Zusammenfassung

Verbindet einen Layer mit einem anderen Layer oder einer Tabelle (wobei der Layer ein Feature-Layer, eine Tabellensicht oder ein Raster-Layer mit Raster-Attributtabelle sein kann) auf Basis eines gemeinsamen Feldes.

Die Datensätze aus der Join-Tabelle werden den Datensätzen aus dem Eingabe-Layer-Namen zugeordnet. Eine Übereinstimmung tritt auf, wenn das Join-Feld der Eingabe und das Join-Feld der Ausgabe dieselben Werte aufweisen. Diese Verbindung ist temporär.

Bild

Verbindung hinzufügen

Verwendung

  • Die Eingabe muss ein Feature-Layer, eine Tabellensicht oder ein Raster-Layer mit einer Attributtabelle sein; es kann keine Feature-Class oder Tabelle als Eingabe verwendet werden.

  • Datensätze aus der Join-Tabelle können mehr als einem Datensatz aus dem Eingabe-Layer oder der Tabellensicht zugeordnet werden. Weitere Informationen zu Eins-zu-eins-, Viele-zu-eins-, Eins-zu-vielen- und Viele-zu-vielen-Verbindungen finden Sie unter Verbinden von Tabellen und Erstellen von Beziehungen zwischen Tabellen.

  • Beim Verbinden von Tabellen werden mit der Standardoption alle Datensätze beibehalten. Wenn ein Datensatz der Zieltabelle keine Entsprechung in der Join-Tabelle besitzt, erhält dieser Datensatz Nullwerte für alle Felder, die aus der Join-Tabelle an die Zieltabelle angehängt werden.

    Beispiel für das Beibehalten aller Datensätze beim Verbinden

    Wenn die Option "Nur passende Datensätze beibehalten" aktiviert ist, wird ein Datensatz aus der erstellten Zieltabelle entfernt, wenn für diesen Datensatz keine Entsprechung in der Join-Tabelle vorhanden ist. Wenn die Zieltabelle der Attributtabelle eines Layers entspricht, werden Features, die keine verbundenen Daten aufweisen, nicht auf der Karte angezeigt.

    Beispiel für das ausschließliche Beibehalten von passenden Datensätzen beim Verbinden

  • Als Join-Tabelle können folgende Tabellentypen verwendet werden: Geodatabase-Tabellen, dBASE-Dateien, INFO-Tabellen und OLE-DB-Tabellen.

  • Der Eingabe-Layer oder die Tabellensicht muss ein ObjectID-Feld aufweisen. Die Join-Tabelle muss kein ObjectID-Feld enthalten.

  • Feldeigenschaften, wie Aliasnamen, Sichtbarkeit und Zahlenformatierung, werden beim Hinzufügen oder Entfernen von Verbindungen beibehalten.

  • Wenn bereits ein Join mit dem gleichen Tabellennamen vorhanden ist - wenn z. B. Layer A mit Tabelle B verbunden ist - dann wird beim erneuten Ausführen des Werkzeugs für ein Join mit Tabelle B eine Warnung ausgegeben, dass der Join bereits vorhanden ist.

  • Die Verbindung besteht nur für die Dauer der Sitzung. Wenn Sie die Verbindung für weitere Sitzungen beibehalten möchten, speichern Sie den Layer mit dem Werkzeug In Layer-Datei speichern als Layer-Datei. Dies gilt jedoch nur für Layer. Tabellensichten können auf diese Weise nicht gespeichert werden.

  • Im resultierenden Layer bzw. der resultierenden Tabellensicht erhalten die Felder des Eingabe-Layers oder der Tabellensicht ein Präfix aus dem Namen der Eingabe und einem Punkt (.). Alle Felder aus der Join-Tabelle erhalten standardmäßig ein Präfix bestehend aus dem Namen der Join-Tabelle und einem Punkt.

    • Beispiel: Sie verbinden den Layer landuse, der die Felder A und B enthält, mit der Tabellensicht lookup_tab, die die Felder C und D enthält. Der resultierende Layer bzw. die resultierende Tabellensicht umfasst die folgenden Felder: landuse.A, landuse.B, lookup_tab.C und lookup_tab.D.
    • Für Coverage-Feature-Classes und INFO-Tabellen wird als Trennzeichen für Tabelle und Feldname ein Doppelpunkt (:) statt eines Punktes verwendet.

  • Um eine bleibende Verbindung herzustellen, verwenden Sie das Werkzeug Feld verbinden. Sie können die Verbindung auch dadurch permanent machen, dass Sie den verbundenen Feature-Layer als neue Feature-Class bzw. die verbundene Tabellensicht als neue Tabelle speichern. Beim Speichern von Ergebnissen in einer neuen Feature-Class oder Tabelle können Sie die Umgebungseinstellung Vollständig qualifizierte Feldnamen verwenden, um zu steuern, ob die Feldnamen in der verbundenen Ausgabe durch den Namen der Tabelle spezifiziert werden sollen, aus der das Feld stammt.

  • Die Indizierung der Felder in dem Eingabe-Layer bzw. der Tabellensicht und Join-Tabelle, auf denen die Verbindung basiert, kann zu einer Performance-Steigerung beitragen. Sie können die Indizierung entweder mit dem Werkzeug Attributindex hinzufügen ausführen oder in ArcCatalog mit der rechten Maustaste auf die Eingabe klicken und im aufgerufenen Dialogfeld einen Index für das gewünschte Feld erstellen.

    Weitere Informationen zu Performancetipps zum Verbinden von Daten

  • Wenn die Felder des Eingabe-Layers oder der Tabellensicht mit dem Parameter Feld-Info im Werkzeug Feature-Layer erstellen oder Tabellensicht erstellen geändert (umbenannt oder ausgeblendet) wurden, werden diese Feldänderungen nicht in die Ausgabe des verbundenen Layers oder der verbundenen Tabellensicht übernommen.

  • Der Name der Join-Tabellen darf nicht mit einem numerischen Wert beginnen.

    Informationen über Gründe, aus denen Tabellen-Joins fehlschlagen können

Syntax

AddJoin_management (in_layer_or_view, in_field, join_table, join_field, {join_type})
ParameterErläuterungDatentyp
in_layer_or_view

Der Layer oder die Tabellensicht, mit dem bzw. der die Join-Tabelle verbunden wird.

Raster Catalog Layer; Mosaic Layer; Raster Layer; Table View
in_field

Das Feld im Eingabe-Layer oder der Tabellensicht, auf dem die Verbindung basiert.

Field
join_table

Die Tabelle oder Tabellensicht, mit der der Eingabe-Layer oder die Tabellensicht verbunden wird.

Raster Catalog Layer; 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
join_type
(optional)

Legt fest, wie Datensätze in der Eingabe behandelt werden, die einem Datensatz in der Join-Tabelle entsprechen.

  • KEEP_ALL —Alle Datensätze im Eingabe-Layer oder der Tabellensicht werden in die Ausgabe übernommen. Dies wird auch als "Outer Join" bezeichnet. Dies ist die Standardeinstellung.
  • KEEP_COMMON —Nur die Datensätze in der Eingabe, die einer Zeile in der Join-Tabelle entsprechen, werden in die Ausgabe übernommen. Dies wird auch als "Inner Join" bezeichnet.
Boolean

Codebeispiel

AddJoin – Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie die Funktion "AddJoin" im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.MakeFeatureLayer_management ( "Habitat_Analysis.gdb/vegtype", "veg_layer")
arcpy.AddJoin_management( "veg_layer", "HOLLAND95", "vegtable.dbf", "HOLLAND95")
arcpy.CopyFeatures_management( "veg_layer", "Habitat_Analysis.gdb/vegjoin")
AddJoin – Beispiel 2 (eigenständiges Skript)

Dieses eigenständige Skript zeigt die Funktion "AddJoin" als Teil eines Workflows, um eine Tabelle mit einer Feature-Class zu verbinden und dann die gewünschten Features zu extrahieren.

# Name: AttributeSelection.py
# Purpose: Join a table to a featureclass and select the desired attributes

# Import system modules
import arcpy

try:
    # Set environment settings
    arcpy.env.workspace = "C:/data"
    arcpy.env.qualifiedFieldNames = False
    
    # Set local variables    
    inFeatures = "Habitat_Analysis.gdb/vegtype"
    layerName = "veg_layer"
    joinTable = "vegtable.dbf"
    joinField = "HOLLAND95"
    expression = "vegtable.HABITAT = 1"
    outFeature = "Habitat_Analysis.gdb/vegjoin"
    
    # Create a feature layer from the vegtype featureclass
    arcpy.MakeFeatureLayer_management (inFeatures,  layerName)
    
    # Join the feature layer to a table
    arcpy.AddJoin_management(layerName, joinField, joinTable, joinField)
    
    # Select desired features from veg_layer
    arcpy.SelectLayerByAttribute_management(layerName, "NEW_SELECTION", expression)
    
    # Copy the layer to a new permanent feature class
    arcpy.CopyFeatures_management(layerName, outFeature)
    
except Exception as err:
    print(err.args[0])

Umgebung

  • Aktueller Workspace
  • Qualifizierte Feldnamen

Lizenzierungsinformationen

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

Verwandte Themen

  • Überblick über das Toolset "Verbindungen"
  • Arbeiten mit Layern und Tabellensichten
  • Verbinden von Tabellen und Erstellen von Beziehungen zwischen Tabellen
Feedback zu diesem Thema?

ArcGIS for Desktop

  • Startseite
  • Dokumentation
  • Preise
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Insider-Blog
  • User Conference
  • Developer Summit
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Datenschutz | Rechtliches