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"Bild
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 mindestens eine ArcGIS 10-Geodatabase sein. Zudem muss es sich um eine andere Geodatabase handeln als die, in der sich das Eingabe-Netzwerk-Dataset befindet. | Workspace |
Codebeispiel
Ausführen des Werkzeugs unter Verwendung aller Parameter.
import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.na.DissolveNetwork("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. After dissolving,
# 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.management.CreateFileGDB(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.na.DissolveNetwork(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.na.BuildNetwork(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)