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

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

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

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

  • Этот инструмент выполняет анализ слоя сетевого анализа, если у того еще нет достоверного результата.

Параметры

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

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

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

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

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

  • XMLВыходной файл путевого листа будет создан как файл .xml. Кроме строк направлений и сведений о расстоянии и времени для маршрутов, файл содержит данные о типах маневров и углах поворота для каждого направления.
  • ТекстВыходной файл путевого листа будет создан в формате простого файла .txt, который содержит строки путевого листа, длину и, дополнительно, информацию о времени для этих маршрутов.
  • HTMLВыходной файл путевого листа будет создан в формате файла .html, который содержит строки путевого листа, длину и, дополнительно, информацию о времени для этих маршрутов.
String
Файл выходного путевого листа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подсказка:

Чтобы создать пользовательские таблицы стилей в форматах HTML и текста, скопируйте и отредактируйте таблицы стилей из Network Analyst. Таблицы стилей доступны в директории <ArcGIS installation directory>\AllSource\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

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

  • XMLВыходной файл путевого листа будет создан как файл .xml. Кроме строк направлений и сведений о расстоянии и времени для маршрутов, файл содержит данные о типах маневров и углах поворота для каждого направления.
  • TEXTВыходной файл путевого листа будет создан в формате простого файла .txt, который содержит строки путевого листа, длину и, дополнительно, информацию о времени для этих маршрутов.
  • 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>\AllSource\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)))