Exercice 3 : création de sous-types et de domaines attributaires
L'un des avantages du stockage de données dans une géodatabase réside dans le fait que vous pouvez définir des règles relatives à la modification de ces données. Vous allez définir ces règles en créant un domaine attributaire pour les diamètres de dérivations ; en créant des sous-types pour la classe d'entités Laterals ; et en associant le nouveau domaine, les domaines existants et les valeurs par défaut à des champs pour chaque sous-type.
Les domaines attributaires représentent des règles qui décrivent les valeurs autorisées pour un type de champ. Plusieurs tables et classes d'entités peuvent partager des domaines attributaires stockés dans la base de données. Toutefois, les objets d'une classe d'entités ou d'une table ne doivent pas forcément tous partager les mêmes domaines attributaires.
Par exemple, dans un réseau de distribution d'eau, supposez que seules les dérivations d'eau des bornes d'incendie peuvent avoir une pression comprise entre 40 et 100 psi, tandis que les dérivations d'eau de service peuvent avoir une pression comprise entre 50 et 75 psi. Vous pouvez utiliser un domaine attributaire pour mettre en application cette restriction. Pour implémenter ce genre de règle de validation, vous n'avez pas à créer de classes d'entités distinctes pour les dérivations de borne d'incendie et de service, mais vous souhaitez peut-être distinguer ces types de dérivations d'eau afin d'établir un ensemble séparé de domaines et de valeurs par défaut. Pour y parvenir, vous pouvez vous aider de sous-types.
Pour en savoir plus sur les sous-types et les domaines attributaires, reportez-vous aux rubriques Présentation rapide des sous-types et Présentation rapide des domaines attributaires.
Création d'un domaine attributaire
Vous allez utiliser ArcCatalog pour créer un domaine attributaire de valeur précodée. Ce nouveau domaine décrira un ensemble de diamètres de conduites valides pour votre nouvelle classe d'entités Laterals.
-
Cliquez avec le bouton droit sur la géodatabase Montgomery, puis sélectionnez Propriétés.
La boîte de dialogue Propriétés de la base de données s'ouvre.
- Cliquez sur l'onglet Domaines.
- Cliquez sur le premier champ vide sous Nom du domaine et saisissez LatDiameter comme nom du nouveau domaine.
- Dans le champ Description, saisissez Valid diameters for water laterals.
-
Sous Propriétés du domaine, cliquez sur la flèche de la liste déroulante pour Type de champ, puis sur Réel simple.
Ce faisant, vous définissez le type de données de la colonne à laquelle le domaine peut être appliqué.
- Cliquez sur le premier champ vide dans la colonne Code sous Valeurs précodées : et saisissez 13.
- Cliquez sur le champ Description situé à côté et saisissez 13" comme description du code.
-
Ajoutez les valeurs précodées suivantes à la liste :
Code
Description
10
10"
8
8"
6
6"
4
4"
3
3"
2.25
2 1/4"
2
2"
1.5
1 1/2"
1.25
1 1/4"
1
1
0.75
3/4"
-9
Inconnu
-
Cliquez sur OK pour fermer la boîte de dialogue Propriétés de la base de données.
Ce domaine a été ajouté à la géodatabase.
Vous allez maintenant spécifier les propriétés du domaine. Ces propriétés comprennent le type de champ auquel ce domaine peut être associé, le type de domaine dont il s'agit (plage ou valeur précodée), les règles de combinaison et de division, ainsi que les valeurs valides pour le domaine.
Un domaine par plage décrit une plage valide de valeurs numériques, alors qu'un domaine de valeurs précodées décrit un ensemble de valeurs valides. Dans ce cas, vous allez créer un domaine de valeurs précodées.
Tous les domaines comportent également des règles de combinaison et de division. Lors de la combinaison ou de la division d'une entité, ArcGIS se réfère à ces règles pour déterminer les valeurs à affecter à un attribut particulier dans les entités résultantes.
Saisissez les valeurs ou codes valides pour le domaine de valeurs précodées, et pour chaque code, fournissez une description conviviale. Comme vous le verrez ultérieurement dans le didacticiel, ArcMap utilise cette description conviviale, et non le code, pour les valeurs des champs associées à des domaines de valeurs précodées.
Création de sous-types et association de domaines et de valeurs par défaut
Maintenant, vous allez créer des sous-types pour la classe d'entités Laterals et associer des domaines et des valeurs par défaut aux champs pour chaque sous-type. Lorsque vous créez des sous-types, les entités de dérivation d'eau ne doivent pas nécessairement toutes avoir les mêmes domaines, valeurs par défaut ou (comme vous le verrez ultérieurement dans le didacticiel) règles de connectivité.
- Double-cliquez sur le jeu de classes d'entités Water dans la géodatabase Montgomery afin de l'ouvrir.
-
Cliquez avec le bouton droit sur la classe d'entités Laterals et sélectionnez Propriétés.
La boîte de dialogue Propriétés de la classe d'entités s'ouvre.
- Cliquez sur l'onglet Sous-types.
- Cliquez sur la flèche de la liste déroulante Champ de sous-type, puis sur TYPECODE.
- Cliquez sur le champ Description à côté du code de sous-type 0 sous Sous-types et saisissez Unknown comme description.
- Sous Domaines et valeurs par défaut, cliquez sur le champ Valeur par défaut à côté du champ H_CONFID et saisissez 0 comme valeur par défaut.
- Saisissez 0 pour la valeur par défaut des champs DEPTH_BURI et RECORDED_L.
- Pour les champs WNM_TYPE et PWTYPE, saisissez WUNKNOWN comme valeurs par défaut.
- Cliquez sur le champ Valeur par défaut à côté du champ DIAMETER et saisissez 8 comme valeur par défaut.
-
Cliquez sur la liste déroulante Domaine pour le champ DIAMETER, puis sur LatDiameter pour le définir comme domaine attributaire par défaut pour le sous-type Unknown.
- Cliquez sur le champ MATERIAL et saisissez DI pour la valeur par défaut.
-
Cliquez sur Material dans la liste déroulante Domaine pour le champ MATERIAL.
-
Ajoutez les sous-types suivants :
Code de sous-type
Description
1
Hydrant laterals (dérivations de borne d'incendie)
2
Fire laterals (dérivations de protection contre les incendies)
3
Service laterals (dérivations de service)
- Définissez les valeurs par défaut et les domaines pour les champs DEPTH_BURI, RECORDED_L, DIAMETER et MATERIAL pour chacun de ces nouveaux sous-types, comme vous l'avez fait pour le sous-type Unknown.
- Pour le sous-type Hydrant laterals, définissez les champs WNM_TYPE et PWTYPE sur WHYDLIN.
- Pour le sous-type Fire laterals, définissez les valeurs par défaut des champs WNM_TYPE et PWTYPE sur WFIRELIN.
- Pour le sous-type Service laterals, définissez les valeurs par défaut des champs WNM_TYPE et PWTYPE sur WSERVICE.
-
Cliquez sur la flèche de la liste déroulante Sous-type par défaut, puis sur Service laterals pour le définir comme sous-type par défaut.
- Cliquez sur OK.
Vous allez maintenant spécifier le champ de sous-type pour cette classe d'entités. Le champ de sous-type contient les valeurs qui identifient le sous-type auquel appartient une entité particulière.
Vous allez maintenant ajouter les codes de sous-type et leurs descriptions.
Lorsque vous ajoutez un nouveau sous-type, vous affectez des valeurs par défaut et des domaines à certains de ses champs.
Lors de l'ajout de nouvelles entités à une classe d'entités avec des sous-types dans l'environnement de mise à jour d'ArcMap, si vous ne spécifiez pas de sous-type particulier, le sous-type par défaut est affecté à la nouvelle entité. Une fois que vous avez ajouté tous les sous-types pour cette classe d'entités, vous pouvez définir le sous-type par défaut parmi ceux que vous avez saisis.
Vous avez maintenant ajouté un comportement à la géodatabase en ajoutant des domaines et en créant des sous-types.
Vous allez à présent ajouter un comportement supplémentaire à la géodatabase en créant des relations. Reportez-vous à l'Exercice 4 : création de relations entre des objets.