Créer un domaine (Gestion des données)

Synthèse

Crée un domaine attributaire dans l'espace de travail spécifié.

Utilisation

  • La gestion de domaine comprend les étapes suivantes :

    1. Créer le domaine à l’aide de cet outil.
    2. Ajouter des valeurs ou définir la plage de valeurs du 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 l'outil Attribuer un domaine à un champ.
  • Seules la valeur par défaut, les règles de division de duplication et les règles de fusion 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 division ou de combinaison spécifiée.

Paramètres

ÉtiquetteExplicationType de données
Espace de travail en entrée

Géodatabase contenant le nouveau domaine.

Workspace
Nom du domaine

Nom du domaine à créer.

String
Description du domaine
(Facultatif)

Description du domaine à créer.

String
Type de champ
(Facultatif)

Spécifie le type de domaine attributaire à créer. Les domaines attributaires représentent des règles qui décrivent les valeurs accepté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é.

  • Court (Entier 16 bits)Le champ est de type court. Les champs de type court prennent en charge les nombres entiers compris entre -32 768 et 32 767.
  • Long (Entier 32 bits)Le champ est de type long. Les champs de type long prennent en charge les nombres entiers compris entre 2 147 483 648 et 2 147 483 647.
  • Entier très grand (entier de 64 bits)Le type de champ est Entier très grand. Les champs de type entier très grand prennent en charge les nombres entiers compris entre -(253) et 253.
  • Flottant (Virgule flottante 32 bits)Le champ est de type réel simple. Les champs de type réel simple prennent en charge les nombres fractionnaires compris entre -3,4E38 et 1,2E38.
  • Double (Virgule flottante 64 bits)Le champ est de type réel double. Les champs de type réel double prennent en charge les nombres fractionnaires compris entre -2,2E308 et 1,8E308.
  • TexteLe champ est de type texte. Les champs de type texte prennent en charge une chaîne de caractères.
  • DateLe champ est de type date. Les champs de date prennent en charge les valeurs de date et d'heure.
  • Date uniquementLe type de champ est Date uniquement. Les champs Date uniquement prennent en charge des valeurs de date sans valeurs d’heure.
  • Temps seulementLe type de champ est Temps seulement. Les champs de type heure uniquement prennent en charge des valeurs d’heure sans valeurs de date.
String
Type de domaine
(Facultatif)

Spécifie le type de domaine à créer.

  • Domaine de valeurs précodéesUn domaine de type précodé contenant un ensemble valide de valeurs pour un attribut est créé. Il s’agit de l’option par défaut. Par exemple, un domaine de valeurs précodées peut spécifier les valeurs valides des matériaux des canalisations, telles que CL - canalisation en fonte, DL - canalisation en fonte ductile ou ACP - canalisation en amiante-béton.
  • Domaine par plageUn domaine de type plage contenant une plage de valeurs valides pour un attribut numérique est créé. Par exemple, si les conduites d'eau de distribution ont une pression comprise entre 50 et 75 psi, un domaine par plage précise ces valeurs minimale et maximale.
String
Règle de division
(Facultatif)

Spécifie la règle de division à utiliser pour le domaine créé. Le comportement des valeurs d'un attribut lors du fractionnement d'une entité est contrôlé par sa règle de division.

  • Utiliser la valeur par défaut de l'attributLes attributs des deux entités résultantes utilisent la valeur attributaire par défaut de la classe d'entités ou du sous-type considéré.
  • Dupliquer les valeurs attributairesL'attribut des deux entités résultantes utilise une copie de la valeur attributaire de l'objet d'origine.
  • Utiliser le ratio géométriqueLes attributs des entités résultantes représentent un ratio de la valeur de l'entité d'origine. Ce ratio est basé sur la proportion dans laquelle la géométrie d'origine est divisée. Si la géométrie est divisée de manière égale, l'attribut de chaque nouvelle entité hérite de la moitié de la valeur attributaire de l'objet d'origine. La règle de ratio géométrique ne s'applique qu'aux domaines par plage.
String
Règle de combinaison
(Facultatif)

Spécifie la règle de combinaison à utiliser pour le 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é.

  • Utiliser la valeur par défaut de l'attributL'attribut de l'entité résultante utilise la valeur attributaire par défaut de la classe d'entités ou du sous-type considéré. Il s'agit de la seule règle de combinaison qui s'applique à des champs non numériques et à des domaines à valeur précodée.
  • Somme des valeursL'attribut de l'entité résultante utilise la somme des valeurs attributaires de l'entité d'origine. Cette règle ne s'applique qu'aux domaines par plage.
  • Moyenne des surfaces pondéréesL'attribut de l'entité résultante correspond à la moyenne pondérée des valeurs attributaires des entités d'origine. Cette moyenne repose sur la géométrie des entités de départ. Cette règle ne s'applique qu'aux domaines par plage.
