Application de la règle Dégrouper les entités associées
Avant de configurer une règle Dégrouper les entités associées, vous devez vérifier que la classe d'entités schématiques de lien requise pour l'exécution de la règle figure dans le jeu de données schématiques et qu'elle est associée au modèle de diagramme schématique sur lequel la règle doit être spécifiée.
La règle Dégrouper les entités associées vous permet de générer des diagrammes schématiques une fois que tous les liens, ou certains liens, implémentés par une classe d'entités schématiques donnée, ont été dégroupés en plusieurs liens en fonction de valeurs spécifiques. Ces valeurs peuvent être apportées par les liens d'origine eux-mêmes ou par tout autre attribut apporté par d'autres entités schématiques contenues dans le diagramme.
Un exemple typique est la façon dont les phases sont gérées dans un modèle de données électrique :
Les nouveaux liens créés sont des liens implémentés par la même classe d'entités schématiques de lien. Vous pouvez choisir de dégrouper tous les liens d'origine implémentés par cette classe d'entités schématiques ou seulement certains qui ont été filtrés via un filtre SQL appliqué à la classe d'entités/table d'objets réelle associée à la classe d'entités schématiques de lien.
Les valeurs spécifiques utilisées pour dégrouper les liens d'origine proviennent d'une des sources suivantes :
- Un champ particulier stocké dans la classe d'entités/classe d'objets associée à la classe d'entités schématiques de lien spécifiée.
- Un critère étendu, c'est-à-dire une fonction personnalisée qui renvoie la valeur spécifique pour chaque lien d'origine devant être dégroupé.
Ensuite, pour un lien schématique d'origine dont la valeur indique qu'il correspond à N connexions, N liens dégroupés vont être affichés dans le diagramme schématique obtenu. Le lien schématique d'origine sera conservé et (N - 1) nouveaux liens schématiques basés sur la même classe d'entités schématiques de lien seront créés. Les propriétés associées au lien schématique d'origine seront toutes reportées sur les (N - 1) nouveaux liens schématiques.
Pour les diagrammes schématiques reposant sur le générateur XML, si vous souhaitez exécuter la règle Dégrouper les entités associées à partir d'un champ particulier stocké dans la classe d'entités/objets associée, les éléments DataSourceName, UCID et UOID doivent tous être spécifiés dans le fichier XML en entrée afin que l'entité/objet associé au lien schématique à dégrouper soit clairement identifié.
Les étapes ci-dessous portent sur la configuration de la page des propriétés de la règle Dégrouper les entités associées qui s'affiche lorsque vous cliquez sur le bouton Propriétés de règle de la barre d'outils de l'onglet Règles, alors qu'une règle Dégrouper les entités associées est déjà ajoutée à cet onglet. Pour en savoir plus sur l'ajout de tout nouvel élément de règle sur cet onglet Règles et sur l'affichage de la page Propriétés de règle, reportez-vous à la rubrique Spécification d'une règle schématique sur un modèle de diagramme schématique.
Pour toute règle Dégrouper les entités associées qui vient d'être ajoutée dans l'onglet Règles, le fait de cliquer sur le bouton Propriétés de règle Propriétés de règle sur la barre d'outils de l'onglet Règles ouvre la boîte de dialogue Propriétés de règle comme suit :
-
Saisissez une description de la règle dans le champ Description.
Cette description s'affiche dans l'onglet Règles de l'élément de règle associé et pendant la génération et la mise à jour de diagrammes schématiques, pour informer les utilisateurs que la règle est exécutée.
-
Sélectionnez le nom de la classe d'entités schématiques de lien à laquelle la règle va s'appliquer dans la liste déroulante Sélectionner la classe d'entités schématiques de lien à développer.
Toutes les classes d'entités schématiques de lien associées au modèle de diagramme schématique sont disponibles dans cette liste déroulante.
A ce stade de la configuration de la règle, tous les liens implémentés par cette classe d'entités schématiques sélectionnée sont des candidats pour le dégroupement.
-
Si vous souhaitez spécifier un filtre SQL sur la classe d'entités schématiques de lien indiquée, de façon que seuls certains nœuds soient développés, procédez comme suit :
-
Cliquez sur le bouton Modifier situé à droite de la zone SQL Filter on associated feature/object class.
La boîte de dialogue Requête SQL s'ouvre
-
Créez l'expression SQL que vous souhaitez.
Le filtrage fonctionne sur les champs stockés sur la classe d'entités ou la classe d'objets associée à la classe d'entités schématiques de lien spécifiée.
-
Cliquez sur OK.
La boîte de dialogue Requête SQL se ferme et le filtre SQL vous venez de spécifier s'affiche automatiquement dans la zone SQL Filter on associated feature/object class.
Le filtre SQL spécifié permettra de déterminer le sous-ensemble des liens schématiques qui sont candidats au dégroupement. Ceux qui ne répondent pas au filtre SQL ne seront pas dégroupés pendant l'exécution de la règle.
-
Cliquez sur le bouton Modifier situé à droite de la zone SQL Filter on associated feature/object class.
-
Maintenant que vous avez configuré les liens qui vont être dégroupés, vous devez vous concentrer sur les valeurs qui détermineront le facteur de développement de ces liens. Cette configuration a lieu dans la section Sélectionner la source de valeur :
- Lorsque les valeurs sur lesquelles la règle va s'appuyer sont stockées dans un champ de la classe d'entités/classe d'objets associée à la classe d'entités schématiques de lien spécifiée, vous devez préciser ce champ :
- Sélectionnez l'option Sélectionner un champ.
-
Sélectionnez le champ souhaité dans la liste déroulante.
Tous les champs de la classe d'entités/table d'objets associée à la classe d'entités schématiques de lien sélectionnée sont disponibles dans cette liste.
- Vérifiez que la case Utiliser un nom de code lorsqu'un champ a un domaine de valeur de code est cochée si le champ sélectionné possède un domaine de valeurs précodées et que vous voulez que ces valeurs déterminent la façon dont les liens schématiques initiaux seront dégroupés au lieu d'utiliser les valeurs de champ directes.
- Lorsque les valeurs auxquelles la règle va s'appliquer sont renvoyées par des critères étendus spécifiques qui ont été spécialement développés dans ce but, procédez comme suit :
- Sélectionnez la case à cocher Use extended criteria.
- Sélectionnez les critères étendus souhaités dans la liste déroulante.
Pour la règle Dégrouper les entités associées, un critère étendu est un composant qui implémente l'interface esriSchematic.ISchematicExpandLinksByAttributeExtended.
Remarque :La liste déroulante Utiliser les critères étendus et l'option Utiliser les critères étendus dans la boîte de dialogue Développer les attributs de règle des liens demeurent indisponibles lorsqu'aucun critère de lien dégroupé personnalisé n'est enregistré sur l'ordinateur dans la catégorie des critères étendus des règles schématiques Esri.
Le composant des critères étendus s'appuie sur le candidat des liens schématiques pour le dégroupement et renvoie la valeur attendue pour chaque lien candidat. Ce type de critère étendu est généralement développé lorsque les valeurs sur lesquelles vous voulez appliquer la règle proviennent de champs qui sont stockés dans une autre classe d'entités/table d'objets que celle qui est associée à la classe d'entités schématiques de lien spécifiée, par exemple, lorsque ces valeurs sont stockées dans des champs sur les classes d'entités schématiques du nœud d'extrémité ou d'origine du lien.
-
Ensuite, dans la section Format de valeur, vous devez préciser le type des valeurs que la règle est censée traiter :
- Choisissez Concaténation des caractères pour une valeur de chaîne. Dans ce cas, chaque valeur est décodée caractère par caractère et le nombre de caractères détermine le nombre de liens qui seront créés pour chaque lien initial.
- Choisissez Ensemble de caractères avec séparateur = et indiquez le séparateur de caractères dans la zone de texte située à droite lorsque les informations renvoyées correspondent à une liste de valeurs, chaque valeur étant séparée par un caractère précis. Le nombre de valeurs trouvées dans la liste détermine le nombre de liens qui seront dégroupés.
- Choisissez Plage de valeurs avec séparateur = et indiquez le séparateur de caractères dans la zone de texte située à droite lorsque les informations contiennent deux valeurs entières, chaque valeur étant séparée par un caractère précis. La première valeur doit être inférieure à la deuxième valeur. Dans le cas contraire, le lien associé n'est pas dégroupé.
- Choisissez Valeur entière pour une valeur entière. Dans ce cas, les entiers déterminent le nombre de liens qui seront dégroupés pour chaque lien initial.
-
Ensuite, dans la zone Attribut cible, vous pouvez spécifier un attribut PropertySet schématique afin que la règle stocke la valeur décodée associée à chaque lien créé. Saisissez le nom de cet attribut schématique dans la zone Nom.
Par exemple, lorsque les valeurs auxquelles la règle s'applique sont une concaténation ou un jeu de caractères, le nombre de caractères décodés détermine le nombre de liens qui vont être créés, et chaque caractère décodé correspond à l'un de ces liens. Vous pouvez ensuite conserver les caractères décodés et les utiliser pour configurer des propriétés de couche particulières dans les liens dégroupés. La définition d'un attribut PropertySet dans la zone Nom entraîne la règle à stocker les valeurs décodées afin que vous puissiez les utiliser ultérieurement.
Si l'attribut spécifié n'existe pas encore pour la classe d'entités schématiques de lien développée, il est automatiquement créé lorsque la configuration de la règle est validée.
Astuce:L'attribut PropertySet doit être configuré de façon à être stocké sous forme de champ dans la classe d'entités schématiques de lien si vous voulez utiliser les valeurs décodées dans vos propriétés de couche.
Attention :Lorsque vous spécifiez un nom d'attribut qui existe déjà dans la classe d'entités schématiques de lien, faites bien attention à ne pas utiliser d'attribut PropertySet qui soit déjà utilisé dans un autre cadre, car les valeurs de cet attribut PropertySet seront remplacées pour tous les liens concernés par la règle au cours de son exécution.
Remarque :Il est facultatif de définir un attribut cible pour les valeurs décodées.
-
Décochez la case Afficher les liens n'ayant aucune valeur si vous ne souhaitez pas afficher dans le diagramme généré les liens pour lesquels aucune valeur autorisant la règle à fonctionner n'est définie.
Dans ce cas, seuls les liens qui ont été traités par la règle Dégrouper les entités associées apparaissent dans le diagramme généré.
- Cliquez sur OK pour fermer la boîte de dialogue Rule Properties.