Путевой лист (Network Analyst)

Краткая информация

Создает пошаговый путевой лист на основе слоя сетевого анализа с маршрутами. Путевой лист можно записать в файл в виде текста, а также в формате XML и HTML. Если указать соответствующую таблицу стилей, путевой лист можно записать в другом формате.

Использование

  • Этот инструмент рассчитывает слой сетевого анализа, если у него еще нет корректного результата.

Параметры

ПодписьОписаниеТип данных
Входной слой сетевого анализа

Слой сетевого анализа для которого создается путевой лист. Путевой лист можно создавать только для слоев сетевого анализа маршрута, ближайшего пункта обслуживания и задачи выбора маршрута транспорта.

Внимание:
Этот инструмент не поддерживает слои анализа Доставка до двери, хотя этот тип слоя поддерживает путевые листы.

Network Analyst Layer
Тип выходного файла

Указывает формат, который будет использоваться для выходного файла путевого листа. Этот параметр игнорируется, если параметр stylesheet содержит значение.

  • XMLВ качестве выходных данных создается HTML-файл. Кроме строк направлений и сведений о расстоянии и времени для маршрутов, файл содержит данные о типах маневров и углах поворота для каждого направления.
  • TextВыходной путевой лист создается в формате простого текстового файла, в который будут записаны строки путевого листа и, может быть, данные о времени в пути на маршруте.
  • HTMLВыходной файл направлений создается как простой HTML-файл, содержащий строки направлений, а также данные о расстоянии и, возможно, времени для маршрутов.
String
Выходной файл путевого листа

Полный путь к файлу путевого листа.

Если вы задали таблицу стилей для параметра Таблица стиля, убедитесь, что расширение имени файла Выходного файла путевого листа соответствует типу файла, который создает таблица стилей.

File
Указывать длину в этих единицах

Задает линейные единицы измерения, которые будут использоваться в файле путевого листа. Например, даже если атрибут импеданса имеет единицы измерения в метрах, вы можете отображать в путевом листе мили.

  • Морские милиЛинейными единицами измерения будут морские мили.
  • ФутыЛинейными единицами измерения будут футы.
  • ЯрдыЛинейными единицами измерения будут ярды.
  • МилиЛинейными единицами измерения будут мили.
  • МетрыЛинейными единицами измерения будут метры.
  • КилометрыЛинейными единицами измерения будут километры.
String
Указывать время в пути
(Дополнительный)

Задает, будет ли указываться время в пути в файле путевого листа.

  • Отмечено – Время в пути будет указываться в файле путевого листа. Это значение по умолчанию
  • Не отмечено – Время в пути не будет указываться в файле путевого листа.
Boolean
Атрибут времени
(Дополнительный)

Атрибут стоимости на основе времени, который будет использоваться для определения времени в пути в путевом листе. Стоимостный атрибут должен существовать в наборе сетевых данных, используемом входным слоем сетевого анализа.

String
Язык
(Дополнительный)

Язык, который будет использоваться для путевого листа.

Для значения этого параметра используйте двух- или пятизначный код, представляющий один из доступных языков для создания путевых листов. В Python вы можете получить список доступных языковых кодов с помощью функции ListDirectionsLanguages.

String
Имя стиля
(Дополнительный)

Задает стиль форматирования, который будет использоваться для путевого листа.

  • Путевой лист для печатиБудет использоваться пошаговый путевой лист, доступный для печати.
  • Путевой лист для навигатораБудет использоваться пошаговый путевой лист, созданный для автомобильного навигационного устройства.
  • Путевой лист для пешего маршрутаБудет использоваться пошаговый путевой лист, созданный для пешеходных маршрутов.
String
Таблица стиля
(Дополнительный)

Будет использоваться таблица стиля для создания форматированного выходного файла (например, PDF, Word или HTML). Расширение файла в параметре выходного файла путевого листа должен совпадать с типом файла, который создает таблица стилей. Инструмент заменяет параметр типа выходного файла, если этот параметр содержит значение.

Подсказка:

Чтобы создать пользовательские таблицы стилей HTML и текста, скопируйте и отредактируйте таблицы стилей из Network Analyst. Таблицы стилей доступны в каталоге <ArcGIS installation directory>\Pro\Resources\NetworkAnalyst\Directions\Styles. Таблица стилей HTML — это Dir2PHTML.xsl, а таблица стилей текста — Dir2PlainText.xsl.

File

Производные выходные данные

ПодписьОписаниеТип данных
Слой сетевого анализа

Обновленный слой сетевого анализа с маршрутами.

Network Analyst Layer

