Опубликовать как слои маршрутов (Network Analyst)

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

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

Элемент слоя маршрута можно использовать в разных приложениях, например, в ArcGIS Navigator, чтобы предоставить маршруты для полевых сотрудников, на панели Путевых листов Map Viewer Classic для дальнейшей настройки маршрута, содержащегося в слое маршрута и в ArcGIS AllSource для создания нового аналитического слоя маршрута из слоя маршрута.

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

  • Инструмент создает и публикует элементы слой маршрутов на портале, настроенном в качестве активного. Активный портал должен быть ArcGIS Online или ArcGIS Enterprise версии 10.5.1 или выше.

  • У пользователя, выполнившего вход на активный портал, должны быть необходимые права для выполнения пространственного анализа и создания контента.

  • Если в указанной папке есть элемент слоя маршрута с таким же именем, будет создан новый элемент с тем же именем. Одним из способов избежать создания дублирующихся элементов является использование уникального значения префикса имени маршрута при создании этим инструментом слоев маршрутов.

  • При использовании этого инструмента в скрипте Python активный портал, к которому в последний раз обращался ArcGIS AllSource, является порталом, который будет использоваться для создания слоев маршрутов.

  • Максимальное количество слоев маршрута, которое может быть создано – 1,000. Если входные данные маршрута содержат более 1000 маршрутов, задача завершится с ошибкой.

Параметры

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

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

Слои сетевого анализа Маршрут, Ближайший пункт обслуживания, Задача выбора маршрута транспорта и Доставка до двери являются допустимыми входными данными для этого параметра.

Входными данными также может быть файл .zip, содержащий данные маршрута, созданного методом saveRouteData() объектов результатов расчета arcpy.nax, или параметр сервиса в REST API, который возвращает сжатую базу геоданных с данными маршрута с правильной схемой.

File; Network Analyst Layer
Краткая информация
(Дополнительный)

Сводка, которая будет использоваться элементами слоя маршрутов. Сводка отображается как чисть информации об элементе для элемента слоя маршрутов. Если значение не задано, используется итоговый текст по умолчанию — Маршрут и направления для <имя маршрута>, в котором <имя маршрута> заменяется именем маршрута, представленным слоем маршрута.

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

Теги, которые будут использоваться для описания и идентификации элементов слоя маршрутов. Теги разделяются запятыми. Имя маршрута всегда включается в качестве тега, даже если не указано другое значение.

String
Префикс имени маршрута
(Дополнительный)

Квалификатор, который будет добавлен к заголовку каждого элемента слоя маршрутов. Например, префикс Monday morning deliveries имени маршрута можно использовать для группировки всех элементов слоя маршрутов, созданных на основе анализа маршрута, выполненного доставкой, которая будет выполняться в понедельник утром. Если значение не указано, заголовок элемента слоя маршрутов будет включать только имя маршрута.

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

Папка в вашем личном онлайн-рабочем пространстве, в которой будут создаваться элементы слоя маршрутов. Если папка с указанным именем отсутствует, она будет создана. Если папка с указанным именем существует, элементы будут созданы в ней. Если значение не задано, элементы слоя маршрутов будут созданы в корневой папке вашей онлайн-рабочей области.

String
Общий доступ с помощью
(Дополнительный)

Определяет, кто может работать с элементами слоя маршрутов.

  • Для всехЭлементы слоя маршрутов будут общедоступными, и с ними может работать любой, у кого есть URL-адрес этих элементов.
  • Не опубликованЭлементы слоя маршрутов будут доступны только владельцу элемента (пользователю, подключенному к порталу во время работы инструмента). В результате только владелец элемента может работать со слоями маршрутов. Используется по умолчанию.
  • Эти группыЭлементы слоя маршрутов будут доступны группам, к которым принадлежит подключенный пользователь, и его участникам. Группы задаются с помощью параметра groups.
  • ОрганизацияЭлементы слоя маршрутов будут доступны всем пользователям вашей организации, прошедшим аутентификацию.
String
Groups
(Дополнительный)

Список групп, в которых будут опубликованы элементы слоя маршрутов. Этот параметр активен только в тех случаях, когда для параметра Общий доступ задано значение Эти группы.

String

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

ПодписьОписаниеТип данных
Элементы слоя маршрутов

Элементы слоя маршрутов, опубликованные на портале.

String

arcpy.management.ShareAsRouteLayers(in_network_analysis_layer, {summary}, {tags}, {route_name_prefix}, {portal_folder_name}, {share_with}, {groups})
ИмяОписаниеТип данных
in_network_analysis_layer

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

Слои сетевого анализа Маршрут, Ближайший пункт обслуживания, Задача выбора маршрута транспорта и Доставка до двери являются допустимыми входными данными для этого параметра.

Входными данными также может быть файл .zip, содержащий данные маршрута, созданного методом saveRouteData() объектов результатов расчета arcpy.nax, или параметр сервиса в REST API, который возвращает сжатую базу геоданных с данными маршрута с правильной схемой.

File; Network Analyst Layer
summary
(Дополнительный)

Сводка, которая будет использоваться элементами слоя маршрутов. Сводка отображается как чисть информации об элементе для элемента слоя маршрутов. Если значение не задано, используется итоговый текст по умолчанию — Маршрут и направления для <имя маршрута>, в котором <имя маршрута> заменяется именем маршрута, представленным слоем маршрута.

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

