Résumé
Crée un domaine attributaire dans l'espace de travail spécifié.
Utilisation
La gestion de domaine comprend les étapes suivantes :
- Créer le domaine à l'aide de cet outil.
- 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 l'outil Attribuer un domaine à un champ.
Seules les règles de division duplication, valeur par défaut et combinaison de valeur par défaut sont prises en charge par les domaines de valeurs précodées.
Les domaines par plage prennent en charge toutes les règles de combinaison et de division. Après une opération de division ou de combinaison, les valeurs attributaires des entités en sortie sont calculées selon les valeurs numériques des entités en entrée et la règle de séparation ou de combinaison spécifiée.
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.
Syntaxe
CreateDomain_management (in_workspace, domain_name, {domain_description}, {field_type}, {domain_type}, {split_policy}, {merge_policy})
Paramètre | Explication | Type de données |
in_workspace | Géodatabase contenant le nouveau domaine. | Workspace |
domain_name | Nom du domaine à créer. | String |
domain_description (Facultatif) | Description du domaine à créer. | String |
field_type (Facultatif) | Type de domaine attributaire à créer. Les domaines attributaires représentent des règles qui décrivent les valeurs autorisées pour un type de champ. Spécifiez un type de champ qui correspond au type de données du champ auquel le domaine attributaire sera assigné.
| String |
domain_type (Facultatif) | Type de domaine à créer :
| String |
split_policy (Facultatif) | Règle de division du domaine créé. Le comportement des valeurs d'un attribut lors du fractionnement d'une entité est contrôlé par sa règle de division.
| String |
merge_policy (Facultatif) | Règle de combinaison du domaine créé. Lors de la fusion de deux entités en une seule, les règles de combinaison contrôlent les valeurs attributaires de la nouvelle entité.
| String |
Exemple de code
Exemple d'utilisation de l'outil CreateDomain (fenêtre Python)
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction CreateDomain en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CreateDomain_management("montgomery.gdb", "Materials", "Valid pipe materials", "TEXT", "CODED")
Exemple 2 d'utilisation de l'outil CreateDomain (script autonome)
Ce script autonome utilise la fonction CreateDomain dans le cadre d'un workflow pour créer un domaine attributaire, lui affecter des valeurs et affecter le domaine à un champ dans une classe d'entités.
# Name: MakeDomain.py
# Description: Create an attribute domain to constrain pipe material values
#Import system modules
import arcpy
try:
# 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)
except Exception as err:
print(err.args[0])
Environnements
Informations de licence
- ArcGIS Desktop Basic: Oui
- ArcGIS Desktop Standard: Oui
- ArcGIS Desktop Advanced: Oui