Domaines d'une géodatabase stockée dans PostgreSQL
Les domaines sont des règles qui s'appliquent aux champs d'une table métier. Ils imposent l'intégrité des données en n'autorisant que les valeurs spécifiées pour le domaine à entrer dans le champ. Les domaines sont définis par géodatabase et peuvent être appliqués à différentes classes d'entités, tables ou sous-types.
Vous pouvez définir deux types de domaines — les domaines par plage et les domaines à valeur précodée. Les domaines par plage ne peuvent être appliqués qu'aux champs numériques. Pour obtenir des explications sur les domaines, reportez-vous à la rubrique Présentation rapide des domaines attributaires.
Domaines dans ArcGIS Desktop
Les domaines d'une géodatabase sont accessibles dans la fenêtre Catalogue, par l'intermédiaire de la boîte de dialogue Propriétés de la base de données. Cliquez avec le bouton droit de la souris sur la géodatabase et sélectionnez Propriétés.
Dans l'exemple précédent, la liste de tous les domaines définis pour une géodatabase est affichée en haut de la boîte de dialogue. Le domaine Transportation_BridgeCategory est sélectionné dans la liste. Les valeurs affichées pour les sections Propriétés du domaine et Valeurs précodées correspondent à ce domaine. Comme l'indiquent les valeurs de la section Propriétés du domaine, le domaine Transportation_BridgeCategory est un domaine à valeurs précodées.
Lorsqu'un domaine est appliqué à un sous-type, il est répertorié dans l'onglet Sous-type de la boîte de dialogue Propriétés de la classe d'entités. Cliquez avec le bouton droit de la souris sur la classe d'entités et choisissez Propriétés.
Le domaine Transportation_BridgeCategory est appliqué au champ bridgecategory de la classe d'entités TransportationL.
Lorsque vous modifiez les attributs de la classe d'entités TransportationL dans ArcMap, vous ne pouvez dès lors entrer dans le champ bridgecategory que les codes spécifiés pour le domaine Transportation_BridgeCategory.
Domaines dans une base de données PostgreSQL
Dans la base de données, tous les domaines sont stockés dans la table système gdb_items. Un champ dans la table gdb_itemtypes identifie l'objet comme domaine.
Domaines dans un document d'espace de travail XML
Dans les documents d'espace de travail XML, les domaines sont délimités par une balise domain.
Voici un extrait d'un document d'espace de travail XML qui contient la définition du domaine de valeurs précodées Transportation_BridgeCategory :
<Domain xsi:type="esri:CodedValueDomain"> <DomainName>Transportation_BridgeCategory</DomainName> <FieldType>esriFieldTypeInteger</FieldType> <MergePolicy>esriMPTDefaultValue</MergePolicy> <SplitPolicy>esriSPTDuplicate</SplitPolicy> <Description /> <Owner>hbear</Owner> <CodedValues xsi:type="esri:ArrayOfCodedValue"> <CodedValue xsi:type="esri:CodedValue"> <Name>Unspecified</Name> <Code xsi:type="xs:int">0</Code> </CodedValue> <CodedValue xsi:type="esri:CodedValue"> <Name>Not Covered/Not Decked</Name> <Code xsi:type="xs:int">1</Code> </CodedValue> <CodedValue xsi:type="esri:CodedValue"> <Name>Covered/Not Decked</Name> <Code xsi:type="xs:int">2</Code> </CodedValue> <CodedValue xsi:type="esri:CodedValue"> <Name>Covered/Decked</Name> <Code xsi:type="xs:int">3</Code> </CodedValue> <CodedValue xsi:type="esri:CodedValue"> <Name>Not Covered/Decked</Name> <Code xsi:type="xs:int">4</Code> </CodedValue> <CodedValue xsi:type="esri:CodedValue"> <Name>Not Applicable</Name> <Code xsi:type="xs:int">99</Code> </CodedValue> </CodedValues> </Domain>
Les entrées pour un domaine par plage, RotAngle, dans un document d'espace de travail XML sont indiquées ici :
<Domain xsi:type="esri:RangeDomain"> <DomainName>RotAngle</DomainName> <FieldType>esriFieldTypeInteger</FieldType> <MergePolicy>esriMPTDefaultValue</MergePolicy> <SplitPolicy>esriSPTDuplicate</SplitPolicy> <Description>Valid rotation angles</Description> <Owner>hbear</Owner> <MaxValue xsi:type="xs:double">359</MaxValue> <MinValue xsi:type="xs:double">0</MinValue> </Domain>