Les domaines attributaires sont des règles qui décrivent les valeurs valides d'un type de champ, en fournissant une méthode pour assurer l'intégrité des données. Ils permettent de forcer les valeurs permises d'un attribut quelconque d'une table, ou d'une classe d'entités. Si les entités d'une classe d'entités ou les objets non spatiaux d'une table ont été regroupés par sous-type, différents domaines attributaires peuvent être définis pour chacun des sous-types. Un domaine est une déclaration des valeurs attributaires acceptables. Chaque fois qu'un domaine est associé à un champ attributaire, seules les valeurs dans ce domaine sont valides pour le champ. En d'autres termes, le champ n'accepte pas de valeur n'appartenant pas à ce domaine. L'utilisation des domaines assure l'intégrité des données en limitant le choix de valeurs pour un champ particulier.
Des domaines attributaires peuvent être partagés par des classes d'entités, des tables et des sous-types d'une géodatabase.
Par exemple, une classe d'entités conduites d'eau principales et une classe d'entités conduites d'eau secondaires peuvent utiliser le même domaine pour le champ type de sol.
Propriétés de domaine
Lors de la création ou de la modification d'un domaine, vous devez modifier les propriétés suivantes :
Nom et description
Lorsque vous créez un domaine, vous spécifiez un nom qui décrit le paramètre qu'il gère.
Les caractères ' et `, un guillemet simple et une apostrophe, ne doivent pas être utilisés lorsque vous nommez un domaine.
Une fois que vous avez créé un domaine, lorsque vous ouvrez la boîte de dialogue Propriétés pour une classe d'entités ou une table, le nom du domaine est affiché dans le menu déroulant de domaines lors de la sélection d'un domaine à associer à un champ donné. La description est une petite phrase qui décrit la fonction du domaine.
Type de champ
Le type de champ est le type de champ attributaire auquel le domaine peut être associé.
Le type de champ peut être défini sur l'un des types suivants :
- Court — Entiers courts
- Long — Entiers longs
- Réel simple — Nombres à virgule flottante à simple précision
- Réel double — Nombres à virgule flottante à double précision
- Texte (domaines Codés uniquement) — Caractères alphanumériques
- Date — Données de date et d'heure
Une fois que le type de champ est défini, le nom du domaine apparaît dans la liste déroulante de domaines pour tout champ de ce type dans la boîte de dialogue Propriétés.
Type de domaine
Lorsque vous créez un domaine, vous devez spécifier le type de domaine que vous souhaitez utiliser.
Il existe deux types de domaine attributaire :
- Domaines par plage — Un domaine par plage spécifie une plage de valeurs valides pour un attribut numérique. Lorsque vous créez un domaine par plage, vous entrez des valeurs valides minimale et maximale. Un domaine par plage peut être appliqué aux types d'attributs entier court, entier long, réel simple, réel double et date.
Par exemple, dans le cas des classes d'entités conduites d'eau principales, vous pourriez utiliser les sous-types suivants : acheminement, distribution et dérivation. La pression des conduites de distribution doit se situer entre 50 et 75 psi. Pour qu'un objet conduite principale de distribution soit valide, la valeur de pression saisie doit se situer entre 50 et 75 psi. La commande Valider les entités permet de valider les domaines de plage. Pour en savoir plus sur la mise à jour à l'aide de valeurs par défaut et de domaines attributaires.
- Domaine à valeur précodée — Un domaine à valeur précodée peut s'appliquer à tout type d'attribut - texte, numérique, date, etc. Les domaines à valeur précodée précisent un ensemble de valeurs valides pour un attribut.
Par exemple, des conduites d'eau peuvent être enterrées au-dessous de différents types de surfaces, comme indiqué par un champ attributaire GroundSurfaceType : pavage, gravier, sable ou aucun (pour les réseaux à ciel ouvert). Le domaine à valeur précodée inclut la valeur réelle stockée dans la base de données (par exemple, 1 pour pavage) et une description plus conviviale de la notion à laquelle cette valeur se réfère. La validation pour les domaines de valeurs précodées est effectuée en forçant l'utilisateur à sélectionner des valeurs de champ dans une liste déroulante.
Règles de division et de combinaison
Souvent, lorsque vous mettez à jour des données, une entité unique est divisée en deux, ou deux entités distinctes sont combinées ou fusionnées en une seule. Par exemple dans une base de données foncière, une parcelle peut être divisée en deux parcelles distinctes à la suite d'un changement de zonage. Ce type de rezonage peut également nécessiter la fusion de deux parcelles adjacentes en une seule.
Si les effets induits par ce type d'opérations de mise à jour sur la géométrie de l'entité sont aisément prévisibles, les conséquences sur les valeurs attributaires sont plus difficiles à cerner. Le comportement des valeurs d'un attribut lors du fractionnement d'une entité est contrôlé par sa règle de division. Lorsque deux entités sont fusionnées, la valeur d'un attribut est contrôlée par sa règle de combinaison.
Chaque domaine attributaire est associé à une règle de division et de combinaison. Lors d'un fractionnement ou d'une combinaison, la géodatabase se réfère à ces règles pour déterminer les valeurs à affecter à un attribut particulier dans les entités résultantes.
Règles de division
Un attribut d'une table, d'une classe d'entités ou d'un sous-type quelconque peut être associé à une des trois règles de division qui contrôlent sa valeur dans l'objet en sortie :
- Valeur par défaut — Les attributs des deux entités résultantes héritent de la valeur attributaire par défaut de la classe d'entités ou du sous-type considéré.
- Dupliquer — L'attribut des deux entités résultantes hérite d'une copie de la valeur attributaire de l'objet de départ.
- Ratio géométrique — Les attributs des entités résultantes représentent un ratio de la valeur de l'entité d'origine. Ce ratio est calculé en fonction du taux de division de la géométrie d'origine. 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 de départ. Les règles de ratio géométrique ne s'appliquent qu'aux domaines possédant des types de champs numériques.
Dans l'exemple ci-dessus, lorsqu'une parcelle est fractionnée, l'attribut Zone est automatiquement affecté en tant que propriété de la géométrie résultante. La valeur correspondant à l'attribut Propriétaire est copiée dans les nouveaux objets (dans cette base de données, fractionner une parcelle n'affecte pas son appartenance). La taxe foncière est calculée en fonction de la zone et de la taille d'une parcelle. Pour déterminer la taxe foncière correspondant à chacun des nouveaux objets, la règle de division répartit la taxe de la parcelle d'origine de manière proportionnelle entre les nouvelles entités selon leur surface.
Règles d'agrégation
Lors de la fusion de deux entités en une seule, des règles de combinaison contrôlent la valeur des attributs de l'entité résultante. Un attribut d'une classe d'entités ou d'un sous-type quelconque peut suivre l'une des trois règles de combinaison suivantes :
- Valeur par défaut - L'attribut de l'entité résultante hérite de 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 valeurs - L'attribut de l'entité résultante hérite de la somme des valeurs attributaires des entités d'origine.
- Géométrie pondérée - L'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.
Dans l'exemple ci-dessus, lorsque deux parcelles sont combinées, l'attribut Zone est automatiquement affecté en tant que propriété de la géométrie résultante. L'attribut Propriétaire est affecté de sa valeur par défaut. Comme la taxe foncière de l'entité fusionnée correspond à la somme des taxes des entités d'origine, la règle de combinaison qui lui est appliquée additionne les valeurs.
Notez que les règles de combinaison ne sont pas évaluées lors de la combinaison des entités dans l'Editeur. Cependant, les développeurs peuvent tirer parti des règles de combinaison lorsqu'ils écrivent leurs propres implémentations de combinaison.
Valeurs précodées
La section à valeurs précodées est disponible uniquement pour les domaines codés. Elle contient les valeurs précodées pour un domaine ainsi qu'une description associée de ce que cette valeur représente.
Le graphique suivant montre une méthode de l'utilisation d'un texte abrégé comme valeurs précodées pour représenter les catégories d'une entité. Dans cet exemple, les catégories d'occupation des sols (Categories of land use) sont représentées par des abréviations appropriées :
Lors de la saisie de valeurs précodées, le code doit correspondre au type de champ associé. Dans l'exemple ci-dessus, vous ne pourriez pas entrer de nombre entier pour représenter la catégorie Residential car le domaine LandUse est associé au type de données Texte.