Сводка
Восстановление связности сети и атрибутивной информации набора сетевых данных. Набор сетевых данных необходимо построить заново после внесения изменений в атрибуты или объекты участвующего в наборе класса исходных объектов. После изменения исходного класса объектов, чтобы ускорить процесс компоновки, инструмент создает сетевые связи только в измененных областях. Однако при изменении сетевых атрибутов выполняется перестроение всего экстента набора сетевых данных. Это может очень сильно замедлить работу при больших размерах сетевых данных.
Более подробно о том, при каких изменениях наборов сетевых данных потребуется повторное построение
Использование
Инструмент предупредит вас, если при построении сети были найдены любые ошибки построения. Поскольку эти ошибки означают потенциальные проблемы, которые могут повлиять на корректную работу сети, их необходимо изучить и исправить.
Перед построением набора сетевых данных необходимо получить эксклюзивную блокировку схемы для набора данных и используемых исходных классов объектов. Это значит, что используемые классы объектов никто не будет редактировать в процессе построения. Если получить эксклюзивную блокировку схемы не удастся, произойдет сбой.
Синтаксис
arcpy.na.BuildNetwork(in_network_dataset)
Parameter | Объяснение | Тип данных |
in_network_dataset | Создаваемый набор сетевых данных. | Network Dataset Layer |
Производные выходные данные
Name | Объяснение | Тип данных |
out_network_dataset | Обновленный набор сетевых данных. | Слой набора сетевых данных |
Пример кода
Выполните инструмент с использованием всех параметров.
network = "C:/Data/Paris.gdb"
arcpy.na.BuildNetwork(network)
Следующий скрипт Python является примером использования инструмента BuildNetwork в автономном скрипте.
# Name: BuildNetwork_ex02.py
# Description: Build a network dataset.
# Requirements: Network Analyst Extension
#Import system modules
import arcpy
from arcpy import env
import sys
import os
import shutil
try:
#Check out Network Analyst license if available. Fail if the Network Analyst license is not available.
if arcpy.CheckExtension("network") == "Available":
arcpy.CheckOutExtension("network")
else:
raise arcpy.ExecuteError("Network Analyst Extension license is not available.")
#Set environment settings
env.workspace = "C:/data/SanFrancisco.gdb"
#Set local variables
inNetworkDataset = "Transportation/Streets_ND"
#Build the network dataset
arcpy.BuildNetwork_na(inNetworkDataset)
#If there are any build errors, they are recorded in a BuildErrors.txt file
#present in the system temp directory. So copy this file to the directory
#containing this script
#First get the path to the system temp directory
tempDir = os.environ.get("TEMP")
if tempDir:
shutil.copy2(os.path.join(tempDir,"BuildErrors.txt"),sys.path[0])
print("Script completed successfully.")
except Exception as e:
# If an error occurred, print line number and error message
import traceback, sys
tb = sys.exc_info()[2]
print("An error occurred on line %i" % tb.tb_lineno)
print(str(e))
Environments
Информация о лицензиях
- Basic: Требуется Network Analyst
- Standard: Требуется Network Analyst
- Advanced: Требуется Network Analyst