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

Résumé

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 ne 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 technique ou réseau de traces publié associé, ou à un réseau technique ou à un réseau de traces dans une géodatabase fichier.

  • La couche de diagramme de réseau en entrée doit provenir soit d’un réseau technique ou d’un réseau de traces dans une géodatabase fichier, 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.

Syntaxe

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})
ParamètreExplicationType 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_CONTAINERS L’algorithme de mise en page s’exécute sur le graphique supérieur du diagramme de façon à préserver les conteneurs.
  • IGNORE_CONTAINERSL’algorithme de mise en page s’exécute sur les entités de contenu et sans 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 toutes les valeurs de distance comme des unités linéaires.
  • PROPORTIONAL_UNITL’algorithme de mise en page interprète toute valeur de distance comme des unités relatives en une estimation de la moyenne pour les 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 déconseillé dans ArcGIS Pro 2.7. 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)

La position relative du point de rupture insérée dans les tronçons de diagramme lorsque Edge Display Type (Type d’affichage des tronçons) est défini sur Regular edges (Tronçons réguliers) (edge_display_type = "REGULAR_EDGES" dans Python) ou que Edge Display Type (Type d’affichage des tronçons) est défini sur Orthogonal edges (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.

La position relative de deux points d’inflexion est insérée le long des tronçons du diagramme pour calculer la géométrie des tronçons lorsque Edge Display Type (Type d’affichage de tronçon) est défini sur Curved edges (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 lors de l’exécution de mises en page chronophages et susceptibles de dépasser le délai d’expiration du serveur (par exemple, Partial Overlapping Edges [Tronçons de superposition partielle]) et de l’application à de grands diagrammes (comportant plus de 25 000 entités).
  • RUN_SYNCHRONOUSLYL’algorithme de mise en page s’exécutera en mode synchrone sur le serveur. Peut échouer si son exécution dépasse le délai d’expiration du service, qui est défini, par défaut, sur 600 secondes. Il s’agit de l’option par défaut.
Boolean
offset_absolute
(Facultatif)

Décalage permettant de 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 permettant de 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 dérivée

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