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

Synthèse

Ajoute l’algorithme de mise en page de force dirigée à la liste des mises en page à appliquer automatiquement les unes à la suite des autres à la fin de la création des diagrammes selon un modèle donné. Cet outil prédéfinit également les paramètres de l’algorithme de mise en page de force dirigée pour tout diagramme en fonction de ce modèle.

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.

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

Attention :

Cet outil est un outil de configuration et d’administration.

Remarque :

Cet outil impacte la cohérence des diagrammes existants basés sur le modèle de diagramme en entrée. Tous les diagrammes existants demeurent incohérents et s’ouvrent avec une icône d’avertissement sur la cohérence Peut être incohérent jusqu’à leur mise à jour.

Utilisation

  • Cet outil n’est pas pris en charge en cas d’utilisation d’un service de réseau technique ou de réseau de traces. Vous devez utiliser un réseau de distribution ou un réseau de traces dans une géodatabase fichier ou mobile, ou une connexion de base de données à un réseau de distribution ou de traces dans une géodatabase d’entreprise. Lorsque vous utilisez une géodatabase d’entreprise, tenez compte des exigences suivantes :

  • Pour prédéfinir les paramètres d’algorithme de mise en page pour tout diagramme basé sur le modèle de diagramme, désactivez le paramètre Actif (is_active = "INACTIVE" dans Python).

  • Exécutez l’outil avec le paramètre Actif sélectionné (is_active = "ACTIVE" dans Python) si vous souhaitez que l’algorithme de mise en page soit ajouté à la liste des mises en page qui seront appliquées automatiquement les unes à la suite des autres à la fin de la génération des diagrammes selon le modèle de diagramme en entrée.

Paramètres

ÉtiquetteExplicationType de données
Réseau en entrée

Réseau de distribution ou de traces contenant le modèle de diagramme à modifier.

Utility Network; Trace Network
Modèle de diagramme en entrée

Nom du modèle de diagramme à modifier.

String
Activé

Détermine si l’algorithme de mise en page est automatiquement exécuté lors de la génération des diagrammes selon le modèle spécifié.

  • Sélectionné : l'algorithme de mise en page ajouté sera automatiquement exécuté lors de la génération de tout diagramme basé sur la valeur du paramètre Modèle de diagramme en entrée. Il s’agit de l’option par défaut.

    Les valeurs de paramètre spécifiées pour l’algorithme de mise en page sont utilisées pour exécuter la mise en page pendant la génération du diagramme. Elles sont également chargées par défaut lorsque l’algorithme doit être exécuté sur un diagramme selon le modèle en entrée.

  • Désactivé : toutes les valeurs de paramètre actuellement spécifiées pour l'algorithme de mise en page ajouté seront chargées par défaut lorsque l’algorithme doit être exécuté sur tout diagramme selon le modèle en entrée.

Boolean
Conserver la mise en page de conteneur
(Facultatif)

Précise comment l’algorithme traite les conteneurs :

  • Activé : l’algorithme de mise en page s’exécute sur le graphique supérieur du diagramme de telle sorte que les conteneurs sont préservés.
  • Désactivé : l’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
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

Sortie obtenue

ÉtiquetteExplicationType de données
Réseau en sortie

réseau de distribution ou réseau de traces mis à jour.

Réseau technique ; réseau de parcours
Modèle de diagramme en sortie

Nom du modèle de diagramme.

Chaîne

arcpy.nd.AddForceDirectedLayout(in_utility_network, template_name, is_active, {are_containers_preserved}, {iterations_number}, {repel_factor}, {degree_freedom}, {breakpoint_position}, {edge_display_type})
NomExplicationType de données
in_utility_network

Réseau de distribution ou de traces contenant le modèle de diagramme à modifier.

Utility Network; Trace Network
template_name

Nom du modèle de diagramme à modifier.

String
is_active

Détermine si l’algorithme de mise en page est automatiquement exécuté lors de la génération des diagrammes selon le modèle spécifié.

  • ACTIVEL'algorithme de mise en page ajouté sera automatiquement exécuté lors de la génération de tout diagramme basé sur la valeur du paramètre template_name. Il s’agit de l’option par défaut.Les valeurs de paramètre spécifiées pour l’algorithme de mise en page sont utilisées pour exécuter la mise en page pendant la génération du diagramme. Elles sont également chargées par défaut lorsque l’algorithme doit être exécuté sur un diagramme selon le modèle en entrée.
  • INACTIVEToutes les valeurs de paramètre actuellement spécifiées pour l'algorithme de mise en page ajouté seront chargées par défaut lorsque l’algorithme doit être exécuté sur tout diagramme selon le modèle en entrée.
Boolean
are_containers_preserved
(Facultatif)

Précise comment l’algorithme traite les conteneurs :

  • PRESERVE_CONTAINERSL’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
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

Sortie obtenue

NomExplicationType de données
out_utility_network

réseau de distribution ou réseau de traces mis à jour.

Réseau technique ; réseau de parcours
out_template_name

Nom du modèle de diagramme.

Chaîne

Exemple de code

Exemple d’utilisation de l’outil AddForceDirectedLayout (fenêtre Python)

Ajoutez l’algorithme Force Directed Layout (Mise en page de force dirigée) en tant que mise en page automatique au modèle MyTemplate1 associé au réseau en entrée.

import arcpy
input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "MyTemplate1"
arcpy.AddForceDirectedLayout_nd(input_Network, "MyTemplate1", "ACTIVE", 
                                "PRESERVE_CONTAINERS", 20, 1, "LOW", "25", 
                                "CURVED_EDGES")

Environnements

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

Informations de licence

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

Rubriques connexes