标注 | 说明 | 数据类型 |
输入网络
| 与逻辑示意图模板名称相关的 公共设施网络或追踪网络。 | Utility Network; Trace Network |
派生输出
标注 | 说明 | 数据类型 |
输出逻辑示意图模板 | 输出逻辑示意图模板名称。 | 字符串 |
返回与网络相关的所有逻辑示意图模板的名称。
系统在使用公共设施网络或追踪网络服务时不支持此工具。您必须使用文件地理数据库中的公共设施网络或追踪网络,或者企业级地理数据库中公共设施网络或追踪网络的数据库连接。使用企业级地理数据库时,需要满足以下要求:
此工具在 ModelBuilder 或 Python 中运行时,主要用于针对逻辑示意图模板进行循环。
标注 | 说明 | 数据类型 |
输入网络
| 与逻辑示意图模板名称相关的 公共设施网络或追踪网络。 | Utility Network; Trace Network |
标注 | 说明 | 数据类型 |
输出逻辑示意图模板 | 输出逻辑示意图模板名称。 | 字符串 |
arcpy.nd.GetDiagramTemplateNames(in_utility_network)
名称 | 说明 | 数据类型 |
in_utility_network | 与逻辑示意图模板名称相关的 公共设施网络或追踪网络。 | Utility Network; Trace Network |
名称 | 说明 | 数据类型 |
out_template_names | 输出逻辑示意图模板名称。 | 字符串 |
导出与给定网络相关的所有逻辑示意图模板的定义。
下列脚本工具用于检索与网络相关的逻辑示意图模板列表,以及将每个模板的定义导出为给定文件夹中的 .ndbd 和 .ndld 文件。
要添加和配置此脚本工具,请完成以下步骤:
要运行脚本工具,请完成以下步骤:
# 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