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 paramètre 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, Layer1 est jointe à TableA. Layer1 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 (Facultatif) |
Jointure à supprimer. | String |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Supprimer un jointure en mode immédiat dans ArcMap dans une couche d'entités dans la table des matières nommée veglayer.
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
# 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