Règles de réduction des noeuds en fonctionnement par priorité
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.
Remarque :Cette option est adaptée pour les diagrammes qui ne sont pas mis en page et que les entités schématiques affichent au niveau des coordonnées géographiques, et pour lesquels les liens schématiques s'affichent avec les sommets initiaux. Pour les diagrammes mis en page et mis à jour après la configuration d'une règle de réduction du noeud d'itinéraire, aucun sommet n'est ajouté à l'emplacement du noeud réduit, pour conserver la mise en page enregistrée.
-
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).
Remarque :Plusieurs zones peuvent être activées. Par exemple, si vous sélectionnez l'option +++Reduce nodes with 0 connections et l'option +++Reduce nodes with 2 connections (par défaut), cela vous permet de réduire les noeuds déconnectés et ceux qui présentent deux liens connectés lors de l'exécution de la même règle.
-
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.
Remarque :La liste déroulante +++Use extended criteria et la case à cocher +++Use extended criteria de la boîte de dialogue des attributs de la règle +++Node reduction by priority rule attributes ne sont pas disponibles lorsqu'aucun critère de réduction étendu personnalisé n'est enregistré sur l'ordinateur.
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.Attention :
Les distances entre les noeuds sont calculées en fonction de l'emplacement géographique de ces derniers. Si vous mettez à jour un diagramme après avoir spécifié une nouvelle règle de réduction des noeuds par priorité, n'oubliez pas que l'emplacement des noeuds que vous voyez dans le diagramme avant sa mise à jour ne correspond peut-être pas à leur emplacement géographique. Dans ce cas, si les noeuds contenus dans votre diagramme schématique ne sont pas affichés au niveau de leurs coordonnées géographiques, il se peut que la cible détectée n'apparaisse pas en tant que noeud le plus proche.
- 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.Remarque :
Lorsqu'une classe d'entités de schéma de lien est antérieure, la règle prend en compte les liens connectés au noeud réduit, et non les noeuds connectés à ce dernier. Le noeud cible correspond à l'origine ou au noeud d'extrémité du lien implémenté par cette classe d'entités de schéma de lien connectée au noeud réduit.
- 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.
Remarque :Si ce n'est pas le cas, le noeud à réduire ne sera pas réduit.
Par exemple, si deux noeuds de la classe d'entités de schéma X présentant la priorité la plus élevée se connectent au même noeud à réduire, ces noeuds X peuvent tous les deux devenir le noeud cible. Dans ce cas, si la case à cocher +++Select the nearest node if conflict between two nodes with same priority est sélectionnée, ainsi que la case à cocher de la classe d'entités de schéma associée aux noeuds X, dans la liste +++Check schematic feature classes for which the nearest node is selected when conflict between more than two nodes, le noeud X le plus proche du noeud réduit devient le noeud cible. Si l'option +++Select the nearest node if conflict between two nodes with same priority est sélectionnée, mais que la case à cocher de la classe d'entités de schéma reliée à X n'est pas activée dans la liste +++Check schematic feature classes for which the nearest node is selected when conflict between more than two nodes, la règle de réduction par priorité n'essaie pas de résoudre le conflit des noeuds X susceptibles de devenir le noeud cible et le noeud à réduire n'est pas réduit.
- 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.
- Cliquez sur OK pour fermer la boîte de dialogue +++Rule Properties.