Теги, которые будут использоваться для описания и идентификации элементов слоя маршрутов. Теги разделяются запятыми. Имя маршрута всегда включается в качестве тега, даже если не указано другое значение.

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

Квалификатор, который будет добавлен к заголовку каждого элемента слоя маршрутов. Например, префикс Monday morning deliveries имени маршрута можно использовать для группировки всех элементов слоя маршрутов, созданных на основе анализа маршрута, выполненного доставкой, которая будет выполняться в понедельник утром. Если значение не указано, заголовок элемента слоя маршрутов будет включать только имя маршрута.

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

Папка в вашем личном онлайн-рабочем пространстве, в которой будут создаваться элементы слоя маршрутов. Если папка с указанным именем отсутствует, она будет создана. Если папка с указанным именем существует, элементы будут созданы в ней. Если значение не задано, элементы слоя маршрутов будут созданы в корневой папке вашей онлайн-рабочей области.

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

Определяет, кто может работать с элементами слоя маршрутов.

  • EVERYBODYЭлементы слоя маршрутов будут общедоступными, и с ними может работать любой, у кого есть URL-адрес этих элементов.
  • MYCONTENTЭлементы слоя маршрутов будут доступны только владельцу элемента (пользователю, подключенному к порталу во время работы инструмента). В результате только владелец элемента может работать со слоями маршрутов. Используется по умолчанию.
  • MYGROUPSЭлементы слоя маршрутов будут доступны группам, к которым принадлежит подключенный пользователь, и его участникам. Группы задаются с помощью параметра groups.
  • MYORGANIZATIONЭлементы слоя маршрутов будут доступны всем пользователям вашей организации, прошедшим аутентификацию.
String
groups
[groups,...]
(Дополнительный)

Список групп, в которых будут опубликованы элементы слоя маршрутов. Это параметр активен только в тех случаях, когда для свойства share_with задано значение MYGROUPS.

String

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

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

Элементы слоя маршрутов, опубликованные на портале.

String

Пример кода

Пример ShareAsRouteLayers (окно Python)

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

arcpy.na.ShareAsRouteLayers('Route')
Пример 2 ShareAsRouteLayers (автономный скрипт)

В следующем примере показывается, как опубликовать вычисленный анализ маршрута в качестве слоя маршрута, указав общую информацию и теги для элемента слоя маршрутов. Имя элемента слоя маршрутов начинается с префикса Wednesday Route for Food Inspection. Слой маршрутов создается в папке RouteLayers вашего активного портала и публикуется в группе Drivers портала.

arcpy.na.ShareAsRouteLayers('Route', 'Share route solve result as route layers', 
                            'Food inspection', 'Wednesday Route for Food Inspection', 
                            'RouteLayers', 'MYGROUPS', 'Drivers')
Пример 3 ShareAsRouteLayers (автономный скрипт)

Следующий автономный скрипт Python демонстрирует, как функцию ShareAsRouteLayers можно использовать для публикации вычисленного слоя сетевого анализа Ближайшие пункты обслуживания на активном портале.

# Name: ShareAsRouteLayers_Workflow.py
# Description: Find the closest warehouse from the store locations and share the
#              results as route layers.
# Requirements: Network Analyst Extension

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


try:
    # Check out Network Analyst license if available. Fail if the Network Analyst license is not available.
    if arcpy.CheckExtension("network") == "Available":
        arcpy.CheckOutExtension("network")
    else:
        raise arcpy.ExecuteError("Network Analyst Extension license is not available.")

    # Check if logged into active Portal. Fail if not logged into actiave portal.
    if arcpy.GetSigininToken() is None:
        raise arcpy.ExecuteError("Please sign in to your active portal in ArcGIS Pro.")
    
    # 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 local variables
    input_gdb = "C:/Data/Paris.gdb"
    network = os.path.join(input_gdb, "Transportation", "ParisMultimodal_ND")
    layer_name = "ClosestWarehouse"
    travel_mode = "Driving Time"
    facilities = os.path.join(input_gdb, "Analysis", "Warehouses")
    incidents = os.path.join(input_gdb, "Analysis", "Stores")

    # Create a new closest facility analysis layer. 
    result_object = arcpy.na.MakeClosestFacilityAnalysisLayer(network,
                                    layer_name, travel_mode, "TO_FACILITIES",
                                    number_of_facilities_to_find=1)

    # Get the layer object from the result object. The closest facility layer can
    # now be referenced using the layer object.
    layer_object = result_object.getOutput(0)

    # Get the names of all the sublayers within the closest facility layer.
    sublayer_names = arcpy.na.GetNAClassNames(layer_object)
    # Stores the layer names that we will use later
    facilities_layer_name = sublayer_names["Facilities"]
    incidents_layer_name = sublayer_names["Incidents"]

    # Load the warehouses as Facilities using the default field mappings and
    # search tolerance
    arcpy.na.AddLocations(layer_object, facilities_layer_name,
                            facilities, "", "")

    # Load the stores as Incidents. Map the Name property from the NOM field
    # using field mappings
    field_mappings = arcpy.na.NAClassFieldMappings(layer_object,
                                                    incidents_layer_name)
    field_mappings["Name"].mappedFieldName = "NOM"
    arcpy.na.AddLocations(layer_object, incidents_layer_name, incidents,
                          field_mappings, "")

    # Solve the closest facility layer
    arcpy.na.Solve(layer_object)

    # Share the routes from the closest facility analysis as route layers
    arcpy.na.ShareAsRouteLayers(layer_object, "Share closest facility solve result as route layers")

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