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

Сводка

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

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

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

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

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

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

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

Синтаксис

arcpy.na.ShareAsRouteLayers(in_network_analysis_layer, {summary}, {tags}, {route_name_prefix}, {portal_folder_name}, {share_with}, {groups})
ParameterОбъяснениеТип данных
in_network_analysis_layer

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

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

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

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

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

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

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

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

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

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

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

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

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

String

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

NameОбъяснениеТип данных
route_layer_items

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

Строковое

Пример кода

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

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

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

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

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

В следующем автономном скрипте 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))

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы