Сводка
Публикует результаты сетевого анализа как элемент слоя маршрута на портале. Слой маршрута включает всю информацию для отдельного маршрута, например, назначенные остановки и направления движения.
Элементы слоев маршрутов можно использовать в различных приложениях, таких как 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 (Дополнительный) | Определяет, кто может получать доступ к элементам слоя маршрута. Параметр может быть задан с помощью следующих ключевых слов:
| String |
groups [groups,...] (Дополнительный) | Список групп, с которыми будут совместно использоваться элементы слоя маршрута. Эта опция применима, только когда для параметра share_with задано MYGROUPS. | String |
Производные выходные данные
Name | Объяснение | Тип данных |
route_layer_items | Элементы слоя маршрута, опубликованные на портале. | Строковое |
Пример кода
На следующем примере показано, как опубликовать результаты анализа маршрута в качестве слоя маршрута на активном портале, используя только обязательные параметры.
arcpy.na.ShareAsRouteLayers('Route')
На следующем примере показано, как опубликовать результаты анализа маршрута в качестве слоя маршрута, указав краткую информацию и теги для элемента слоя маршрута. Имя слоя маршрута начинается с префикса 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')
В следующем автономном скрипте 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))
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да