Appliquer la mise en page d’arborescence dynamique (Diagramme de réseau)

Synthèse

Organise les entités du diagramme de façon hiérarchisée et les place dans une arborescence dynamique.

Pour en savoir plus sur l’algorithme de mise en page d’arborescence dynamique

Attention :

Si vous avez une session de modification ouverte, vous devez enregistrer vos modifications avant d’exécuter cet outil. Cela garantit que le diagramme reflète les derniers changements apportés à la topologie de réseau dans la base de données. Si vous n'enregistrez pas vos modifications, celles-ci ne seront pas indiquées dans le diagramme.

Remarque :

Chaque algorithme de mise en page inclut des valeurs de paramètre par défaut. Les valeurs de paramètre par défaut seront utilisées sauf mention contraire. Si le diagramme de réseau en entrée est basé sur un modèle pour lequel cette mise en page a été configurée avec une autre valeur de paramètre, cette valeur est utilisée en lieu et place.

Utilisation

  • Cet outil n’est pas pris en charge si vous utilisez une connexion de base de données à un réseau technique ou à un réseau de traces dans une géodatabase d’entreprise. Vous devez recourir au service du réseau de distribution ou du réseau de traces publié associé, ou à un réseau de distribution ou de traces dans une géodatabase fichier ou mobile.

  • La couche de diagramme de réseau en entrée doit provenir soit d’un réseau de distribution ou de traces dans une géodatabase fichier ou mobile, soit d’un service de diagramme de réseau.

  • Cet algorithme de mise en page organise hiérarchiquement les entités du diagramme et les place dans une arborescence dynamique selon la direction et les distances d’espacement spécifiées.

  • Lorsqu’une jonction racine est spécifiée dans le diagramme, l’algorithme de mise en page d’arborescence dynamique génère une arborescence dynamique depuis cette jonction.

    Lorsque plusieurs jonctions racine sont spécifiées dans le diagramme, elles sont alignées le long du même axe perpendiculairement à la direction de l’arborescence et s’affichent comme différents points de début pour une branche de l’arborescence du diagramme.

    Si aucune jonction racine n’est spécifiée, l’algorithme identifie la jonction du diagramme associée avec le plus petit index de topologie du réseau et utilise cette jonction comme jonction racine.

  • Pensez à appliquer la mise en page en mode asynchrone sur le serveur lors de l’exploitation de très grands diagrammes.

Paramètres

ÉtiquetteExplicationType de données
Couche de diagramme de réseau en entrée

Diagramme de réseau auquel la mise en page sera appliquée.

Diagram Layer
Conserver la mise en page de conteneur
(Facultatif)

Précise comment l’algorithme traite les conteneurs :

  • Activé - L’algorithme de mise en page sera appliqué au graphique supérieur du diagramme de façon à préserver les conteneurs.
  • Désactivé - L’algorithme de mise en page sera appliqué aux entités de contenu et aux entités autres que de contenu dans le diagramme. Il s’agit de l’option par défaut.

Boolean
Direction de l’arborescence
(Facultatif)

Spécifie la direction de l’arborescence.

  • De gauche à droiteL’arborescence sera dessinée de gauche à droite. Il s’agit de l’option par défaut.
  • De droite à gaucheL’arborescence sera dessinée de droite à gauche.
  • De bas en hautL’arborescence sera dessinée de bas en haut.
  • De haut en basL’arborescence sera dessinée de haut en bas.
String
Valeurs d’espacement interprétées comme des valeurs absolues dans le système de coordonnées du diagramme
(Facultatif)

Définit la façon dont les paramètres représentant les distances sont interprétés.

  • Activé - L’algorithme de mise en page interprétera les valeurs de distance comme des unités linéaires.
  • Désactivé - L’algorithme de mise en page interprétera les valeurs de distance comme des unités relatives d’une estimation de la moyenne des tailles de jonction dans l’étendue actuelle du diagramme. Il s’agit de l’option par défaut.

Boolean
Entre les sous-arborescences
(Facultatif)

Espace entre deux sous-arborescences voisines ; autrement dit, espace entre les jonctions du diagramme qui sont perpendiculaires à la direction de l’arborescence dynamique et qui appartiennent à une autre sous-arborescence. La valeur par défaut est dans les unités du système de coordonnées du diagramme. Ce paramètre peut uniquement être utilisé avec les unités absolues.

Linear Unit
Entre les sous-arborescences
(Facultatif)

Espace entre deux sous-arborescences voisines ; autrement dit, espace entre les jonctions du diagramme qui sont perpendiculaires à la direction de l’arborescence dynamique et qui appartiennent à une autre sous-arborescence. La valeur par défaut est 2. Ce paramètre peut uniquement être utilisé avec les unités proportionnelles.

Double
Entre les jonctions et perpendiculaire à la direction
(Facultatif)

Espace entre les jonctions du diagramme qui sont affichées perpendiculairement à la direction de l’arborescence dynamique et qui appartiennent au même niveau de sous-arborescence. La valeur par défaut est 2 dans les unités du système de coordonnées du diagramme. Ce paramètre peut uniquement être utilisé avec les unités absolues.

Linear Unit
Entre les jonctions et perpendiculaire à la direction
(Facultatif)

Espace entre les jonctions du diagramme qui sont affichées perpendiculairement à la direction de l’arborescence dynamique et qui appartiennent au même niveau de sous-arborescence. La valeur par défaut est 2. Ce paramètre peut uniquement être utilisé avec les unités proportionnelles.

Double
Entre les jonctions et dans la direction
(Facultatif)

Espace entre les jonctions du diagramme qui sont affichées le long de l’arborescence dynamique. La valeur par défaut est 2 dans les unités du système de coordonnées du diagramme. Ce paramètre peut uniquement être utilisé avec les unités absolues.

Linear Unit
Entre les jonctions et dans la direction
(Facultatif)

Espace entre les jonctions du diagramme qui sont affichées le long de l’arborescence dynamique. La valeur par défaut est 2. Ce paramètre peut uniquement être utilisé avec les unités proportionnelles.

Double
Entre des diagrammes disjoints
(Facultatif)

Espace minimum qui sépare les entités appartenant aux graphiques disjoints lorsque le diagramme contient de tels graphiques. Ce paramètre est utilisé avec des unités absolues. La valeur par défaut est 4 dans les unités du système de coordonnées du diagramme.

Linear Unit
Entre des diagrammes disjoints
(Facultatif)

Espace minimum qui sépare les entités appartenant aux graphiques disjoints lorsque le diagramme contient de tels graphiques. Ce paramètre est utilisé avec des unités proportionnelles. La valeur par défaut est 4.

Double
Afficher les tronçons orthogonalement
(Facultatif)
Boolean
Position relative du point de rupture (%)
(Facultatif)

Position relative du point de rupture insérée dans les tronçons de diagramme lorsque Type d’affichage des tronçons a la valeur Tronçons réguliers (edge_display_type = "REGULAR_EDGES" dans Python) ouq que Type d’affichage des tronçons a la valeur Tronçons orthogonaux (edge_display_type = "ORTHOGONAL_EDGES" dans Python). Il s'agit d'un pourcentage compris entre 0 et 100.

  • Avec une valeur de la position relative du point de rupture (%) égale à 0, le point de rupture est positionné à la coordonnée x de la jonction De du tronçon et à la coordonnée y de la jonction À du tronçon, pour une arborescence horizontale. Il est positionné à la coordonnée y de la jonction De du tronçon et à la coordonnée x de la jonction À du tronçon, pour une arborescence verticale.
  • Avec une valeur de la position relative du point de rupture (%) égale à 100, aucun point de rupture n’est inséré sur les tronçons de diagramme ; chaque tronçon de diagramme se connecte directement à ses jonctions De et A.
  • Avec une valeur de la position relative du point de rupture (%) égale à N compris entre 0 et 100, le point de rupture est positionné à N % de la longueur du segment [XY], X étant la coordonnée x de la jonction De du tronçon et Y étant la coordonnée y de la jonction À du tronçon, pour une arborescence horizontale. Il est positionné à N % de la longueur du segment [YX], Y étant la coordonnée y de la jonction De du tronçon et X, la coordonnée x de la jonction À du tronçon, pour une arborescence verticale.

