Verbindung entfernen (Data Management)
Zusammenfassung
Entfernt eine Verbindung aus einem Feature-Layer oder einer Tabellensicht.
Verwendung
-
Der Name der Verbindung ist der Name der Tabelle, die mit dem Eingabe-Layer oder der Tabellensicht verbunden ist.
- Wenn die verbundene 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 verbundene 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 Eingabe-Tabelle 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 |
Die zu entfernende Verbindung. | String |
Codebeispiel
Mit dem folgenden Skript im Python-Fenster wird veranschaulicht, wie die Funktion "RemoveJoin" im unmittelbaren Modus verwendet wird.
import arcpy
from arcpy import env
env.workspace = "C:/data/data.gdb"
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
# Author: ESRI
# 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