arcpy.na.ShareAsRouteLayers(in_network_analysis_layer, {summary}, {tags}, {route_name_prefix}, {portal_folder_name}, {share_with}, {groups})
|
名前
|
説明
|
データ タイプ
|
|
in_network_analysis_layer
|
ルート レイヤー アイテムの作成元であるネットワーク解析レイヤー。 ネットワーク解析レイヤーは、解析済みである必要があります。
ルート、最寄り施設、配車ルート、ラスト マイル デリバリーの各ネットワーク解析レイヤーがこのパラメーターへの有効な入力としてサポートされています。
arcpy.nax 解析結果オブジェクトの saveRouteData() メソッドによって作成されたルート データを含む .zip ファイル、または正しいスキーマでルート データの圧縮されたジオデータベースを返す 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 関数を使用して、解析済みの最寄り施設の検出ネットワーク解析レイヤーをアクティブなポータルで共有する方法を示しています。
# 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))