Netzwerk berechnen (Network Analyst)

Zusammenfassung

Baut die Informationen zu Netzwerkkonnektivität und Attributen eines Netzwerk-Datasets erneut auf. Das Netzwerk-Dataset muss neu berechnet werden, nachdem die Attribute oder Features einer beteiligten Quell-Feature-Class bearbeitet wurden. Nachdem die Quell-Features bearbeitet wurden, stellt das Werkzeug die Netzwerkverbindung nur in den Flächen her, die bearbeitet wurden, um den Berechnungsvorgang zu beschleunigen; wenn die Netzwerkattribute jedoch bearbeitet werden, muss die gesamte Ausdehnung des Netzwerk-Datasets erneut erstellt werden. Für ein großes Netzwerk-Dataset kann dieser Vorgang möglicherweise einige Zeit in Anspruch nehmen.

Weitere Informationen dazu, nach welchen Bearbeitungen Netzwerk-Datasets neu berechnet werden müssen

Verwendung

  • Wenn beim Berechnen des Netzwerks Fehler auftreten, wird eine Warnmeldung angezeigt. Da diese Fehler auf potenzielle Probleme hinweisen, die dazu führen können, dass das Netzwerk nicht wie gewünscht funktioniert, müssen Sie die Fehler überprüfen und beheben.

    Weitere Informationen zu Fehlern bei der Netzwerkberechnung

  • Vor dem Berechnen eines Netzwerk-Datasets ist eine exklusive Schemasperre auf dem Netzwerk-Dataset und den beteiligten Quell-Feature-Classes erforderlich. Dies bedeutet, dass die beteiligten Feature-Classes nicht bearbeitet werden können. Wenn eine exklusive Schemasperre nicht abgerufen werden kann, wird eine Fehlermeldung ausgegeben.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Netzwerk-Dataset

Das zu berechnende Netzwerk-Dataset.

Network Dataset Layer
Vollständige Berechnung erzwingen
(optional)

Gibt an, ob das vollständige Netzwerk berechnet wird oder ob nur in Dirty Areas gelegene Netzwerkteile berechnet werden.

  • Aktiviert: Das vollständige Netzwerk wird berechnet.
  • Deaktiviert: Es werden nur die Netzwerkteile berechnet, die seit der letzten Berechnung geändert wurden. Dies ist die Standardeinstellung.
Boolean

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisiertes Eingabe-Netzwerk-Dataset

Das aktualisierte Netzwerk-Dataset.

Network Dataset Layer

arcpy.management.BuildNetwork(in_network_dataset, {force_full_build})
NameErläuterungDatentyp
in_network_dataset

Das zu berechnende Netzwerk-Dataset.

Network Dataset Layer
force_full_build
(optional)

Gibt an, ob das vollständige Netzwerk berechnet wird oder ob nur in Dirty Areas gelegene Netzwerkteile berechnet werden.

  • FORCE_FULL_BUILDDas vollständige Netzwerk wird berechnet.
  • NO_FORCE_FULL_BUILDEs werden nur die Netzwerkteile berechnet, die seit der letzten Berechnung geändert wurden. Dies ist die Standardeinstellung.
Boolean

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_network_dataset

Das aktualisierte Netzwerk-Dataset.

Network Dataset Layer

Codebeispiel

BuildNetwork: Beispiel 1 (Python-Fenster)

Führen Sie das Werkzeug unter Verwendung aller Parameter aus.

network = "C:/Data/Paris.gdb/Transportation/ParisMultimodal_ND"
arcpy.na.BuildNetwork(network)
BuildNetwork: Beispiel 2 (eigenständiges Skript)

Das folgende Python-Skript veranschaulicht die Verwendung der Funktion BuildNetwork in einem eigenständigen Skript.

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