arcpy.na.ShareAsRouteLayers(in_network_analysis_layer, {summary}, {tags}, {route_name_prefix}, {portal_folder_name}, {share_with}, {groups})
|
名称
|
说明
|
数据类型
|
|
in_network_analysis_layer
|
将创建路径图层项目的网络分析图层。 网络分析图层应已求解。
支持路径、最近设施点、车辆配送和最后一公里配送网络分析图层作为此参数的有效输入。
输入还可以是包含路径数据的 .zip 文件,这些数据由 arcpy.nax 求解器结果对象的 saveRouteData() 方法或 REST API 中可返回包含正确方案的压缩路径数据地理数据库的服务参数创建。
|
File; Network Analyst Layer
|
|
summary
(可选)
|
路径图层项目将使用的汇总。 汇总将显示为路径图层项目的一部分项目信息。 如果未提供值,则将使用默认摘要文本 - 路径和方向 <route name>其中 <route name> 将替换为路径图层表示的路径的名称。
|
String
|
|
tags
(可选)
|
这些标签将用于描述和标识路径图层项目。 各个标签以逗号分隔。 路径名称始终包含为标签,即使未提供其他值时也是如此。
|
String
|
|
route_name_prefix
(可选)
|
此限定符将添加至每个路径图层项目的标题。 例如,Monday morning deliveries 的路径名称前缀可用于对路径分析创建的所有路径图层项目进行分组,该路径分析由将于星期一上午运行的配送执行。 如果未指定值,则将仅使用路径名称创建路径图层项目的标题。
|
String
|
|
portal_folder_name
(可选)
|
个人在线工作空间中将创建路径图层项目的文件夹。 如果不存在具有提供名称的文件夹,则将创建一个文件夹。 如果存在具有提供名称的文件夹,则将在现有文件夹中创建项目。 如果未提供值,则将在您的在线工作空间的根文件夹中创建路径图层项目。
|
String
|
|
share_with
(可选)
|
指定可以访问路径图层项目的用户。
EVERYBODY—路径图层项目将为公共项目,可供具有项目 URL 的任何人进行访问。
MYCONTENT—路径图层项目将仅与项目所有者(该用户在运行该工具时已连接到门户)进行共享。 因此,只有项目所有者可以访问路径图层。 这是默认设置。
MYGROUPS—路径图层项目将与已连接用户所属的群组及其成员进行共享。 群组使用群组参数进行指定。
MYORGANIZATION—路径图层项目将与组织内已身份验证的所有用户进行共享。
|
String
|
|
groups
[groups,...]
(可选)
|
将与之共享路径图层项目的群组列表。 仅在 share_with 参数设置为 MYGROUPS 时,此参数适用。
|
String
|
派生输出
|
名称
|
说明
|
数据类型
|
|
route_layer_items
|
在门户中共享的路径图层项目。
|
String
|
代码示例
ShareAsRouteLayers 示例(Python 窗口)
以下示例演示了如何仅使用所需参数将已求解路径分析作为路径图层共享到活动门户。
arcpy.na.ShareAsRouteLayers('Route')
ShareAsRouteLayers 示例 2(独立脚本)
以下示例演示了如何通过指定路径图层项目的汇总和标签将已求解路径分析共享为路径图层。 路径图层项目的名称以前缀 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')
ShareAsRouteLayers 示例 3(独立脚本)
以下独立 Python 脚本演示了如何使用 ShareAsRouteLayers 函数将已求解 Closest Facilities 网络分析图层共享到活动门户。
# 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 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))