Verbindung hinzufügen (Data Management)

Lizenzstufe:BasicStandardAdvanced

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

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.

Mosaic Layer; Raster Catalog 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.

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
join_type
(optional)

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

  • KEEP_ALLAlle 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_COMMONNur 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
from arcpy import env
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
from arcpy import env

try:
    # Set environment settings
    env.workspace = "C:/data"
    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, e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print "Line %i" % tb.tb_lineno
    print e.message

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Ja
ArcGIS for Desktop Standard: Ja
ArcGIS for Desktop Advanced: Ja
9/11/2013