Получить имена шаблонов схемы (Схема сети)

Сводка

Возвращает имена шаблонов схемы, связанные с сетью.

Использование

  • Инструмент не поддерживается для сервиса инженерной сети. Вы должны работать с инженерной сетью или с сетью трассировки в файловой базе геоданных, либо с подключением базы данных к инженерной сети в многопользовательской базе геоданных. При работе с многопользовательской базой геоданных подключение к базе данных должно быть установлено от имени владельца базы данных инженерной сети.

  • Элемент данных сети, указанный для параметра входной сети, должен быть либо из инженерной сети или из сети трассировки в файловой базе геоданных, либо из подключения базы данных к инженерной сети многопользовательской базы геоданных.

  • Этот инструмент в основном используется для выполнения циклов для шаблонов схем при запуске ModelBuilder или Python.

Синтаксис

GetDiagramTemplateNames(in_utility_network)
ParameterОбъяснениеТип данных
in_utility_network

инженерная сеть или сеть трассировки, с которой будут связаны имена шаблонов схемы.

Utility Network; Trace Network

Производные выходные данные

NameОбъяснениеТип данных
out_template_names

Выходные имена шаблонов схемы.

Строковое

Пример кода

Пример GetDiagramTemplateNames (рабочий процесс)

Экспорт определений всех шаблонов схем, связанных с заданной сетью.

Следующий инструмент-скрипт получает список шаблонов схем, связанных с сетью, и экспортирует определения для каждого шаблона в файлы .ndbd и .ndld в заданную файлу.

Для добавления и настройки этого инструмента-скрипта выполните следующие шаги:

  1. Скопируйте следующий скрипт в любой Python IDE и сохраните его с разрешением .py.
  2. Запустите ArcGIS Pro с новым чистым проектом или с любым имеющимся проектом.
  3. Добавьте новый набор инструментов или на панели Каталог щелкните Проект и используйте набор инструментов по умолчанию в разделе Наборы инструментов.
  4. Щелкните правой кнопкой мыши набор инструментов и выберите Новый > Скрипт.
  5. Заполните вкладку Общие, как показано ниже:
    • Имя – введите ExportAllDiagramTemplateDefinitions.
    • Надпись – введите Экспорт всех определений шаблонов схем.
    • Файл скрипта – Найдите его и выберите файл .py, созданный в шаге 1.
  6. Заполните вкладку Параметры, как показано ниже:
    • Первый параметр
      • Надпись – введите Входная сеть.
      • Имя - сохраните имя по умолчанию Input_Network.
      • Тип данных – Выберите Инженерная сеть и Трассировка сети.
      • Тип – выберите Обязательный.
      • Направление - выберите Входное.
    • Второй параметр
      • Подпись - введите Папка экспорта файлов определения.
      • Имя - сохраните имя по умолчанию Definition_Files_Export_Folder.
      • Тип данных – выберите Папка.
      • Тип – выберите Обязательный.
      • Направление - выберите Входное.
  7. Щёлкните OK. Диалоговое окно Инструмента-скрипта закрывается.

Для запуска инструмента выполните следующие шаги:

  1. Разверните набор инструментов и дважды щелкните на инструмент, чтобы открыть его.
  2. Укажите параметр Входная сеть: перейдите и выберите файл подключения к базе данных, ссылающийся на сеть, из которой вы хотите экспортировать все определения шаблонов,
  3. Укажите параметр Выходная папка – перейдите и выберите выходную папку, куда вы хотите экспортировать файлы определения шаблонов.
  4. Щелкните Run.

# 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

Environments

Этот инструмент не использует параметры среды геообработки

Информация о лицензиях

  • Basic: Нет
  • Standard: Да
  • Advanced: Да

Связанные разделы