Reconstructs the network connectivity and attribute information of a network dataset. The network dataset needs to be rebuilt after making edits to the attributes or the features of a participating source feature class. After the source features are edited, the tool establishes the network connectivity only in the areas that have been edited to speed up the build process; however, when the network attributes are edited, the entire extent of the network dataset is rebuilt. This may be a slow operation on a large network dataset.
- Before building a network dataset, an exclusive schema lock is required on the network dataset and the participating source feature classes. This means that you (or anyone else) cannot be editing the participating feature classes. You will receive an error if an exclusive schema lock cannot be obtained.
An SDC network dataset cannot be built as it is read only.
The network dataset to be built.
|Network Dataset Layer|
The updated network dataset.
|Network Dataset Layer|
Execute the tool using all parameters.
network = "C:/Data/Paris.gdb" arcpy.na.BuildNetwork(network)
The following Python script demonstrates how to use the BuildNetwork tool in a stand-alone script.
# 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) 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() print("An error occurred on line %i" % tb.tb_lineno) print(str(e))
- Basic: Requires Network Analyst
- Standard: Requires Network Analyst
- Advanced: Requires Network Analyst