Résumé
Définit le domaine d'un champ particulier et éventuellement d'un sous-type. Si aucun sous-type n'est précisé, le domaine est attribué uniquement au champ spécifié.
Utilisation
La gestion de domaine comprend les étapes suivantes :
- Créer le domaine à l'aide de l'outil Créer un domaine.
- Ajouter des valeurs ou définir la plage de valeurs pour le domaine à l'aide de l'outil Ajouter une valeur codée à un domaine ou de l'outil Définir les valeurs d'un domaine par plage.
- Associer le domaine à une classe d'entités à l'aide de cet outil.
Lorsqu'un domaine attributaire est associé à une table ou une classe d'entités, une règle de validation attributaire est créée dans la base de données. Cette règle de validation attributaire décrit et impose les valeurs valides d'un type de champ.
Un domaine attributaire peut être associé à plusieurs champs dans la même table, classe d'entités ou dans le même sous-type, ainsi que dans plusieurs tables et classes d'entités.
Le paramètre Table en entrée accepte des couches d'entités ou des vues tabulaires.
Syntaxe
arcpy.management.AssignDomainToField(in_table, field_name, domain_name, {subtype_code})
Paramètre | Explication | Type de données |
in_table | Nom de la table ou classe d'entités contenant le champ auquel un domaine sera attribué. | Table View |
field_name | Nom du champ auquel un domaine sera attribué. | Field |
domain_name | Nom d'un domaine de géodatabase à attribuer au nom du champ. Les domaines disponibles sont chargés automatiquement. | String |
subtype_code [subtype_code,...] (Facultatif) | Code de sous-type à attribuer à un domaine. | String |
Sortie dérivée
Nom | Explication | Type de données |
out_table | Table en entrée mise à jour. | Vue tabulaire |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction AssignDomainToField en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.AssignDomainToField_management("montgomery.gdb/Landbase/Parcels",
"ZONING_S", "ZoningFields", "1: government")
Le script suivant utilise la fonction AssignDomainToField dans le cadre d’un processus visant à créer un domaine attributaire, affecter des valeurs au domaine et affecter le domaine à un champ.
# Name: MakeDomain.py
# Description: Create an attribute domain to constrain pipe material values
# Import system modules
import arcpy
# Set the workspace (to avoid having to type in the full path to the data every time)
arcpy.env.workspace = "C:/data"
# Set local parameters
domName = "Material4"
gdb = "montgomery.gdb"
inFeatures = "Montgomery.gdb/Water/Distribmains"
inField = "Material"
# Process: Create the coded value domain
arcpy.CreateDomain_management("montgomery.gdb", domName, "Valid pipe materials",
"TEXT", "CODED")
# Store all the domain values in a dictionary with the domain code as the "key"
# and the domain description as the "value" (domDict[code])
domDict = {"CI":"Cast iron", "DI": "Ductile iron", "PVC": "PVC",
"ACP": "Asbestos concrete", "COP": "Copper"}
# Process: Add valid material types to the domain
# use a for loop to cycle through all the domain codes in the dictionary
for code in domDict:
arcpy.AddCodedValueToDomain_management(gdb, domName, code, domDict[code])
# Process: Constrain the material value of distribution mains
arcpy.AssignDomainToField_management(inFeatures, inField, domName)
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?