arcpy.management.Directions(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

Указывает формат, который будет использоваться для выходного файла путевого листа. Этот параметр игнорируется, если параметр stylesheet содержит значение.

  • XMLВ качестве выходных данных создается HTML-файл. Кроме строк направлений и сведений о расстоянии и времени для маршрутов, файл содержит данные о типах маневров и углах поворота для каждого направления.
  • TEXTВыходной путевой лист создается в формате простого текстового файла, в который будут записаны строки путевого листа и, может быть, данные о времени в пути на маршруте.
  • HTMLВыходной файл направлений создается как простой HTML-файл, содержащий строки направлений, а также данные о расстоянии и, возможно, времени для маршрутов.
String
out_directions_file

Если вы задали таблицу стилей для параметра stylesheet, убедитесь, что расширение имени файла out_directions_file соответствует типу файла, который создает таблица стилей.

File
report_units

Задает линейные единицы измерения, которые будут использоваться в файле путевого листа. Например, даже если атрибут импеданса имеет единицы измерения в метрах, вы можете отображать в путевом листе мили.

  • FeetЛинейными единицами измерения будут футы.
  • YardsЛинейными единицами измерения будут ярды.
  • MilesЛинейными единицами измерения будут мили.
  • MetersЛинейными единицами измерения будут метры.
  • KilometersЛинейными единицами измерения будут километры.
  • NauticalMilesЛинейными единицами измерения будут морские мили.
String
report_time
(Дополнительный)

Задает, будет ли указываться время в пути в файле путевого листа.

  • NO_REPORT_TIMEВремя в пути не будет указываться в файле путевого листа.
  • REPORT_TIMEВремя в пути будет указываться в файле путевого листа. Это значение по умолчанию
Boolean
time_attribute
(Дополнительный)

Атрибут стоимости на основе времени, который будет использоваться для определения времени в пути в путевом листе. Стоимостный атрибут должен существовать в наборе сетевых данных, используемом входным слоем сетевого анализа.

String
language
(Дополнительный)

Язык, который будет использоваться для путевого листа.

Для значения этого параметра используйте двух- или пятизначный код, представляющий один из доступных языков для создания путевых листов. В Python вы можете получить список доступных языковых кодов с помощью функции ListDirectionsLanguages.

String
style_name
(Дополнительный)

Задает стиль форматирования, который будет использоваться для путевого листа.

  • NA DesktopБудет использоваться пошаговый путевой лист, доступный для печати.
  • NA NavigationБудет использоваться пошаговый путевой лист, созданный для автомобильного навигационного устройства.
  • NA CampusБудет использоваться пошаговый путевой лист, созданный для пешеходных маршрутов.
String
stylesheet
(Дополнительный)

Будет использоваться таблица стиля для создания форматированного выходного файла (например, PDF, Word или HTML). Расширение файла в параметре выходного файла путевого листа должен совпадать с типом файла, который создает таблица стилей. Инструмент заменяет параметр типа выходного файла, если этот параметр содержит значение.

Подсказка:

Чтобы создать пользовательские таблицы стилей HTML и текста, скопируйте и отредактируйте таблицы стилей из Network Analyst. Таблицы стилей доступны в каталоге <ArcGIS installation directory>\Pro\Resources\NetworkAnalyst\Directions\Styles. Таблица стилей HTML — это Dir2PHTML.xsl, а таблица стилей текста — Dir2PlainText.xsl.

File

Производные выходные данные

ИмяОписаниеТип данных
output_layer

Обновленный слой сетевого анализа с маршрутами.

Network Analyst Layer

Пример кода

Directions, пример 1 (окно Python)

В следующем примере кода показано использование функции Directions со всеми параметрами:

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 an html file for a route that
#              visits the store locations in the best sequence in order to
#              minimize the total travel time
# Requirements: Network Analyst Extension

#Import system modules
import arcpy
from arcpy import env
import os

try:
    #Set environment settings
    output_dir = "C:/Data"
    #The NA layer's data will be saved to the workspace specified here
    env.workspace = os.path.join(output_dir, "Output.gdb")
    env.overwriteOutput = True

    #Set inputs and outputs
    input_gdb = "C:/Data/SanFrancisco.gdb"
    network = os.path.join(input_gdb, "Transportation", "Streets_ND")
    layer_name = "StoreRoute"
    impedance = "TravelTime"
    start_location = os.path.join(input_gdb, "Analysis", "DistributionCenter")
    store_locations = os.path.join(input_gdb, "Analysis", "Stores")
    output_directions = os.path.join(output_dir,
                                                layer_name + "_Directions.html")
    output_layer_file = os.path.join(output_dir, layer_name + ".lyrx")

    #Create a new route layer. The route starts at the distribution center and
    #visits the stores in the best order to yield the shortest travel time.
    result_object = arcpy.na.MakeRouteLayer(network, layer_name, impedance,
                                         "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.
    layer_object = result_object.getOutput(0)

    #Get the names of all the sublayers within the route layer.
    sublayer_names = arcpy.na.GetNAClassNames(layer_object)
    #Stores the layer names that we will use later
    stops_layer_name = sublayer_names["Stops"]

    #Load the distribution center as the start location using default field
    #mappings and search tolerance
    arcpy.na.AddLocations(layer_object, stops_layer_name, start_location, "",
                            "", exclude_restricted_elements = "EXCLUDE")

    #Load the store locations as stops. Make sure the store locations are
    #appended to the Stops sublayer so the distribution center you just loaded
    #isn't overwritten. Map the ServiceTime field from the input data to the
    #Attr_TravelTime property in the Stops sublayer so that the time it takes to
    #service each store is included in the total travel time for the route.
    field_mappings = arcpy.na.NAClassFieldMappings(layer_object,
                                                            stops_layer_name)
    field_mappings["Name"].mappedFieldName = "Name"
    field_mappings["Attr_" + impedance].mappedFieldName = "ServiceTime"
    arcpy.na.AddLocations(layer_object, stops_layer_name, store_locations,
                          field_mappings, "", append="APPEND",
                          exclude_restricted_elements = "EXCLUDE")

    #Generate driving directions in an HTML file
    arcpy.na.Directions(layer_object, "HTML", output_directions, "Miles",
                        "REPORT_TIME", impedance)

    #Save the solved na layer as a layer file on disk
    layer_object.saveACopy(output_layer_file)

    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)))