String

Sortie obtenue

ÉtiquetteExplicationType de données
Espace de travail en entrée mis à jour

Espace de travail en entrée mis à jour.

Workspace

arcpy.management.CreateDomain(in_workspace, domain_name, {domain_description}, {field_type}, {domain_type}, {split_policy}, {merge_policy})
NomExplicationType 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)

Spécifie le type de domaine attributaire à créer. Les domaines attributaires représentent des règles qui décrivent les valeurs accepté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é.

  • SHORTLe champ est de type court. Les champs de type court prennent en charge les nombres entiers compris entre -32 768 et 32 767.
  • LONGLe champ est de type long. Les champs de type long prennent en charge les nombres entiers compris entre 2 147 483 648 et 2 147 483 647.
  • BIGINTEGERLe type de champ est Entier très grand. Les champs de type entier très grand prennent en charge les nombres entiers compris entre -(253) et 253.
  • FLOATLe champ est de type réel simple. Les champs de type réel simple prennent en charge les nombres fractionnaires compris entre -3,4E38 et 1,2E38.
  • DOUBLELe champ est de type réel double. Les champs de type réel double prennent en charge les nombres fractionnaires compris entre -2,2E308 et 1,8E308.
  • TEXTLe champ est de type texte. Les champs de type texte prennent en charge une chaîne de caractères.
  • DATELe champ est de type date. Les champs de date prennent en charge les valeurs de date et d'heure.
  • DATEONLYLe type de champ est Date uniquement. Les champs Date uniquement prennent en charge des valeurs de date sans valeurs d’heure.
  • TIMEONLYLe type de champ est Temps seulement. Les champs de type heure uniquement prennent en charge des valeurs d’heure sans valeurs de date.
String
domain_type
(Facultatif)

Spécifie le type de domaine à créer.

  • CODEDUn domaine de type précodé contenant un ensemble valide de valeurs pour un attribut est créé. Il s’agit de l’option par défaut. Par exemple, un domaine de valeurs précodées peut spécifier les valeurs valides des matériaux des canalisations, telles que CL - canalisation en fonte, DL - canalisation en fonte ductile ou ACP - canalisation en amiante-béton.
  • RANGEUn domaine de type plage contenant une plage de valeurs valides pour un attribut numérique est créé. Par exemple, si les conduites d'eau de distribution ont une pression comprise entre 50 et 75 psi, un domaine par plage précise ces valeurs minimale et maximale.
String
split_policy
(Facultatif)

Spécifie la règle de division à utiliser pour le domaine créé. Le comportement des valeurs d'un attribut lors du fractionnement d'une entité est contrôlé par sa règle de division.

  • DEFAULTLes attributs des deux entités résultantes utilisent la valeur attributaire par défaut de la classe d'entités ou du sous-type considéré.
  • DUPLICATEL'attribut des deux entités résultantes utilise une copie de la valeur attributaire de l'objet d'origine.
  • GEOMETRY_RATIOLes attributs des entités résultantes représentent un ratio de la valeur de l'entité d'origine. Ce ratio est basé sur la proportion dans laquelle la géométrie d'origine est divisée. Si la géométrie est divisée de manière égale, l'attribut de chaque nouvelle entité hérite de la moitié de la valeur attributaire de l'objet d'origine. La règle de ratio géométrique ne s'applique qu'aux domaines par plage.
String
merge_policy
(Facultatif)

Spécifie la règle de combinaison à utiliser pour le 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é.

  • DEFAULTL'attribut de l'entité résultante utilise la valeur attributaire par défaut de la classe d'entités ou du sous-type considéré. Il s'agit de la seule règle de combinaison qui s'applique à des champs non numériques et à des domaines à valeur précodée.
  • SUM_VALUESL'attribut de l'entité résultante utilise la somme des valeurs attributaires de l'entité d'origine. Cette règle ne s'applique qu'aux domaines par plage.
  • AREA_WEIGHTEDL'attribut de l'entité résultante correspond à la moyenne pondérée des valeurs attributaires des entités d'origine. Cette moyenne repose sur la géométrie des entités de départ. Cette règle ne s'applique qu'aux domaines par plage.
String

Sortie obtenue

NomExplicationType de données
out_workspace

Espace de travail en entrée mis à jour.

Workspace

Exemple de code

Exemple 1 d’utilisation de l’outil CreateDomain (fenêtre Python)

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.CreateDomain("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 processus visant à 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
 
# 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)

Rubriques connexes