Verbindung entfernen (Data Management)
Zusammenfassung
Entfernt eine Verbindung aus einem Feature-Layer oder einer Tabellensicht.
Verwendung
-
Der Parameter Verbindung ist der Name der Tabelle, die mit dem Eingabe-Layer oder der Tabellensicht verbunden ist.
- Wenn die Join-Tabelle beispielsweise eine dBASE-Datei mit der Bezeichnung MyTable.dbf ist, lautet der Name der Verbindung "MyTable". Um die Verbindung zu entfernen, geben Sie "MyTable" an.
- Wenn die Join-Tabelle eine INFO- oder Geodatabase-Tabelle mit der Bezeichnung MyTable2 ist, lautet der Name der Verbindung "MyTable2". Um die Verbindung zu entfernen, geben Sie also "MyTable2" ein.
- Der Name der Verbindung steht nicht für den Namen der Tabellensicht selbst, sondern für deren Quelle. Wenn daher die Tabellensicht TableView1 benannt ist und auf mytable.dbf zeigt, ist der Name der Verbindung "mytable".
-
Ist ein Layer mit zwei Tabellen verbunden und wird die erste Verbindung entfernt, werden beide Verbindungen entfernt. Beispiel: Layer1 wird mit TableA verbunden. Dann wird Layer1 mit TableB verbunden. Wird die Verbindung mit TableA entfernt, wird auch die Verbindung mit TableB entfernt.
-
Dieses Werkzeug ist nicht auf ArcMap beschränkt. Sie können es auch in Layern und Tabellensichten in anderen ArcGIS-Anwendungen und in Skripten einsetzen. Mit dem Werkzeug Feature-Layer erstellen wird aus einer Feature-Class ein Layer erstellt, mit dem Werkzeug Tabellensicht erstellen aus einer Eingabetabelle oder einer Feature-Class eine Tabellensicht. Der Layer oder die Tabellensicht kann dann als Eingabe für die Werkzeuge Verbindung hinzufügen und Verbindung entfernen verwendet werden.
Syntax
Parameter | Erläuterung | Datentyp |
in_layer_or_view |
Der Layer oder die Tabellensicht, aus dem/der die Verbindung entfernt werden soll. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
join_name (optional) |
Die zu entfernende Verbindung. | String |
Codebeispiel
Das folgende Python-Fenster-Skript zeigt, wie das Werkzeug "RemoveJoin" im unmittelbaren Modus in ArcMap in einem Feature-Layer im Inhaltsverzeichnis "veglayer" verwendet wird.
arcpy.RemoveJoin_management("veglayer", "vegtable")
Mit diesem eigenständigen Skript wird gezeigt, wie die Funktion "RemoveJoin" zum Hinzufügen eines Feldes zu einer Tabelle und zur Berechnung der zugehörigen Werte anhand der Werte aus einer verbundenen Tabelle angewendet wird.
# AddFieldFromJoin.py
# Description: Adds a field to a table, and calculates its values based
# on the values in a field from a joined table
# Import system modules
import arcpy
from arcpy import env
try:
# set the environments
env.workspace = "C:/data"
env.qualifiedFieldNames = "UNQUALIFIED"
# Define script parameters
inFeatures = "Habitat_Analysis.gdb/vegtype"
layerName = "veg_layer"
newField = "description"
joinTable = "vegtable.dbf"
joinField = "HOLLAND95"
calcExpression = "!vegtable.VEG_TYPE!"
outFeature = "Habitat_Analysis.gdb/vegjoin335"
# Add the new field
arcpy.AddField_management (inFeatures, newField, "TEXT")
# 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)
# Populate the newly created field with values from the joined table
arcpy.CalculateField_management (layerName, newField, calcExpression, "PYTHON")
# Remove the join
arcpy.RemoveJoin_management (layerName, "vegtable")
# Copy the layer to a new permanent feature class
arcpy.CopyFeatures_management (layerName, outFeature)
except Exception, e:
import traceback, sys
tb = sys.exc_info()[2]
print "Line %i" % tb.tb_lineno
print e.message