Construir red (Network Analyst)

Resumen

Reconstruye la conectividad de la red y la información del atributo de un dataset de red. Es necesario reconstruir el dataset de red después de editar los atributos o las entidades de una clase de entidad de origen participante. Después de que se editan las entidades de origen, la herramienta establece la conectividad de la red sólo en las áreas que fueron editadas para agilizar el proceso de construcción, sin embargo, cuando se editan los atributos de la red, se reconstruye la extensión completa del dataset de red. En el caso de un dataset de red grande, posiblemente esta operación sea lenta.

Más información sobre las ediciones de datasets de red que requieren reconstrucción

Uso

  • La herramienta le avisará si existe algún error de construcción al crear la red. Como estos errores indican posibles problemas que podrían impedir que la red funcionase como está previsto, es necesario examinarlos y abordarlos.

    Más información sobre errores de generación de redes

  • Antes de construir un dataset de red, se requiere un bloqueo de esquema exclusivo en el dataset de red y las clases de entidad de origen participantes. Significa que nadie puede editar las clases de entidad participantes. Se producirá un error si no se puede obtener un bloqueo de esquema exclusivo.

Sintaxis

arcpy.na.BuildNetwork(in_network_dataset)
ParámetroExplicaciónTipo de datos
in_network_dataset

El dataset de red que se construirá.

Network Dataset Layer

Salida derivada

NombreExplicaciónTipo de datos
out_network_dataset

El dataset de red actualizado.

Capa de dataset de red

Muestra de código

Ejemplo 1 de BuildNetwork (ventana de Python)

Ejecutar la herramienta utilizando todos los parámetros.

network = "C:/Data/Paris.gdb"
arcpy.na.BuildNetwork(network)
Ejemplo 2 de BuildNetwork (script independiente)

El siguiente script de Python muestra cómo utilizar la herramienta BuildNetwork en un script independiente.

# 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))

Información de licenciamiento

  • Basic: Requiere Network Analyst
  • Standard: Requiere Network Analyst
  • Advanced: Requiere Network Analyst

Temas relacionados