Agregar diseño Árbol inteligente (Diagrama de red)

Resumen

Agrega el algoritmo de diseño Árbol inteligente 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 de árbol inteligente para cualquier diagrama basado en esa plantilla.

Este algoritmo de diseño ordena jerárquicamente las entidades de diagrama y las coloca en un árbol inteligente de acuerdo con la dirección y las distancias de espaciado especificadas.

Más información acerca del algoritmo de diseño Árbol de línea inteligente

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.AddSmartTreeLayout(in_utility_network, template_name, is_active, {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}, {offset_absolute}, {offset_proportional})
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
tree_direction
(Opcional)

Especifica la dirección del árbol.

  • FROM_LEFT_TO_RIGHTEl árbol se dibuja de izquierda a derecha. Esta es la opción predeterminada.
  • FROM_RIGHT_TO_LEFTEl árbol se dibuja de derecha a izquierda.
  • FROM_BOTTOM_TO_TOPEl árbol se dibuja de abajo arriba.
  • FROM_TOP_TO_BOTTOMEl árbol se dibuja de arriba abajo.
String
is_unit_absolute
(Opcional)

Especifica cómo se interpretarán los parámetros que representan distancias.

  • ABSOLUTE_UNITEl algoritmo de diseño interpretará los valores de distancia como unidades lineales.
  • PROPORTIONAL_UNITEl algoritmo de diseño interpretará los valores de distancia como unidades relativas a una estimación de la media de los tamaños de los cruces de la extensión del diagrama actual. Esta es la opción predeterminada.
Boolean
subtree_absolute
(Opcional)

El espaciado entre dos subárboles vecinos; es decir, el espaciado entre los cruces de diagrama que se visualizan en perpendicular a la dirección del árbol inteligente y pertenecen a otro subárbol. El valor predeterminado está en las unidades del sistema de coordenadas del diagrama. Este parámetro solo se puede usar con unidades absolutas.

Linear Unit
subtree_proportional
(Opcional)

El espaciado entre dos subárboles vecinos; es decir, el espaciado entre los cruces de diagrama que se visualizan en perpendicular a la dirección del árbol inteligente y pertenecen a otro subárbol. El valor predeterminado es 2. Este parámetro solo se puede usar con unidades proporcionales.

Double
perpendicular_absolute
(Opcional)

El espaciado entre los cruces de diagrama que se visualizan en perpendicular a la dirección del árbol inteligente y pertenecen al mismo nivel de subárbol. El valor predeterminado es de 2 en las unidades del sistema de coordenadas del diagrama. Este parámetro solo se puede usar con unidades absolutas.

Linear Unit
perpendicular_proportional
(Opcional)

El espaciado entre los cruces de diagrama que se visualizan en perpendicular a la dirección del árbol inteligente y pertenecen al mismo nivel de subárbol. El valor predeterminado es 2. Este parámetro solo se puede usar con unidades proporcionales.

Double
along_absolute
(Opcional)

El espaciado entre los cruces de diagrama que se muestran a lo largo de la dirección del árbol inteligente. El valor predeterminado es de 2 en las unidades del sistema de coordenadas del diagrama. Este parámetro solo se puede usar con unidades absolutas.

Linear Unit
along_proportional
(Opcional)

El espaciado entre los cruces de diagrama que se muestran a lo largo de la dirección del árbol inteligente. El valor predeterminado es 2. Este parámetro solo se puede usar con unidades proporcionales.

Double
disjoined_graph_absolute
(Opcional)

El espaciado mínimo que separará las entidades pertenecientes a gráficos inconexos si el diagrama contiene este tipo de gráficos. Este parámetro se usa con unidades absolutas. El valor predeterminado es de 4 en las unidades del sistema de coordenadas del diagrama.

Linear Unit
disjoined_graph_proportional
(Opcional)

El espaciado mínimo que separará las entidades pertenecientes a gráficos inconexos si el diagrama contiene este tipo de gráficos. Este parámetro se usa con unidades proporcionales. El valor predeterminado es 4.

Double
are_edges_orthogonal
(Opcional)

Especifica cómo se visualizarán los ejes de diagrama relacionados con las ramas del árbol.

Heredado:

