Netzelemente reduzieren (Network Analyst)
Zusammenfassung
Erstellt ein Netzwerk-Dataset, bei dem die Anzahl der Linien-Features minimiert wird, die erforderlich sind, um das Eingabe-Netzwerk-Dataset ordnungsgemäß zu modellieren. Durch das effizientere Ausgabe-Netzwerk-Dataset kann die Zeit reduziert werden, die erforderlich ist, um Analysen sowie entsprechende Ergebnisse zu erstellen und die Wegbeschreibungen zu generieren. Mit diesem Werkzeug werden ein neues Netzwerk-Dataset und neue Quell-Feature-Classes ausgegeben; das Eingabe-Netzwerk-Dataset und seine Quellen-Features bleiben unverändert.
Weitere Informationen zur Funktionsweise von "Netzelemente reduzieren"Abbildung
Verwendung
-
Mit diesem Werkzeug wird kein berechnetes Netzwerk erstellt. Erstellen Sie mit dem Werkzeug Netzwerk berechnen ein neues Netzwerk-Dataset, bevor Sie eine Analyse für dieses ausführen.
-
Das Netzwerk-Dataset und die Feature-Classes, die im Ausgabe-Geodatabase-Workspace erstellt werden, weisen denselben Feature-Dataset-Namen, Netzwerk-Dataset-Namen und dieselben Feature-Class-Namen wie das Eingabe-Netzwerk-Dataset auf. Falls im Ausgabe-Geodatabase-Workspace bereits Datasets mit diesen Namen vorhanden sind, tritt bei dem Werkzeug ein Fehler auf.
-
Es werden nur Felder aus der Quell-Feature-Class an die Ausgabe-Line-Feature-Class übertragen, die vom Netzwerk-Dataset verwendet werden. Dazu zählen folgende Felder:
- Höhenfelder
- In Netzwerkattribut-Evaluatoren (Länge, Zeit, Beschränkungen für Einbahnstraßen, Hierarchie usw.) verwendete Felder
- In generierenden Wegbeschreibungen (Straßennamen, Schild usw.) verwendete Felder
Syntax
Parameter | Erläuterung | Datentyp |
in_network_dataset |
Das zu berechnende Netzwerk-Dataset. Das Eingabe-Netzwerk-Dataset muss ein File- oder Personal-Geodatabase-Netzwerk-Dataset mit genau einer Kantenquelle sein. Es ist eine beliebige Anzahl an Knotenquellen und Kantenübergangsquellen zulässig. Die Kantenquelle muss Folgendes aufweisen:
Das Eingabe-Netzwerk-Dataset muss berechnet werden, bevor es in diesem Werkzeug verwendet werden kann. | Network Dataset Layer |
out_workspace_location |
Der Geodatabase-Workspace, in dem das berechnete Netzwerk-Dataset erstellt wird. Der Workspace muss eine ArcGIS 10-Geodatabase (oder höher) sein. | Workspace |
Codebeispiel
Ausführen des Werkzeugs unter Verwendung aller Parameter
import arcpy arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb" arcpy.DissolveNetwork_na("Transportation/Streets_ND","C:/Data/DissolvedNet.gdb")
Im folgenden eigenständigen Python-Skript wird veranschaulicht, wie das Werkzeug "DissolveNetwork" verwendet werden kann, um ein neues Netzwerk-Dataset mit einer reduzierten Anzahl von Linien-Features zu erstellen.
# Name: DissolveNetwork_Workflow.py # Description: Creates a new network dataset with reduced number of line # features in a new file geodatabase workspace. The network dataset # is also built so that it can be used to perform network analyses. # Requirements: Network Analyst Extension #Import system modules import arcpy from arcpy import env try: #Check out the Network Analyst extension license arcpy.CheckOutExtension("Network") #Set environment settings env.workspace = "C:/data/SanFrancisco.gdb" env.overwriteOutput = True #Set local variables inNetworkDataset = "Transportation/Streets_ND" outFolder = "C:/data/output" outputGDBName = "SanFranciscoDissolved" #Create a new file geodatabase that will contain the dissolved network result = arcpy.CreateFileGDB_management(outFolder, outputGDBName) #Get the path to the newly created file gdb from the result object. outputGDB = result.getOutput(0) #Dissolve the network dataset result = arcpy.DissolveNetwork_na(inNetworkDataset, outputGDB) #Get the path to the dissolved network dataset from the result object dissolvedNetworkDataset = result.getOutput(0) #The dissolved network dataset is unbuilt. So build the network dataset arcpy.BuildNetwork_na(dissolvedNetworkDataset) 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 occured on line %i" % tb.tb_lineno print str(e)