Agregar diseño Dirigido por fuerza (Diagrama de red)

Resumen

Agrega el algoritmo de diseño Dirigido por fuerza a la lista de diseños que se encadenarán automáticamente al final de la generación de diagramas en función de una plantilla determinada. Esta herramienta también predetermina los parámetros del algoritmo Diseño dirigido por fuerza para cualquier diagrama basado en esa plantilla.

Este algoritmo de diseño utiliza una analogía física para dibujar gráficos identificando un sistema de fuerza en el que intenta minimizar localmente la energía. Busca un estado de equilibrio del sistema de fuerza, una posición para cada cruce de diagrama en el que la fuerza total de cada cruce es cero.

Más información acerca del algoritmo de diseño Dirigido por fuerza

Precaución:

Esta herramienta es una herramienta de configuración y administración.

Nota:

Esta herramienta afecta a la coherencia de cualquier diagrama existente basado en la plantilla de diagrama de entrada. Todos los diagramas existentes se vuelven incoherentes y permanecen abiertos con un icono de advertencia de coherencia Podría ser incoherente hasta que se actualicen.

Uso

  • Esta herramienta no se admite al trabajar con un servicio de red de servicios o red de trazado. Debe utilizar una red de servicios o red de trazado de una geodatabase de archivos o una conexión de base de datos a una red de servicios o red de trazado de una geodatabase corporativa. Al trabajar con una geodatabase corporativa, existen estos requisitos:

  • Para predeterminar los parámetros de algoritmo de diseño para cualquier diagrama pasado en una plantilla de diagrama, desactive el parámetro Activo (is_active = "INACTIVE" en Python).

  • Ejecute la herramienta con Activo activado (el valor predeterminado) (is_active = "ACTIVE" en Python) si desea que el algoritmo de diseño se agregue a la lista de diseños que se encadenarán automáticamente al final de la generación del diagrama basándose en la plantilla de diagrama de entrada.

Sintaxis

arcpy.nd.AddForceDirectedLayout(in_utility_network, template_name, is_active, {are_containers_preserved}, {iterations_number}, {repel_factor}, {degree_freedom}, {breakpoint_position}, {edge_display_type})
ParámetroExplicaciónTipo de datos
in_utility_network

La red de servicios o red de trazado que contiene la plantilla de diagrama que se desea modificar.

Utility Network; Trace Network
template_name

El nombre de la plantilla de diagrama que se desea modificar.

String
is_active

Indica si el algoritmo de diseño se ejecutará automáticamente al generar diagramas basados en la plantilla especificada.

  • ACTIVEEl algoritmo de diseño agregado se ejecutará automáticamente durante la generación de cualquier diagrama que se base en el parámetro template_name. Esta es la opción predeterminada.Los valores de parámetro especificados para el algoritmo de diseño se utilizan para ejecutar el diseño durante la generación de diagramas. También se cargan de forma predeterminada cuando se va a ejecutar el algoritmo en cualquier diagrama basado en la plantilla de entrada.
  • INACTIVETodos los valores de parámetros especificados actualmente para el algoritmo de diseño agregado se cargarán de forma predeterminada cuando se va a ejecutar el algoritmo en cualquier diagrama basado en la plantilla de entrada.
Boolean
are_containers_preserved
(Opcional)

Especifica cómo procesará el algoritmo los contenedores.

  • PRESERVE_CONTAINERS El algoritmo de diseño se ejecutará en el gráfico superior del diagrama, de modo que los contenedores se conservan.
  • IGNORE_CONTAINERSEl algoritmo de diseño se ejecutará tanto en las entidades de contenido como en las entidades sin contenido del diagrama. Esta es la opción predeterminada.
Boolean
iterations_number
(Opcional)

El número de iteraciones que se procesarán. El valor predeterminado es 20.

Long
repel_factor
(Opcional)

Aumenta la distancia entre los cruces de diagrama cercanos entre sí. Cuanto mayor es el factor rechazo, mayor es la distancia que se agregará entre los cruces del diagrama que casi se superponen. El valor predeterminado es 1.

Double
degree_freedom
(Opcional)

Especifica el área utilizada para mover los cruces de diagrama durante cada iteración del algoritmo.

  • LOWEl área utilizada para mover los cruces de diagrama será limitada. Esta es la opción predeterminada.
  • HIGHEl área utilizada para mover los cruces de diagrama será grande.
  • MEDIUMEl área utilizada para mover los cruces de diagrama será moderada.
String
breakpoint_position
(Opcional)

La posición relativa de los dos puntos de inflexión que se insertarán a lo largo de los ejes de diagrama para calcular la geometría de los ejes curvados si el Tipo de visualización del eje está definido como Ejes curvados (edges_display_type = "CURVED_EDGES" en Python). Se trata de un porcentaje de entre 15 y 40; el predeterminado es 30. Por ejemplo, con un valor de N del parámetro Posición relativa del punto de corte (%) entre 15 y 40, se cumple lo siguiente:

  • Siendo X la coordenada x del cruce de origen del eje e Y siendo la coordenada y del cruce de destino del eje para un árbol horizontal:
    • El primer punto de inflexión se colocará en N % de la longitud del segmento [XY]
    • El segundo punto de inflexión se colocará en (100 - N) % de la longitud del segmento [XY]
  • Siendo Y la coordenada y del cruce de origen del eje y X siendo la coordenada x del cruce de destino del eje para un árbol vertical:
    • El primer punto de inflexión se colocará en N % de la longitud del segmento [YX]
    • El segundo punto de inflexión se colocará en (100 - N) % de la longitud del segmento [XY]

Nota:

El concepto de los cruces de origen y destino mencionado anteriormente es relativo a la dirección del árbol; no guarda relación alguna con la topología del eje del objeto o la entidad de red.

Este parámetro se ignora si el parámetro Tipo de visualización del eje está definido como Ejes regulares (edges_display_type = "REGULAR_EDGES" en Python).

Double
edge_display_type
(Opcional)

Especifica el tipo de visualización de los ejes de diagrama.

  • REGULAR_EDGESTodos los ejes de diagrama se visualizan como líneas rectas. Esta es la opción predeterminada.
  • CURVED_EDGESTodos los ejes de diagrama son curvados.
String

Salida derivada

NombreExplicaciónTipo de datos
out_utility_network

La red de servicios o red de trazado actualizada.

Red de servicios; red de trazado
out_template_name

El nombre de la plantilla de diagrama.

Cadena

Muestra de código

Ejemplo de AddForceDirectedLayout (ventana de Python)

Agregar el algoritmo Diseño dirigido por fuerza como diseño automático a la plantilla MyTemplate1 en relación con la red de entrada.

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")

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: No
  • Standard: Sí
  • Advanced: Sí

Temas relacionados