Este parámetro está obsoleto desde ArcGIS Pro 2.7. Se ignora sistemáticamente con independencia de su valor si se especifica el parámetro edge_display_type. Sin embargo, para mantener la compatibilidad con ArcGIS Pro 2.1, permanece habilitado si no se especifica el parámetro edge_display_type.

  • ORTHOGONAL_EDGESTodos los ejes del diagrama relacionados con las ramas del árbol se visualizarán con ángulos rectos.
  • SLANTED_EDGESTodos los ejes de diagrama relacionados con las ramas del árbol no se visualizarán con ángulos rectos. Esta es la opción predeterminada.
Boolean
breakpoint_position
(Opcional)

La posición relativa del punto de corte que se insertará a lo largo de los ejes de diagrama cuando Tipo de visualización del eje sea Ejes regulares (edge_display_type = "REGULAR_EDGES" en Python) o Tipo de visualización del eje sea Ejes ortogonales (edge_display_type = "ORTHOGONAL_EDGES" en Python). Se trata de un porcentaje de entre 0 y 100.

  • Con un valor de 0 en Posición relativa de punto de corte (%), el punto de corte se posiciona en la coordenada x del cruce de origen del eje y la coordenada y del cruce de destino del eje si se trata de un árbol horizontal. Se posiciona en la coordenada y del cruce de origen del eje y en la coordenada x del cruce de destino del eje si se trata de un árbol vertical.
  • Con un valor de 100 en Posición relativa de punto de corte (%), no se inserta ningún punto de corte en los ejes del diagrama; todos los ejes del diagrama se conectan directamente a sus cruces de origen y destino.
  • Con un valor N de entre 0 y 100 en Posición relativa de punto de corte (%), el punto de corte se posiciona en el N% de la longitud del segmento [XY], siendo X la coordenada x del cruce de origen del eje e Y la coordenada y del cruce de destino del eje si se trata de un árbol horizontal. Se posiciona en el N% de la longitud del segmento [YX], siendo Y la coordenada y del cruce de origen del eje y X la coordenada x del cruce de destino del eje si se trata de un árbol vertical.

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 es Ejes curvados (edge_display_type = "CURVED_EDGES" en Python). Se trata de un porcentaje de entre 15 y 40. Con un valor de N de Posición relativa del punto de corte (%) entre 15 y 40:

  • 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 posicionará en N % de la longitud del segmento [XY].
    • El segundo punto de inflexión se posicionará 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 posicionará en N % de la longitud del segmento [YX].
    • El segundo punto de inflexión se posicionará 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 real de la entidad de eje ni con el objeto de eje en la red.

Double
edge_display_type
(Opcional)

Especifica el tipo de visualización de los ejes de diagrama en relación con las ramas del árbol.

  • REGULAR_EDGESTodos los ejes de diagrama relacionados con las ramas del árbol no se visualizarán con ángulos rectos. Esta es la opción predeterminada.
  • ORTHOGONAL_EDGESTodos los ejes del diagrama relacionados con las ramas del árbol se visualizarán con ángulos rectos.
  • CURVED_EDGESTodos los ejes de diagrama relacionados con las ramas del árbol estarán curvados.
String
offset_absolute
(Opcional)

El desplazamiento utilizado para separar los segmentos superpuestos con is_unit_absolute = "ABSOLUTE_UNIT" y edge_display_type = "ORTHOGONAL_EDGES". El valor no puede rebasar el 10 por ciento del valor más pequeño especificado para los otros parámetros de espaciamiento. El valor predeterminado es 0.

Linear Unit
offset_proportional
(Opcional)

El desplazamiento utilizado para separar los segmentos superpuestos con is_unit_absolute = "PROPORTIONAL_UNIT" y edge_display_type = "ORTHOGONAL_EDGES". Es un valor doble que no puede rebasar el 10 por ciento del valor más pequeño especificado para los otros parámetros de espaciamiento. El valor predeterminado es 0.

Double

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 AddSmartTreeLayout (ventana de Python)

Este script de ejemplo agrega el algoritmo de diseño Árbol inteligente como diseño automático a la plantilla MyTemplate1 para una red dada.

import arcpy
input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "MyTemplate1"
arcpy.AddSmartTreeLayout_nd(input_Network, input_DiagramTemplate, 
                            "ACTIVE", "PRESERVE_CONTAINERS", 
                            "FROM_LEFT_TO_RIGHT", "PROPORTIONAL_UNIT", "", 8, 
                            "", 5, "", 5, "", 15, "", 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