Wegbeschreibung (Network Analyst)
Zusammenfassung
Generiert Wegbeschreibungsinformationen aus einem Netzwerkanalyse-Layer mit Routen. Die Wegbeschreibungsinformationen werden in eine Datei im XML- oder Textformat geschrieben.
Verwendung
-
Das Werkzeug berechnet den Netzwerkanalyse-Layer, wenn dieser kein gültiges Ergebnis aufweist. Daher muss der Netzwerkanalyse-Layer nicht vor dem Generieren von Wegbeschreibungsinformationen berechnet werden.
-
Die ausgegebene XML-Datei mit Wegbeschreibungen kann mithilfe der verfügbaren Stylesheets im ArcGIS-Installationsordner in eine ordnungsgemäß formatierte HTML-Datei konvertiert werden. Beispielsweise können die im XML-Format ausgegebenen Wegbeschreibungen mit dem Stylesheet Dir2WebDocument.xsl bzw. Dir2PlainText.xsl in eine HTML-oder eine Textdatei konvertiert werden. (Die Stylesheets befinden sich üblicherweise unter "C:\Programme\ArcGIS\Desktop10.0\NetworkAnalyst\Directions\Styles".) Beachten Sie, dass Sie ein benutzerdefiniertes Werkzeug benötigen, das eine XML-Datei mithilfe von Stylesheets in eine HTML-Datei umwandelt.
Syntax
| Parameter | Erläuterung | Datentyp |
in_network_analysis_layer |
Netzwerkanalyse-Layer, auf dem Wegbeschreibungen generiert werden. Wegbeschreibungen können nur für die Netzwerkanalyse-Layer zu "Route", "Nächste Einrichtung" und "Vehicle Routing Problem" generiert werden. | Network Analyst Layer |
file_type |
Das Format der Ausgabe-Wegbeschreibungsdatei.
| String |
out_directions_file |
Der vollständige Pfadname zur Wegbeschreibungsdatei, die als Ausgabe erstellt wird. | File |
report_units |
Gibt die linearen Einheiten an, in denen die Längeninformationen in der Wegbeschreibungsdatei ausgegeben werden. So können Sie beispielsweise die Wegbeschreibung in Meilen anzeigen, obwohl die Impedanz in Metern angegeben war. | String |
report_time (optional) |
| Boolean |
time_attribute (optional) |
Das zeitbasierte Kostenattribut, das die Fahrzeiten zu den Wegbeschreibungen bereitstellt. Das Kostenattribut muss auf dem vom Eingabe-Netzwerkanalyse-Layer verwendeten Netzwerk-Dataset vorhanden sein. | String |
Codebeispiel
Führen Sie das Werkzeug "Wegbeschreibung" mit allen Parametern aus.
import arcpy
arcpy.Directions_na("Route","TEXT","C:/temp/Route_Directions.txt","Miles",
"REPORT_TIME","Minutes")
Im folgenden eigenständigen Python-Skript wird veranschaulicht, wie das Werkzeug "Wegbeschreibung" verwendet werden kann, um Wegbeschreibungen für eine Route in einer Textdatei zu generieren.
# Name: Directions_Workflow.py
# Description: Generate driving directions in a text file for a route that
# visits the store locations in the best sequence that minimizes
# the total travel time
# 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"
outNALayer = "StoreRoute"
impedanceAttribute = "TravelTime"
startLocation = "Analysis/DistributionCenter"
storeLocations = "Analysis/Stores"
fieldMappings = "Name Name #; Attr_TravelTime ServiceTime #"
outDirectionsFile = "C:/data/output" + "/" + outNALayer + "Directions.txt"
outLayerFile = "C:/data/output" + "/" + outNALayer + ".lyr"
#Create a new route layer. The route starts at the distribution center and
#takes the best sequence to visit the store locations.
arcpy.MakeRouteLayer_na(inNetworkDataset,outNALayer,impedanceAttribute,
"FIND_BEST_ORDER","PRESERVE_FIRST","",['Meters'],
"NO_UTURNS",start_date_time="8 AM")
#Load the distribution center as the start location using default field
#mappings and search tolerance
arcpy.AddLocations_na(outNALayer,"Stops",startLocation,"","")
#Load the store locations as stops. Make sure the store locations are
#appended to the Stops sublayer which already contains the distribution
#center location. Map the Attr_TravelTime property from the ServiceTime
#field so that the total travel time for the route will also contain the
#service time
arcpy.AddLocations_na(outNALayer,"Stops",storeLocations,fieldMappings,"","",
"","","APPEND")
#Generate driving directions in a text file
arcpy.Directions_na(outNALayer,"TEXT",outDirectionsFile,"Miles",
"REPORT_TIME","TravelTime")
#Save the solved na layer as a layer file on disk using relative paths
arcpy.SaveToLayerFile_management(outNALayer,outLayerFile,"RELATIVE")
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)