Obtener nombres de plantilla de diagrama (Diagrama de red)

Resumen

Devuelve los nombres de todas las plantillas de diagrama relacionadas con una red.

Uso

  • Esta herramienta no se admite al trabajar con un servicio de redes de servicios. La capa de diagrama de red de entrada debe ser 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 de una geodatabase corporativa. Al trabajar con una geodatabase corporativa, la conexión se debe establecer como propietario de la red de servicios de la base de datos.

  • El elemento de datos de red especificado como parámetro de red de entrada debe ser 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 de una geodatabase corporativa.

  • Esta herramienta se utiliza principalmente para recorrer en bucle las plantillas de diagrama al trabajar con ModelBuilder o Python.

Sintaxis

GetDiagramTemplateNames(in_utility_network)
ParámetroExplicaciónTipo de datos
in_utility_network

La red de servicios o red de trazado con la que están relacionados los nombres de plantillas de diagrama.

Utility Network; Trace Network

Salida derivada

NombreExplicaciónTipo de datos
out_template_names

Los nombres de plantilla de diagrama de salida.

Cadena

Muestra de código

Ejemplo de GetDiagramTemplateNames (flujo de trabajo)

Exportar las definiciones de todas las plantillas de diagrama relacionadas con una red determinada.

La siguiente herramienta de script recupera la lista de plantillas de diagrama relacionadas con una red y exporta las definiciones de cada plantilla a archivos .ndbd y .ndld en una carpeta dada.

Para agregar y configurar esta herramienta de script, siga estos pasos:

  1. Copie el siguiente script en cualquier IDE de Python y guárdelo con la extensión .py.
  2. Inicie ArcGIS Pro con un nuevo proyecto vacío o un proyecto existente.
  3. Agregue una nueva caja de herramientas o, en el panel Catálogo, haga clic en Proyecto y use la caja de herramientas predeterminada del proyecto en Cajas de herramientas.
  4. Haga clic con el botón derecho en esta caja de herramientas y haga clic en Nuevo > Script.
  5. Complete la pestaña General de la siguiente forma:
    • Name: escriba ExportAllDiagramTemplateDefinitions.
    • Label: escriba Export All Diagram Template Definitions.
    • Script Filet: busque y seleccione el archivo .py creado en el paso 1.
  6. Complete la pestaña Parámetros de la siguiente forma:
    • Primer parámetro
      • Label: escriba Input Network.
      • Name: conserve el nombre predeterminado, Input_Network.
      • Data Type: seleccione Utility Network y Trace Network.
      • Type: seleccione Required.
      • Direction: seleccione Input.
    • Segundo parámetro
      • Label: escriba Definition Files Export Folder.
      • Name: conserve el nombre predeterminado, Definition_Files_Export_Folder.
      • Data Type: seleccione Folder.
      • Type: seleccione Required.
      • Direction: seleccione Input.
  7. Haga clic en Aceptar. El cuadro de diálogo Herramienta de script se cierra.

Para ejecutar la herramienta de script, siga estos pasos:

  1. Expanda la caja de herramientas y haga doble clic en la herramienta para abrirla.
  2. Especifique el parámetro Red de entrada, es decir, busque y seleccione el archivo de conexión de base de datos que hace referencia a la red de la que se desea exportar todas las definiciones de plantilla.
  3. Especifique el parámetro Carpeta de salida, es decir, busque y seleccione la carpeta de salida a la que desea exportar los archivos de definición de plantilla.
  4. Haga clic en Ejecutar.

# Name: ExportAllDiagramTemplateDefinitions.py
# Description: Export definitions of all diagram templates related to a given network.
# Import system modules
import arcpy
import os
import re
# Initialize variables
msgInputsErr = "Invalid arguments."
msgScriptErr = "Error during script operation."
ndbd_ext = ".ndbd"
ndld_ext = ".ndld"
# Set overwrite option
arcpy.env.overwriteOutput = True
# Decodes parameters
try:
    input_Network = arcpy.GetParameterAsText(0)
    input_Folder = arcpy.GetParameterAsText(1)
    if input_Network == "" or input_Folder == "" :
        raise Exception()
except Exception:
    arcpy.AddError(msgInputsErr)
    raise
# Main code
try:
    arcpy.AddMessage("Retrieving the templates list...")
    output_TemplateNames = arcpy.GetDiagramTemplateNames_nd(input_Network)
    templateNamesList = re.split(';', str(output_TemplateNames))
    arcpy.AddMessage("Looping on each template...")
    for template in templateNamesList:
        message = "Exporting template: {}".format(template)
        arcpy.AddMessage(message)
        arcpy.ExportDiagramTemplateDefinitions_nd(input_Network, template, 
                                                  os.path.join(input_Folder, template + ndbd_ext), 
                                                  os.path.join(input_Folder, template + ndld_ext))
except Exception:
    arcpy.AddError(msgScriptErr)
    raise

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

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

Temas relacionados