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

Краткая информация

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

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

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

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

Параметры

ПодписьОписаниеТип данных
Входная сеть

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

Utility Network; Trace Network

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

ПодписьОписаниеТип данных
Выходные шаблоны схемы

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

String

arcpy.nd.GetDiagramTemplateNames(in_utility_network)
ИмяОписаниеТип данных
in_utility_network

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

Utility Network; Trace Network

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

ИмяОписаниеТип данных
out_template_names

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

String

Пример кода

Пример 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. Щелкните Запустить.

# 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: Да

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