Position relative de deux points d’inflexion insérés le long des tronçons du diagramme pour calculer la géométrie des tronçons courbés lorsque Type d’affichage des tronçons a la valeur Tronçons courbés (edge_display_type = "CURVED_EDGES" dans Python). Il s’agit d’un pourcentage compris entre 15 et 40. Avec une valeur de la position relative du point de rupture (%) égale à N compris entre 15 et 40 :

  • X étant la coordonnée x de la jonction De du tronçon et Y étant la coordonnée y de la jonction À du tronçon, pour une arborescence horizontale :
    • Le premier point d’inflexion sera positionné à N % de la longueur du segment [XY].
    • Le second point d’inflexion sera positionné à (100 - N) % de la longueur du segment [XY].
  • Y étant la coordonnée y de la jonction De du tronçon et X étant la coordonnée x de la jonction À du tronçon, pour une arborescence verticale :
    • Le premier point d’inflexion sera positionné à N % de la longueur du segment [YX].
    • Le second point d’inflexion sera positionné à (100 - N) % de la longueur du segment [XY].

Remarque :

Le concept des jonctions De et À ci-dessus est relatif à la direction de l’arborescence ; il n’a rien à voir avec la topologie réelle de l’entité de tronçon ou de l’objet tronçon figurant dans le réseau.

Double
Type d’affichage des tronçons
(Facultatif)

Détermine le type d’affichage des tronçons de diagramme associés aux branches de l’arborescence.

  • Tronçons réguliersTous les tronçons de diagramme associés aux branches de l’arborescence ne s’afficheront pas avec les angles appropriés. Il s’agit de l’option par défaut.
  • Tronçons orthogonauxTous les tronçons de diagramme associés aux branches de l’arborescence s'afficheront avec les angles appropriés.
  • Tronçons courbesTous les tronçons de diagramme associés aux branches de l’arborescence s'afficheront sous forme de courbes.
String
Exécuter en mode asynchrone sur le serveur
(Facultatif)

Détermine si l’algorithme de mise en page s’exécute en mode asynchrone ou synchrone sur le serveur.

  • Activé : l’algorithme de mise en page s’exécute en mode asynchrone sur le serveur. Cette option consacre les ressources du serveur à l’exécution de l’algorithme de mise en page avec un délai d’expiration plus long. L’exécution asynchrone est conseillée pour les mises en page chronophages et susceptibles de dépasser le délai d’expiration du serveur (par exemple, la mise en page Tronçons de superposition partielle) et s’appliquant à de grands diagrammes (comptant plus de 25 000 entités).
  • Désactivé : détermine si l’algorithme de mise en page s’exécute en mode synchrone sur le serveur. Cette opération peut ne pas aboutir si elle dépasse le délai d’expiration par défaut du service (600 secondes). Il s’agit de l’option par défaut.

Boolean
Décalage absolu
(Facultatif)

Décalage utilisé pour séparer des segments superposés lorsque vous utilisez des unités absolues et que l’option Type d’affichage des tronçons est définie sur Tronçons orthogonaux. La valeur ne peut pas dépasser 10 pour cent de la valeur la plus faible spécifiée pour les autres paramètres d’espacement. La valeur par défaut est 0.

Linear Unit
Décalage proportionnel
(Facultatif)

Décalage utilisé pour séparer des segments superposés lorsque vous utilisez des unités proportionnelles et que l’option Type d’affichage des tronçons est définie sur Tronçons orthogonaux. Il s’agit d’une valeur double qui ne peut dépasser 10 pour cent de la valeur la plus faible spécifiée pour les autres paramètres d’espacement. La valeur par défaut est 0.

