Supprimer une valeur codée d'un domaine (Gestion des données)
Récapitulatif
Supprime une valeur d'un domaine de valeurs précodées.
Utilisation
-
Les domaines d'espace de travail peuvent également être gérés dans ArcCatalog ou la fenêtre Catalogue. Les domaines peuvent être créés et modifiés dans l'onglet Domaines de la boîte de dialogue Propriétés de la base de données.
-
Le bouton Ajouter une valeur du paramètre Valeur du code est utilisé uniquement dans ModelBuilder. Dans ModelBuilder, si l'outil précédent n'a pas été exécuté ou si ses données dérivées n'existent pas, il se peut qu'aucune valeur ne soit renseignée dans le paramètre Valeur du code. Le bouton Ajouter une valeur vous permet d'ajouter des valeurs attendues afin de poursuivre la construction du modèle.
Syntaxe
Paramètre | Explication | Type de données |
in_workspace |
Espace de travail contenant le domaine à mettre à jour. | Workspace |
domain_name |
Nom du domaine de valeurs précodées à mettre à jour. | String |
code [code,...] |
Valeur(s) à supprimer du domaine spécifié. | String |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction CreateDomain en mode immédiat.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.DeleteCodedValueFromDomain_management("montgomery.gdb", "DistDiam", ["20","24"])
Ce script autonome utilise la fonction DeleteCodedValueFromDomain dans le cadre d'un workflow pour modifier un domaine
# Name: RemoveDomainsExample.py
# Purpose: Update an attribute domain to constrain valid pipe material values
# Author: ESRI
# Import system modules
import arcpy, os
from arcpy import env
try:
# Set the workspace (to avoid having to type in the full path to the data every time)
env.workspace = "data"
# set local parameters
inFeatures = "Montgomery.gdb/Water/DistribMains"
inField = "MATERIAL"
dWorkspace = "Montgomery.gdb"
domName = "Material"
codedValue = "ACP: Asbestos concrete"
codeField = "TYPE"
descField = "DESRIPT"
# Process: Remove the constraint from the material field
arcpy.RemoveDomainFromField_management(inFeatures, inField)
# Edit the domain values
# Process: Remove a coded value from the domain
arcpy.DeleteCodedValueFromDomain_management(dWorkspace, domName, codedValue)
# Process: Create a table from the domain to edit it with ArcMap editing tools
arcpy.DomainToTable_management(dWorkspace, domname, dWorkspace + os.sep + domname , codeField, descField)
# Process: Delete the domain
arcpy.DeleteDomain_management(dWorkspace, domName)
# Edit the domain table outside of geoprocessing
# and then bring the domain back in with the TableToDomain process
except Exception, e:
# If an error occurred, print line number and error message
import traceback, sys
tb = sys.exc_info()[2]
print "Line %i" % tb.tb_lineno
print e.message