Appliquer la mise en page de force dirigée (Diagramme de réseau)

Synthèse

Accentue les boucles contenues dans un diagramme de réseau.

Pour en savoir plus sur l’algorithme de mise en page de force dirigée

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 utilise une analogie physique pour dessiner des graphiques en identifiant un système de force au sein duquel il essaie localement de réduire l’énergie. Il recherche un état d’équilibre pour le système de force, c’est-à-dire un emplacement pour chaque jonction de diagramme où la force totale de chaque jonction est égale à zéro.

  • Étant donné que cet algorithme a tendance à mettre en lumière la présence de boucles dans un diagramme de réseau, il est souvent utilisé par les opérateurs qui gèrent des réseaux très maillés, tels que les réseaux d’assainissement, hydrographique et du gaz.

  • 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
Nombre d’itérations
(Facultatif)

Nombre d’itérations à traiter. La valeur par défaut est 20.

Long
Facteur de repoussement
(Facultatif)

Ajoute une distance entre les jonctions de diagramme qui sont proches. Plus le facteur de repoussement est élevé, plus la distance à ajouter entre les jonctions de diagramme qui se chevauchent pratiquement sera élevée. La valeur par défaut est 1.

Double
Degré de liberté
(Facultatif)

Spécifie la zone utilisée pour déplacer les jonctions du diagramme pendant chaque itération d’algorithme.

  • LégèreLa zone utilisée pour déplacer les jonctions du diagramme sera limitée. Il s’agit de l’option par défaut.
  • ÉlevéLa zone utilisée pour déplacer les jonctions du diagramme sera de grande taille.
  • MoyenneLa zone utilisée pour déplacer les jonctions du diagramme sera modérée.
String
Position relative du point de rupture (%)
(Facultatif)

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) (edges_display_type = "CURVED_EDGES" dans Python). Il s’agit d’un pourcentage entre 15 et 40 : 30 par défaut. Par exemple, avec une valeur de paramètre Break Point Relative Position (%) (Position relative du point de rupture (%)) égale à N entre 15 et 40, les affirmations suivantes sont vraies :

  • 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 est positionné à N % de la longueur du segment [XY]
    • Le deuxième point d’inflexion est 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 est positionné à N % de la longueur du segment [YX]
    • Le deuxième point d’inflexion est 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 pas trait à la topologie du tronçon d’entité du réseau ou d’objet.

Ce paramètre est ignoré lorsque le paramètre Edge Display Type (Type d’affichage de tronçon) est défini sur Regular edges (Tronçons normaux) (edges_display_type = "REGULAR_EDGES" dans Python).

Double
Type d’affichage des segments
(Facultatif)

Spécifie le type d’affichage des tronçons du diagramme.

  • Tronçons réguliersTous les tronçons de diagramme apparaissent sous forme de lignes droites. Il s’agit de l’option par défaut.
  • Tronçons courbesTous les tronçons de diagramme sont courbés.
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

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.ApplyForceDirectedLayout(in_network_diagram_layer, {are_containers_preserved}, {iterations_number}, {repel_factor}, {degree_freedom}, {breakpoint_position}, {edge_display_type}, {run_async})
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
iterations_number
(Facultatif)

Nombre d’itérations à traiter. La valeur par défaut est 20.

Long
repel_factor
(Facultatif)

Ajoute une distance entre les jonctions de diagramme qui sont proches. Plus le facteur de repoussement est élevé, plus la distance à ajouter entre les jonctions de diagramme qui se chevauchent pratiquement sera élevée. La valeur par défaut est 1.

Double
degree_freedom
(Facultatif)

Spécifie la zone utilisée pour déplacer les jonctions du diagramme pendant chaque itération d’algorithme.

  • LOWLa zone utilisée pour déplacer les jonctions du diagramme sera limitée. Il s’agit de l’option par défaut.
  • HIGHLa zone utilisée pour déplacer les jonctions du diagramme sera de grande taille.
  • MEDIUMLa zone utilisée pour déplacer les jonctions du diagramme sera modérée.
String
breakpoint_position
(Facultatif)

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) (edges_display_type = "CURVED_EDGES" dans Python). Il s’agit d’un pourcentage entre 15 et 40 : 30 par défaut. Par exemple, avec une valeur de paramètre Break Point Relative Position (%) (Position relative du point de rupture (%)) égale à N entre 15 et 40, les affirmations suivantes sont vraies :

  • 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 est positionné à N % de la longueur du segment [XY]
    • Le deuxième point d’inflexion est 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 est positionné à N % de la longueur du segment [YX]
    • Le deuxième point d’inflexion est 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 pas trait à la topologie du tronçon d’entité du réseau ou d’objet.

Ce paramètre est ignoré lorsque le paramètre Edge Display Type (Type d’affichage de tronçon) est défini sur Regular edges (Tronçons normaux) (edges_display_type = "REGULAR_EDGES" dans Python).

Double
edge_display_type
(Facultatif)

Spécifie le type d’affichage des tronçons du diagramme.

  • REGULAR_EDGESTous les tronçons de diagramme apparaissent sous forme de lignes droites. Il s’agit de l’option par défaut.
  • CURVED_EDGESTous les tronçons de diagramme sont courbés.
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

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 ApplyForceDirectedLayout (fenêtre Python)

Appliquez l’algorithme Mise en page de force dirigée au diagramme nommé Diagramme temporaire.

import arcpy
arcpy.ApplyForceDirectedLayout_nd("Temporary Diagram", "PRESERVE_CONTAINERS", 
                                  20, 1, "LOW", 25, "CURVED_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