Double

Sortie obtenue

ÉtiquetteExplicationType de données
Diagramme de réseau en sortie

La couche de diagramme de réseau mise à jour.

Couche de diagramme

arcpy.nd.ApplySmartTreeLayout(in_network_diagram_layer, {are_containers_preserved}, {tree_direction}, {is_unit_absolute}, {subtree_absolute}, {subtree_proportional}, {perpendicular_absolute}, {perpendicular_proportional}, {along_absolute}, {along_proportional}, {disjoined_graph_absolute}, {disjoined_graph_proportional}, {are_edges_orthogonal}, {breakpoint_position}, {edge_display_type}, {run_async}, {offset_absolute}, {offset_proportional})
NomExplicationType de données
in_network_diagram_layer

Diagramme de réseau auquel la mise en page sera appliquée.

Diagram Layer
are_containers_preserved
(Facultatif)

Précise comment l’algorithme traite les conteneurs :

  • PRESERVE_CONTAINERSL’algorithme de mise en page sera appliqué au graphique supérieur du diagramme de façon à préserver les conteneurs.
  • IGNORE_CONTAINERSL’algorithme de mise en page sera appliqué aux entités de contenu et aux entités autres que de contenu dans le diagramme. Il s’agit de l’option par défaut.
Boolean
tree_direction
(Facultatif)

Spécifie la direction de l’arborescence.

  • FROM_LEFT_TO_RIGHTL’arborescence sera dessinée de gauche à droite. Il s’agit de l’option par défaut.
  • FROM_RIGHT_TO_LEFTL’arborescence sera dessinée de droite à gauche.
  • FROM_BOTTOM_TO_TOPL’arborescence sera dessinée de bas en haut.
  • FROM_TOP_TO_BOTTOML’arborescence sera dessinée de haut en bas.
String
is_unit_absolute
(Facultatif)

Définit la façon dont les paramètres représentant les distances sont interprétés.

  • ABSOLUTE_UNITL’algorithme de mise en page interprétera les valeurs de distance comme des unités linéaires.
  • PROPORTIONAL_UNITL’algorithme de mise en page interprétera les valeurs de distance comme des unités relatives d’une estimation de la moyenne des tailles de jonction dans l’étendue actuelle du diagramme. Il s’agit de l’option par défaut.
Boolean
subtree_absolute
(Facultatif)

Espace entre deux sous-arborescences voisines ; autrement dit, espace entre les jonctions du diagramme qui sont perpendiculaires à la direction de l’arborescence dynamique et qui appartiennent à une autre sous-arborescence. La valeur par défaut est dans les unités du système de coordonnées du diagramme. Ce paramètre peut uniquement être utilisé avec les unités absolues.

Linear Unit
subtree_proportional
(Facultatif)

Espace entre deux sous-arborescences voisines ; autrement dit, espace entre les jonctions du diagramme qui sont perpendiculaires à la direction de l’arborescence dynamique et qui appartiennent à une autre sous-arborescence. La valeur par défaut est 2. Ce paramètre peut uniquement être utilisé avec les unités proportionnelles.

Double
perpendicular_absolute
(Facultatif)

Espace entre les jonctions du diagramme qui sont affichées perpendiculairement à la direction de l’arborescence dynamique et qui appartiennent au même niveau de sous-arborescence. La valeur par défaut est 2 dans les unités du système de coordonnées du diagramme. Ce paramètre peut uniquement être utilisé avec les unités absolues.

Linear Unit
perpendicular_proportional
(Facultatif)

Espace entre les jonctions du diagramme qui sont affichées perpendiculairement à la direction de l’arborescence dynamique et qui appartiennent au même niveau de sous-arborescence. La valeur par défaut est 2. Ce paramètre peut uniquement être utilisé avec les unités proportionnelles.

Double
along_absolute
(Facultatif)

Espace entre les jonctions du diagramme qui sont affichées le long de l’arborescence dynamique. La valeur par défaut est 2 dans les unités du système de coordonnées du diagramme. Ce paramètre peut uniquement être utilisé avec les unités absolues.

Linear Unit
along_proportional
(Facultatif)

Espace entre les jonctions du diagramme qui sont affichées le long de l’arborescence dynamique. La valeur par défaut est 2. Ce paramètre peut uniquement être utilisé avec les unités proportionnelles.

Double
disjoined_graph_absolute
(Facultatif)

Espace minimum qui sépare les entités appartenant aux graphiques disjoints lorsque le diagramme contient de tels graphiques. Ce paramètre est utilisé avec des unités absolues. La valeur par défaut est 4 dans les unités du système de coordonnées du diagramme.

Linear Unit
disjoined_graph_proportional
(Facultatif)

Espace minimum qui sépare les entités appartenant aux graphiques disjoints lorsque le diagramme contient de tels graphiques. Ce paramètre est utilisé avec des unités proportionnelles. La valeur par défaut est 4.

Double
are_edges_orthogonal
(Facultatif)

Définit la façon dont les tronçons de diagramme associés aux branches de l’arborescence sont affichés.

Héritage :

Ce paramètre est obsolète dans ArcGIS Pro 3.1. Il est systématiquement ignoré quelle que soit sa valeur lorsque le paramètre edge_display_type est spécifié. Toutefois, pour préserver la compatibilité avec ArcGIS Pro 2.1, ce paramètre reste activé si le paramètre edge_display_type n’est pas spécifié.

  • ORTHOGONAL_EDGESTous les tronçons de diagramme associés aux branches de l’arborescence s'afficheront avec les angles appropriés.
  • SLANTED_EDGESTous les tronçons de diagramme associés aux branches de l’arborescence ne s’afficheront pas avec les angles appropriés. Il s’agit de l’option par défaut.
Boolean
breakpoint_position
(Facultatif)

Position relative du point de rupture insérée dans les tronçons de diagramme lorsque Type d’affichage des tronçons a la valeur Tronçons réguliers (edge_display_type = "REGULAR_EDGES" dans Python) ouq que Type d’affichage des tronçons a la valeur Tronçons orthogonaux (edge_display_type = "ORTHOGONAL_EDGES" dans Python). Il s'agit d'un pourcentage compris entre 0 et 100.

  • Avec une valeur de la position relative du point de rupture (%) égale à 0, le point de rupture est positionné à la coordonnée x de la jonction De du tronçon et à la coordonnée y de la jonction À du tronçon, pour une arborescence horizontale. Il est positionné à la coordonnée y de la jonction De du tronçon et à la coordonnée x de la jonction À du tronçon, pour une arborescence verticale.
  • Avec une valeur de la position relative du point de rupture (%) égale à 100, aucun point de rupture n’est inséré sur les tronçons de diagramme ; chaque tronçon de diagramme se connecte directement à ses jonctions De et A.
  • Avec une valeur de la position relative du point de rupture (%) égale à N compris entre 0 et 100, le point de rupture est positionné à N % de la longueur du segment [XY], X étant la coordonnée x de la jonction De du tronçon et Y étant la coordonnée y de la jonction À du tronçon, pour une arborescence horizontale. Il est positionné à N % de la longueur du segment [YX], Y étant la coordonnée y de la jonction De du tronçon et X, la coordonnée x de la jonction À du tronçon, pour une arborescence verticale.

Position relative de deux points d’inflexion insérés le long des tronçons du diagramme pour calculer la géométrie des tronçons courbés lorsque Type d’affichage des tronçons a la valeur Tronçons courbés (edge_display_type = "CURVED_EDGES" dans Python). Il s’agit d’un pourcentage compris entre 15 et 40. Avec une valeur de la position relative du point de rupture (%) égale à N compris entre 15 et 40 :

  • X étant la coordonnée x de la jonction De du tronçon et Y étant la coordonnée y de la jonction À du tronçon, pour une arborescence horizontale :
    • Le premier point d’inflexion sera positionné à N % de la longueur du segment [XY].
    • Le second point d’inflexion sera positionné à (100 - N) % de la longueur du segment [XY].
  • Y étant la coordonnée y de la jonction De du tronçon et X étant la coordonnée x de la jonction À du tronçon, pour une arborescence verticale :
    • Le premier point d’inflexion sera positionné à N % de la longueur du segment [YX].
    • Le second point d’inflexion sera positionné à (100 - N) % de la longueur du segment [XY].

Remarque :

Le concept des jonctions De et À ci-dessus est relatif à la direction de l’arborescence ; il n’a rien à voir avec la topologie réelle de l’entité de tronçon ou de l’objet tronçon figurant dans le réseau.

Double
edge_display_type
(Facultatif)

Détermine le type d’affichage des tronçons de diagramme associés aux branches de l’arborescence.

  • REGULAR_EDGESTous les tronçons de diagramme associés aux branches de l’arborescence ne s’afficheront pas avec les angles appropriés. Il s’agit de l’option par défaut.
  • ORTHOGONAL_EDGESTous les tronçons de diagramme associés aux branches de l’arborescence s'afficheront avec les angles appropriés.
  • CURVED_EDGESTous les tronçons de diagramme associés aux branches de l’arborescence s'afficheront sous forme de courbes.
String
run_async
(Facultatif)

Détermine si l’algorithme de mise en page s’exécute en mode asynchrone ou synchrone sur le serveur.

  • RUN_ASYNCHRONOUSLYL’algorithme de mise en page s’exécute en mode asynchrone sur le serveur. Cette option consacre les ressources du serveur à l’exécution de l’algorithme de mise en page avec un délai d’expiration plus long. L’exécution asynchrone est conseillée pour les mises en page chronophages et susceptibles de dépasser le délai d’expiration du serveur (par exemple, la mise en page Tronçons de superposition partielle) et s’appliquant à de grands diagrammes (comptant plus de 25 000 entités).
  • RUN_SYNCHRONOUSLYL’algorithme de mise en page s’exécutera en mode synchrone sur le serveur. Cette opération peut ne pas aboutir si elle dépasse le délai d’expiration par défaut du service (600 secondes). Il s’agit de l’option par défaut.
Boolean
offset_absolute
(Facultatif)

Décalage utilisé pour séparer des segments superposés lorsque is_unit_absolute = "ABSOLUTE_UNIT" et edge_display_type = "ORTHOGONAL_EDGES" sont utilisés. La valeur ne peut pas dépasser 10 pour cent de la valeur la plus faible spécifiée pour les autres paramètres d’espacement. La valeur par défaut est 0.

Linear Unit
offset_proportional
(Facultatif)

Décalage utilisé pour séparer des segments superposés lorsque is_unit_absolute = "PROPORTIONAL_UNIT" et edge_display_type = "ORTHOGONAL_EDGES" sont utilisés. Il s’agit d’une valeur double qui ne peut dépasser 10 pour cent de la valeur la plus faible spécifiée pour les autres paramètres d’espacement. La valeur par défaut est 0.

Double

Sortie obtenue

NomExplicationType de données
out_network_diagram_layer

La couche de diagramme de réseau mise à jour.

Couche de diagramme

Exemple de code

Exemple d'utilisation de l'outil ApplySmartTreeLayout (fenêtre Python)

Cet exemple applique l’algorithme de mise en page d’arborescence dynamique au diagramme nommé « Temporary Diagram » (Diagramme temporaire).

import arcpy
arcpy.ApplySmartTreeLayout_nd("Temporary Diagram", "PRESERVE_CONTAINERS", 
                              "FROM_LEFT_TO_RIGHT", "PROPORTIONAL_UNIT", 
                              "", 8, "", 5, "", 5, "", 15, "", 70, 
                              "REGULAR_EDGES", "RUN_SYNCHRONOUSLY")

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.

Informations de licence

  • Basic: Non
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes