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 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:
- El valor del parámetro Red de entrada debe provenir de una conexión de base de datos establecida como propietaria de la red de servicios de la base de datos o propietaria de la red de trazado de la base de datos.
- La cuenta del portal de ArcGIS Enterprise conectada debe ser la propietaria de la red de servicios del portal o la propietaria de la red de trazado del portal.
- Esta herramienta se debe conectar a la versión predeterminada, que se espera que sea pública y no protegida.
Esta herramienta se utiliza principalmente para recorrer en bucle las plantillas de diagrama al trabajar con ModelBuilder o Python.
Sintaxis
arcpy.nd.GetDiagramTemplateNames(in_utility_network)
Parámetro | Explicación | Tipo 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
Nombre | Explicación | Tipo de datos |
out_template_names | Los nombres de plantilla de diagrama de salida. | Cadena |
Muestra de código
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:
- Copie el siguiente script en cualquier IDE de Python y guárdelo con la extensión .py.
- Inicie ArcGIS Pro con un nuevo proyecto vacío o un proyecto existente.
- 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.
- Haga clic con el botón derecho en esta caja de herramientas y haga clic en Nuevo > Script.
- 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.
- 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.
- Primer parámetro
- Haga clic en Aceptar. El cuadro de diálogo Herramienta de script se cierra.
Para ejecutar la herramienta de script, siga estos pasos:
- Expanda la caja de herramientas y haga doble clic en la herramienta para abrirla.
- 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.
- 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.
- 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
Información de licenciamiento
- Basic: No
- Standard: Sí
- Advanced: Sí