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