Attribuer un domaine à un champ (Gestion des données)

Synthèse

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 :

    1. Créer le domaine à l’aide de l’outil Créer un domaine.
    2. 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 Définir les valeurs d’un domaine par plage.
    3. Associer le domaine à une classe d'entités à l'aide de cet outil.
  • 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.

Paramètres

ÉtiquetteExplicationType de données
Table en entrée

Nom de la table ou classe d'entités contenant le champ auquel un domaine sera attribué.

Table View
Nom de champ

Nom du champ auquel un domaine sera attribué.

Field
Nom du domaine

Nom d’un domaine de géodatabase à attribuer au nom du champ. Les domaines disponibles sont chargés automatiquement.

String
Sous-type
(Facultatif)

Code de sous-type à attribuer à un domaine.

String

Sortie obtenue

ÉtiquetteExplicationType de données
Table en entrée mise à jour

Table en entrée mise à jour.

Table View

arcpy.management.AssignDomainToField(in_table, field_name, domain_name, {subtype_code})
NomExplicationType 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 obtenue

NomExplicationType de données
out_table

Table en entrée mise à jour.

Table View

Exemple de code

Exemple d’utilisation de la fonction AssignDomainToField (fenêtre Python)

Le script ci-dessous pour la fenêtre Python montre comment utiliser la fonction AssignDomainToField en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management,AssignDomainToField("montgomery.gdb/Landbase/Parcels", 
                                     "ZONING_S", "ZoningFields", "1: government")
Exemple 2 d’utilisation de la fonction AssignDomainToField (script autonome)

Le script ci-après utilise la fonction AssignDomainToField dans le cadre d’un processus pour créer un domaine attributaire, attribuer des valeurs au domaine et attribuer 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.management.CreateDomain("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.management.AddCodedValueToDomain(gdb, domName, code, domDict[code])
    
# Process: Constrain the material value of distribution mains
arcpy.management.AssignDomainToField(inFeatures, inField, domName)

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes