Zusammenfassung
Generiert detaillierte Wegbeschreibungen aus einem Netzwerkanalyse-Layer mit Routen. Die Wegbeschreibungen können in eine Datei im Text-, XML- oder HTML-Format geschrieben werden. Bei Angabe eines geeigneten Stylesheets können die Wegbeschreibungen auch in einem beliebigen anderen Dateiformat gespeichert werden.
Verwendung
Das Werkzeug berechnet den Netzwerkanalyse-Layer, wenn noch kein gültiges Ergebnis vorliegt. Es ist daher nicht erforderlich, den Netzwerkanalyse-Layer vor dem Generieren von Wegbeschreibungen zu berechnen.
Syntax
Directions_na (in_network_analysis_layer, file_type, out_directions_file, report_units, {report_time}, {time_attribute}, {language}, {style_name}, {stylesheet})
Parameter | Erläuterung | Datentyp |
in_network_analysis_layer | Netzwerkanalyse-Layer, für den Wegbeschreibungen generiert werden. Wegbeschreibungen können nur für Netzwerkanalyse-Layer für Routen, nächstgelegene Einrichtungen und Vehicle Routing Problems generiert werden. | Network Analyst Layer |
file_type | Das Format der Ausgabe-Wegbeschreibungsdatei. Dieser Parameter wird ignoriert, wenn der Stylesheet-Parameter einen Wert aufweist.
| String |
out_directions_file | Wenn Sie im stylesheet-Parameter ein Stylesheet angeben, muss das Dateisuffix für out_directions_file dem Dateityp entsprechen, der durch das Stylesheet erzeugt 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, durch das die Reisezeiten in der Wegbeschreibung bereitgestellt werden. Das Kostenattribut muss auf dem vom Eingabe-Netzwerkanalyse-Layer verwendeten Netzwerk-Dataset vorhanden sein. | String |
language (optional) | Wählen Sie die Sprache aus, in der die Wegbeschreibung generiert werden soll. Die in der Dropdown-Liste angezeigten Sprachen hängen von den auf dem Computer installierten ArcGIS-Sprachpaketen ab. Beachten Sie, dass beim Veröffentlichen dieses Werkzeugs als Teil eines Service auf einem separaten Server das ArcGIS-Sprachpaket für die ausgewählte Sprache auf dem Server installiert sein muss, damit das Werkzeug ordnungsgemäß funktioniert. Wenn ein Sprachpaket nicht auf dem Computer installiert ist, wird die Sprache in der Dropdown-Liste nicht angezeigt. Sie können den Sprachencode jedoch auch direkt eingeben, anstatt ihn aus der Liste auszuwählen. | String |
style_name (optional) | Wählen Sie den Namen des Formatierungsstils für die Wegbeschreibung aus.
| String |
stylesheet (optional) | Das Stylesheet für die Erstellung eines formatierten Ausgabedateityps (z. B. eine PDF-, Word- oder HTML-Datei). Das Suffix der Datei im Parameter für die Ausgabe-Wegbeschreibungsdatei muss dem Dateityp entsprechen, der durch das Stylesheet generiert wird. Das Werkzeug Wegbeschreibung überschreibt den Parameter für den Ausgabedateityp, wenn für das Stylesheet ein Wert angegeben ist.
| File |
Codebeispiel
Wegbeschreibung – Beispiel 1 (Python-Fenster)
Führen Sie das Werkzeug "Wegbeschreibung" mit allen Parametern aus.
arcpy.na.Directions("Route", "TEXT", "C:/Data/Route_Directions.txt", "Miles",
"REPORT_TIME", "Minutes")
Wegbeschreibung – Beispiel 2 (Workflow)
Das folgende eigenständige Python-Skript veranschaulicht, wie Sie mit dem Werkzeug Directions eine Wegbeschreibung für eine Route in einer HTML-Datei generieren.
# Name: Directions_Workflow.py
# Description: Generate driving directions in a html 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"
outNALayerName = "StoreRoute"
impedanceAttribute = "TravelTime"
startLocation = "Analysis/DistributionCenter"
storeLocations = "Analysis/Stores"
#fieldMappings = "Name Name #; Attr_TravelTime ServiceTime #"
outDirectionsFile = "C:/data/output" + "/" + outNALayerName + "Directions.html"
outLayerFile = "C:/data/output" + "/" + outNALayerName + ".lyr"
#Create a new route layer. The route starts at the distribution center and
#takes the best sequence to visit the store locations.
outNALayer = arcpy.na.MakeRouteLayer(inNetworkDataset, outNALayerName,
impedanceAttribute, "FIND_BEST_ORDER",
"PRESERVE_FIRST","",['Meters'],
"NO_UTURNS",start_date_time="8 AM")
#Get the layer object from the result object. The route layer can
#now be referenced using the layer object.
outNALayer = outNALayer.getOutput(0)
#Get the names of all the sublayers within the route layer.
subLayerNames = arcpy.na.GetNAClassNames(outNALayer)
#Stores the layer names that we will use later
stopsLayerName = subLayerNames["Stops"]
#Load the distribution center as the start location using default field
#mappings and search tolerance
arcpy.na.AddLocations(outNALayer,stopsLayerName,startLocation,"","",
exclude_restricted_elements = "EXCLUDE")
#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 using the field mappings
fieldMappings = arcpy.na.NAClassFieldMappings(outNALayer, stopsLayerName)
fieldMappings["Name"].mappedFieldName = "Name"
fieldMappings["Attr_" + impedanceAttribute].mappedFieldName = "ServiceTime"
arcpy.na.AddLocations(outNALayer, stopsLayerName, storeLocations,
fieldMappings, "", append="APPEND",
exclude_restricted_elements = "EXCLUDE")
#Generate driving directions in a HTML file
arcpy.na.Directions(outNALayer,"HTML",outDirectionsFile,"Miles",
"REPORT_TIME",impedanceAttribute)
#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 occurred on line %i" % tb.tb_lineno
print str(e)
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert Network Analyst
- ArcGIS Desktop Standard: Erfordert Network Analyst
- ArcGIS Desktop Advanced: Erfordert Network Analyst