Conditions préalables :
Avant de configurer une règle de réduction de noeud par priorité, vous devez vérifier que la classe d'entités de schéma de noeud requises pour l'exécution de la règle figure dans le jeu de données de schéma et est associée au modèle de diagramme schématique sur lequel cette règle doit être spécifiée.
Avant d'en savoir plus sur la configuration de la règle de réduction des noeuds par priorité, vous devez connaître certains termes spécifiques à cette règle :
- Les noeuds réduits sont des noeuds qui ne seront plus contenus au format graphique dans le diagramme final.
- Les noeuds cibles sont des noeuds ayant relié les noeuds avant leur réduction. Ils sont utilisés pour reconnecter les liens connectés à ces noeuds réduits, de façon à conserver la topologie des réseaux après la réduction.
- Pour un noeud réduit présentant N connexions (N - 1), des liens sont créés pour la connexion du noeud cible. Ces liens sont des superspans. Le lien qui a connecté le noeud réduit au noeud cible correspond au lien réduit dans le diagramme généré. Ce lien ne s'affiche pas physiquement dans le diagramme, mais ses propriétés associées sont indiquées sur chaque lien de superspan (N - 1).
Les règles de réduction de noeud par priorité vous permettent de générer des diagrammes schématiques après la suppression de tous les noeuds (ou de certains noeuds) implémentés par une classe d'entités de schéma de noeud donnée et après la reconnexion des liens ayant connecté ces noeuds supprimés à un nœud cible, afin de protéger la topologie.
Les noeuds réduits sont des noeuds implémentés par une classe d'entités de schéma de noeud qui n'apparaîtra pas dans le diagramme final. Vous pouvez choisir de réduire tous les noeuds implémentés par cette classe d'entités de schéma de noeud spécifiée, ou seulement une partie, filtrés selon les éléments suivants :
- Un filtre SQL qui est appliqué sur la table d'objets/classe d'entités réelle associée à cette classe d'entités de schéma des noeuds.
- Des contraintes reposant sur le nombre de connexions (autrement dit, des contraintes reposant sur le nombre de liens qui connectent ces noeuds).
- Un critère étendu développé spécifiquement pour déterminer quels noeuds doivent être réduits.
Cette règle peut par exemple réduire l'élément suivant :
- les noeuds présentant deux connexions pour la classe d'entités de schéma spécifiée ;
- les seuls noeuds implémentés par cette classe d'entités de schéma, qui correspondent à des valeurs de champ spécifiques ;
- les seuls noeuds sur lesquels les liens connectés correspondent à une valeur de propriété particulière détectée par un critère étendu ;
- les seuls noeuds pour lesquels tous les liens connectés présentent le même attribut spécifique pour les entités réelles associées et pour lesquels cet attribut a les mêmes valeurs pour toutes les entités associées ;
- les noeuds qui vérifient en même temps ces quatre types de critères.
Les étapes ci-dessous portent sur la configuration de la page des propriétés de la règle de réduction des noeuds par priorité qui s'affiche lorsque vous cliquez sur le bouton +++Rule Properties de la barre d'outils de l'onglet Règles, alors que la règle de réduction des noeuds par priorité est ajoutée à cet onglet. Pour en savoir plus sur l'ajout de tout nouvel élément de règle sur l'onglet Règles et afficher la page +++Rule Properties, consultez la rubrique Spécification d'une règle schématique sur un modèle de diagramme schématique.
Pour toute règle de réduction des noeuds par priorité qui vient d'être ajoutée sur l'onglet Règles, le fait de cliquer sur le bouton +++Rule Properties sur la barre d'outils de l'onglet Règles ouvre la boîte de dialogue +++Rule Properties comme suit :
- Saisissez une description de la règle dans le champ Description.
Cette description s'affiche sur 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 de schéma de noeud à réduire dans la liste déroulante +++Select the node schematic feature class to reduce.
Toutes les classes d'entités de schéma de noeud 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 noeuds schématiques reposant sur la classe d'entités de schéma de noeud sélectionnée sont configurés à des fins de réduction.
- Activez la case à cocher +++Keep vertices si vous souhaitez que les sommets affichés le long des liens connectés au noeud réduit et devant être conservés une fois les noeuds réduits.
Lorsque cette case à cocher est sélectionnée, un sommet est également affiché à l'emplacement du noeud réduit.
- Si vous souhaitez spécifier un filtre SQL sur la classe d'entités de schéma de noeud indiquée, de façon que seuls certains noeuds soient réduits, 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 de schéma de noeud 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 du noeud schématique candidat à la réduction. Ceux qui ne vérifient pas le filtre SQL ne seront pas réduits pendant l'exécution de règle.
- Cliquez sur le bouton Modifier situé à droite de la zone +++SQL Filter on associated feature/object class.
- Sur la section +++Node connection constraints for reduction, spécifiez si tout ou partie des noeuds candidats à la réduction doivent être réduits, selon le nombre de liens connectés :
- Choisissez +++No connection constraint si vous souhaitez que tous les noeuds schématiques candidats de la réduction soient réduits.
- Choisissez +++Connection constraint si vous souhaitez que tous les candidats à la réduction soient réduits en fonction du nombre de leurs connexions, c'est-à-dire en fonction du nombre de liens connectant ce noeud :
- Sélectionnez la case à cocher +++Reduce nodes with 0 connections si vous voulez que tous les noeuds sans lien connecté soient réduits (option sélectionnée par défaut).
- Sélectionnez la case à cocher +++Reduce nodes with 1 connection si vous souhaitez réduire tous les noeuds avec un seul lien connecté (option désélectionnée par défaut).
- Sélectionnez la case à cocher +++Reduce nodes with 2 connections si vous voulez que tous les noeuds avec deux liens connectés soient réduits (option sélectionnée par défaut).
- Sélectionnez la case à cocher +++Reduce nodes with > 2 connections si vous souhaitez réduire tous les noeuds avec au moins trois liens connectés (option désélectionnée par défaut).
- Pour identifier les noeuds à réduire, vous pouvez également spécifier une contrainte reposant sur un attribut de schéma configuré sur les liens schématiques relatifs aux noeuds à réduire, ou sur un champ stocké sur les entités/objets réels associés aux liens schématiques relatifs aux noeuds à réduire. Cette contrainte doit être spécifiée dans la section +++Connected link attribute :
- Sélectionnez la case à cocher +++Use attribute name.
- Saisissez le nom du champ ou de l'attribut de schéma qui sera utilisé.
Pour chaque lien schématique qui se connecte à un noeud candidat à la réduction, la règle recherche en premier un attribut de schéma présentant ce nom sur le lien schématique. Si aucun attribut de schéma présentant ce nom n'est détecté, la règle recherche un champ portant le même nom sur l'entité SIG associée au lien schématique. Ensuite, le noeud est uniquement réduit s'il existe des champs ou attributs détectés présentant la même valeur pour tous ses liens connectés.
- Vous pouvez aussi spécifier un critère étendu spécifique pour éliminer le noeud candidat à la réduction, via un filtrage. Pour utiliser ce critère, vous devez configurer les paramètres dans la section +++Extended criteria :
- 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 +++Node Reduction By Priority, un critère étendu correspond à un composant qui implémente l'interface esriSchematic.ISchematicNodeReductionExtended.
Le composant de critère étendu s'applique au noeud candidat à la réduction en fonction de l'ensemble des autres options de réduction spécifiées. Il détermine si chaque noeud doit être réduit après l'exécution de la règle. Il peut également identifier le noeud cible utilisé pour la reconnexion de tous les liens connectés au noeud réduit.
- Définissez de quelle manière la topologie du réseau sera conservée une fois que les noeuds spécifiés sont réduits. Cela implique l'identification des noeuds cibles utilisés pour la reconnexion des liens connectés aux noeuds réduits.
- Choisissez l'option +++Select the nearest node si vous souhaitez que le noeud le plus proche connecté au noeud réduit devienne le noeud cible. Dans ce cas, l'opération de détection de la cible dépend uniquement de la distance entre le noeud réduit et ses noeuds connectés. Le noeud le plus proche devient le noeud cible ; le processus ne tient pas compte de la classe d'entités de schéma sur laquelle ce noeud cible repose.
- Choisissez l'option +++Select the highest priority node si vous souhaitez que le noeud cible reliant les liens connectés aux noeuds réduits soit détecté en fonction des priorités définies pour les classes d'entités schématiques de noeud.
Dans ce cas, pour chaque noeud connecté au noeud réduit, la règle de réduction analyse les options spécifiées dans la section +++Target node priority options avant de détecter le bon noeud cible.
- Si, parmi tous les noeuds connectés au noeud réduit, un seul noeud appartient à la classe d'entités de schéma présentant la priorité la plus élevée, ce noeud devient le noeud cible.
- Par contre, si aucun noeud n'appartient à cette classe d'entités de schéma parmi tous les noeuds connectés au noeud réduit, la règle vérifie si un noeud connecté appartient à la classe d'entités de schéma présentant la priorité immédiatement inférieure, et ainsi de suite.
- Si, parmi tous les noeuds connectés au noeud réduit, plusieurs noeuds appartiennent à la classe d'entités de schéma présentant la plus haute priorité, la règle identifie le noeud cible d'après les options spécifiées dans la sous-section +++Multiple choices solving.
Les paramètres de la section +++Target node priority options sont des paramètres avancés.
- La zone +++Schematic feature class list ordered by decreasing priorities contient toutes les classes d'entités de schéma associées au modèle de diagramme, répertoriées par ordre de priorité (de la priorité la plus élevée à la priorité la plus faible). Pour modifier le niveau de priorité d'une classe d'entités de schéma, cliquez sur l'entrée de la classe d'entités de schéma, puis faites-la glisser vers un autre niveau de priorité dans la liste.
- La sous-section +++Multiple choices solving vous permet de spécifier de quelle manière la règle sélectionne le noeud cible, en cas de conflit entre plusieurs candidats (c'est-à-dire lorsque plusieurs noeuds appartiennent à la classe d'entités de schéma présentant la priorité la plus élevée).
Si vous sélectionnez la case à cocher +++Select the nearest node if conflict between two nodes with same priority, le noeud le plus proche du noeud réduit devient le noeud cible, si la classe d'entités de schéma associée aux noeuds en conflit est sélectionnée dans la section +++Check schematic feature classes for which the nearest node is selected when conflict between more than two nodes.
- Cliquez sur OK pour fermer la boîte de dialogue +++Rule Properties.