Supprimer une jointure (Gestion des données)
Récapitulatif
Supprime une jointure d'une couche d'entités ou d'une vue tabulaire.
Utilisation
-
Le nom de la Jointure est le nom de la table jointe à la vue tabulaire ou à la couche en entrée.
- Si la table de jointure est un fichier dBASE nommé "MyTable.dbf", le nom de la jointure est "MyTable". Par conséquent, pour le supprimer, indiquez "MyTable".
- Si la table de jointure est une Table INFO ou Géodatabase nommée "MyTable2", le nom de la jointure est "MyTable2". Par conséquent, pour le supprimer, indiquez "MyTable2".
- Le nom de la jointure ne reflète donc pas le nom de la vue tabulaire elle-même, mais plutôt la source de la vue tabulaire. Aussi, si une vue tabulaire est nommée TableView1 et pointe sur "mytable.dbf", le nom de la jointure sera "mytable".
-
Lorsqu'une couche est jointe à deux tables et que la première jointure est supprimée, les deux jointures sont supprimées. Par exemple, Couche1 est jointe à TableA. Couche1 est ensuite jointe à TableB. Si la jointure à TableA est supprimée, la jointure à TableB est également supprimée.
-
Le fonctionnement de cet outil ne se limite pas à ArcMap ; il est également applicables aux couches et aux vues tabulaires dans d'autres applications ArcGIS et dans les scripts. L'outil Générer une couche crée une couche à partir d'une classe d'entités et l'outil Générer une vue tabulaire crée une vue tabulaire à partir d'une table ou d'une classe d'entités en entrée. La couche ou la vue tabulaire peut ensuite être utilisée en tant qu'entrée des outils Ajouter une jointure et Supprimer une jointure.
Syntaxe
Paramètre | Explication | Type de données |
in_layer_or_view |
Couche ou vue tabulaire de laquelle la jointure sera supprimée. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
join_name |
Jointure à supprimer. | String |
Exemple de code
Le script de fenêtre Python suivant illustre l'utilisation de la fonction RemoveJoin en mode immédiat.
import arcpy from arcpy import env env.workspace = "C:/data/data.gdb" arcpy.RemoveJoin_management("veglayer", "vegtable")
Ce script autonome illustre la fonction RemoveJoin dans le cadre d'un workflow permettant d'ajouter un champ à une table et de calculer ses valeurs en fonction des valeurs d'un champ provenant d'une table jointe.
# 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