概要
ネットワーク解析の結果をルート レイヤーとしてアクティブなポータルで共有します。ルート レイヤーには、ルートに割り当てられた訪問先や移動方向など、特定ルートに関するすべての情報が含まれます。
ルート レイヤー アイテムは、現場作業者にルート ガイダンスを提供する場合には、ArcGIS Navigator などの各種アプリケーションで使用し、ルート レイヤーに含まれているルートをカスタマイズする場合には、Map Viewer の [ルート案内] ウィンドウで使用し、ルート レイヤーから新しいルート解析レイヤーを作成する場合には、ArcGIS Pro で使用することができます。
使用法
このツールは、ルート レイヤー アイテムを作成し、アクティブなポータルとして指定されたポータルで共有します。アクティブなポータルは、ArcGIS Online または ArcGIS Enterprise 10.5.1 以降にする必要があります。
アクティブなポータルにサイン インしているユーザーには、空間解析とコンテンツ作成を実行する権限が必要です。
同じ名前のルート レイヤー アイテムが指定のフォルダー内にすでに存在する場合は、新しいアイテムが同じ名前で作成されます。重複するアイテムが作成されないようにするための方法の 1 つは、このツールでルート レイヤーを作成する際に一意の [ルート名の接頭辞] を使用することです。
このツールを Python スクリプトで実行すると、ArcGIS Pro に最後にアクセスしたアクティブなポータルがルート レイヤーの作成に使用されます。
構文
arcpy.na.ShareAsRouteLayers(in_network_analysis_layer, {summary}, {tags}, {route_name_prefix}, {portal_folder_name}, {share_with}, {groups})
パラメーター | 説明 | データ タイプ |
in_network_analysis_layer | ネットワーク解析レイヤー、またはルート レイヤー アイテムの作成元であるルート データを含む *.zip ファイル。ネットワーク解析レイヤーを入力する場合は、すでに解析済みのものを指定する必要があります。 | File; Network Analyst Layer |
summary (オプション) | ルート レイヤー アイテムで使用されるサマリー。このサマリーは、ルート レイヤー アイテムのアイテム情報の一部として表示されます。値を指定しないと、デフォルトのサマリー テキスト (<ルート名> のルートおよびルート案内) が使用されます。ここで、<ルート名> は、ルート レイヤーで表されるルートの名前に置き換えられます。 | String |
tags (オプション) | ルート レイヤー アイテムの説明と識別に使用されるタグ。それぞれのタグはカンマで区切られます。ルート名は、値が指定されていない場合でも、常にタグとして取り込まれます。 | String |
route_name_prefix (オプション) | すべてのルート レイヤー アイテムのタイトルに付加される修飾子。たとえば、ルート名の接頭辞として「Monday morning deliveries」を使用すると、月曜日の午前中に行われる配達でのルート解析によって作成されたすべてのルート レイヤー アイテムがグループ化されます。値を指定しないと、ルート名のみを使用してルート レイヤー アイテムのタイトルが作成されます。 | String |
portal_folder_name (オプション) | ルート レイヤー アイテムが作成されるパーソナル オンライン ワークスペース内のフォルダー。指定された名前のフォルダーが存在しない場合は、フォルダーが作成されます。指定された名前のフォルダーが存在する場合は、既存のフォルダー内にアイテムが作成されます。値を指定しないと、ルート レイヤー アイテムがオンライン ワークスペースのルート フォルダー内に作成されます。 | String |
share_with (オプション) | ルート レイヤー アイテムにアクセスできるユーザーを指定します。このパラメーターには、次のキーワードを指定できます。
| String |
groups [groups,...] (オプション) | ルート レイヤー アイテムの共有先となるグループのリスト。このオプションは、[share_with] パラメーターが [MYGROUPS] に設定されている場合にのみ適用されます。 | String |
派生した出力
名前 | 説明 | データ タイプ |
route_layer_items | ポータルで共有されたルート レイヤー アイテム。 | String |
コードのサンプル
次の例は、必要なパラメーターだけを使用して、解析済みのルート解析をルート レイヤーとしてアクティブなポータルで共有する方法を示しています。
arcpy.na.ShareAsRouteLayers('Route')
次の例は、ルート レイヤー アイテムのサマリーとタグを指定して、解決済みのルート解析をルート レイヤーとして共有する方法を示しています。このルート レイヤー アイテムの名前は「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')
次のスタンドアロン 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: はい