Сводка
Возвращает имена шаблонов схемы, связанные с сетью.
Использование
Этот инструмент не поддерживается при работе с сервисом инженерной сети или сети трассировки. Вы должны работать с инженерной сетью или с сетью трассировки в файловой базе геоданных, либо с подключением базы данных к инженерной сети или сети трассировки в многопользовательской базе геоданных. При работе с многопользовательской базой геоданных необходимо соблюдать следующие требования:
- Значение параметра Входная сеть должно быть из подключения к базе данных, установленного от имени владельца базы данных инженерной сети или владельца базы данных сети трассировки.
- Учетная запись подключенного портала ArcGIS Enterprise должна быть записью владельца инженерной сети портала или владельца сети трассировки портала.
- Этот инструмент должен быть подключен к версии по умолчанию, которая скорее всего будет общедоступной и незащищенной.
Этот инструмент в основном используется для выполнения циклов для шаблонов схем при запуске ModelBuilder или Python.
Синтаксис
arcpy.nd.GetDiagramTemplateNames(in_utility_network)
Parameter | Объяснение | Тип данных |
in_utility_network | инженерная сеть или сеть трассировки, с которой будут связаны имена шаблонов схемы. | Utility Network; Trace Network |
Производные выходные данные
Name | Объяснение | Тип данных |
out_template_names | Выходные имена шаблонов схемы. | Строковое |
Пример кода
Экспорт определений всех шаблонов схем, связанных с заданной сетью.
Следующий инструмент-скрипт получает список шаблонов схем, связанных с сетью, и экспортирует определения для каждого шаблона в файлы .ndbd и .ndld в заданную файлу.
Для добавления и настройки этого инструмента-скрипта выполните следующие шаги:
- Скопируйте следующий скрипт в любой Python IDE и сохраните его с разрешением .py.
- Запустите ArcGIS Pro с новым чистым проектом или с любым имеющимся проектом.
- Добавьте новый набор инструментов или на панели Каталог щелкните Проект и используйте набор инструментов по умолчанию в разделе Наборы инструментов.
- Щелкните правой кнопкой мыши набор инструментов и выберите Новый > Скрипт.
- Заполните вкладку Общие, как показано ниже:
- Имя – введите ExportAllDiagramTemplateDefinitions.
- Надпись – введите Экспорт всех определений шаблонов схем.
- Файл скрипта – Найдите его и выберите файл .py, созданный в шаге 1.
- Заполните вкладку Параметры, как показано ниже:
- Первый параметр
- Надпись – введите Входная сеть.
- Имя - сохраните имя по умолчанию Input_Network.
- Тип данных – Выберите Инженерная сеть и Трассировка сети.
- Тип – выберите Обязательный.
- Направление - выберите Входное.
- Второй параметр
- Подпись - введите Папка экспорта файлов определения.
- Имя - сохраните имя по умолчанию Definition_Files_Export_Folder.
- Тип данных – выберите Папка.
- Тип – выберите Обязательный.
- Направление - выберите Входное.
- Первый параметр
- Щелкните OK. Диалоговое окно Инструмента-скрипта закрывается.
Для запуска инструмента выполните следующие шаги:
- Разверните набор инструментов и дважды щелкните на инструмент, чтобы открыть его.
- Укажите параметр Входная сеть: перейдите и выберите файл подключения к базе данных, ссылающийся на сеть, из которой вы хотите экспортировать все определения шаблонов,
- Укажите параметр Выходная папка – перейдите и выберите выходную папку, куда вы хотите экспортировать файлы определения шаблонов.
- Щелкните Запустить.
# 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: Да