Доступно с лицензией Network Analyst.
Краткая информация
Создает пошаговый путевой лист на основе слоя сетевого анализа с маршрутами. Путевой лист можно записать в файл в виде текста, а также в формате XML и HTML. Если указать соответствующий стиль, путевой лист можно записать в другом формате.
Использование
Этот инструмент рассчитывает слой сетевого анализа, если у того еще нет корректного результата, поэтому ему не нужно рассчитывать слой сетевого анализа до создания путевого листа.
Синтаксис
Directions_na (in_network_analysis_layer, file_type, out_directions_file, report_units, {report_time}, {time_attribute}, {language}, {style_name}, {stylesheet})
Параметр | Объяснение | Тип данных |
in_network_analysis_layer | Слой сетевого анализа для которого создается путевой лист. Путевой лист можно создавать только для слоев сетевого анализа маршрута, ближайшего пункта обслуживания и задачи выбора маршрута транспорта. | Network Analyst Layer |
file_type | Выходной формат файла направлений. Этот параметр игнорируется, если у параметра таблицы стилей есть значение.
| String |
out_directions_file | Если вы определите таблицу стилей для параметра stylesheet, то убедитесь, что для суффикса out_directions_file используется тот же тип, что и для файла, создаваемого заданным стилем. | File |
report_units | Задает линейные единицы измерения, в которых выражаются данные о расстояниях в файле направлений. Например, даже если импеданс задан в метрах, направления можно задавать в милях.
| String |
report_time (дополнительно) |
| Boolean |
time_attribute (дополнительно) | Основанный на времени стоимостный атрибут, указывающий время в пути по направлениям. Стоимостный атрибут должен существовать в наборе сетевых данных, используемом входным слоем сетевого анализа. | String |
language (дополнительно) |
Выберите язык для создания направлений. Список языков, доступный в раскрывающемся меню, зависит от установленных на компьютере языковых пакетов ArcGIS. Следует заменить, что для публикации это инструмента как части сервиса на отдельном сервере ArcGIS необходимо установить на сервере соответствующие языковые пакеты. При отсутствии того или иного языкового пакета на компьютере соответствующий язык не отображается в списке. Однако вместо выбора языка можно указать его код. | String |
style_name (дополнительно) | Выберите имя стиля форматирования для направлений.
| String |
stylesheet (дополнительно) | Стиль для создания форматированного выходного файла (например, PDF, Word или HTML). Суффикс файла в параметре выходного файла путевого листа должен совпадать с типом файла, создаваемого заданным стилем. Инструмент Путевой лист (Directions) заменяет параметр типа выходного файла, если этот параметр содержит значение.
| File |
Пример кода
Directions, пример 1 (окно Python)
Выполнение инструмента Путевой лист со всеми параметрами.
arcpy.na.Directions("Route", "TEXT", "C:/Data/Route_Directions.txt", "Miles",
"REPORT_TIME", "Minutes")
Directions, пример 2 (рабочий процесс)
В следующем автономным скрипте Python показано, как с помощью инструмента Directions можно создавать направления движения в виде HTML-файла для маршрута.
# 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 occured on line %i" % tb.tb_lineno
print str(e)
Параметры среды
Информация о лицензировании
- ArcGIS for Desktop Basic: Требует Network Analyst
- ArcGIS for Desktop Standard: Требует Network Analyst
- ArcGIS for Desktop Advanced: Требует Network Analyst