获取逻辑示意图模板名称 (网络逻辑示意图)

摘要

返回与网络相关的所有逻辑示意图模板的名称。

使用情况

  • 系统在使用公共设施网络或追踪网络服务时不支持此工具。您必须使用文件地理数据库中的公共设施网络或追踪网络,或者企业级地理数据库中公共设施网络或追踪网络的数据库连接。使用企业级地理数据库时,需要满足以下要求:

  • 此工具在 ModelBuilder 或 Python 中运行时,主要用于针对逻辑示意图模板进行循环。

参数

标注说明数据类型
输入网络

与逻辑示意图模板名称相关的 公共设施网络或追踪网络

Utility Network; Trace Network

派生输出

标注说明数据类型
输出逻辑示意图模板

输出逻辑示意图模板名称。

字符串

arcpy.nd.GetDiagramTemplateNames(in_utility_network)
名称说明数据类型
in_utility_network

与逻辑示意图模板名称相关的 公共设施网络或追踪网络

Utility Network; Trace Network

派生输出

名称说明数据类型
out_template_names

输出逻辑示意图模板名称。

字符串

代码示例

GetDiagramTemplateNames 示例(工作流)

导出与给定网络相关的所有逻辑示意图模板的定义。

下列脚本工具用于检索与网络相关的逻辑示意图模板列表,以及将每个模板的定义导出为给定文件夹中的 .ndbd.ndld 文件。

要添加和配置此脚本工具,请完成以下步骤:

  1. 将以下脚本复制到 Python IDE 中,并以 .py 扩展名进行保存。
  2. 以新的空白工程或现有工程启动 ArcGIS Pro
  3. 添加新工具箱,或在目录窗格中,单击工程,然后使用工具箱下的默认工程工具箱。
  4. 右键单击此工具箱,然后单击新建 > 脚本
  5. 完成常规选项卡,如下所示:
    • 名称 - 输入 ExportAllDiagramTemplateDefinitions
    • 标注:输入导出所有逻辑示意图模板定义
    • 脚本文件:浏览至步骤 1 中创建的 .py 文件并选择。
  6. 完成参数选项卡,如下所示:
    • 第一个参数
      • 标注 - 输入输入网络
      • 名称 - 保留默认名称 Input_Network
      • 数据类型 - 选择公共设施网络追踪网络
      • 类型 - 选择必填
      • 方向 - 选择输入
    • 第二个参数
      • 标注 - 输入 Definition Files Export Folder
      • 名称 - 保留默认名称 Definition_Files_Export_Folder
      • 数据类型 - 选择文件夹
      • 类型 - 选择必填
      • 方向 - 选择输入
  7. 单击确定脚本工具对话框随即关闭。

要运行脚本工具,请完成以下步骤:

  1. 展开工具箱并双击该工具将其打开。
  2. 指定输入网络参数 - 即浏览至引用要从中导出所有模板定义的网络的数据库连接文件并选择。
  3. 指定输出文件夹参数 - 即浏览至要从中导出模板定义文件的输出文件夹并选择。
  4. 单击运行

# 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

环境

此工具不使用任何地理处理环境。

许可信息

  • Basic: 否
  • Standard: 是
  • Advanced: 是

相关主题