Zusammenfassung
Gibt die Ergebnisse der Netzwerkanalysen als Elemente des Routen-Layers in einem Portal frei. Ein Routen-Layer umfasst alle Informationen einer bestimmten Route wie zum Beispiel die Stopps, die der Route zugewiesen sind, oder die Wegbeschreibungen.
Ein Routen-Layer-Element kann von verschiedenen Anwendungen verwendet werden, z. B. ArcGIS Navigator, um eine Routenführung für Außendienstmitarbeiter bereitzustellen, oder im Bereich Wegbeschreibung in Map Viewer, wo die im Routen-Layer enthaltene Route weiter angepasst werden kann. Alternativ können Sie mit ArcGIS Pro einen neuen Routenanalyse-Layer aus einem Routen-Layer erstellen.
Verwendung
Mit dem Werkzeug können Sie die Elemente des Routen-Layers in dem als aktives Portal gekennzeichneten Portal erstellen und freigeben. Das aktive Portal muss ArcGIS Online oder ArcGIS Enterprise 10.5.1 oder höher sein.
Der Benutzer, der am aktiven Portal angemeldet ist, muss über die erforderlichen Berechtigungen verfügen, um die räumliche Analyse auszuführen und Inhalte zu erstellen.
Wenn im angegebenen Ordner bereits ein Element des Routen-Layers mit dem gleichen Namen vorhanden ist, wird ein neues Element mit demselben Namen erstellt. Eine Möglichkeit, das Erstellen doppelter Elemente zu vermeiden, besteht in der Verwendung eines eindeutigen Präfix für den Routennamen, wenn Sie Routen-Layer mit diesem Werkzeug erstellen.
Wenn Sie dieses Werkzeug in einem Python-Skript verwenden, wird das aktive Portal, über das der letzte Zugriff auf ArcGIS Pro erfolgte, als Portal zum Erstellen der Routen-Layer verwendet.
Syntax
ShareAsRouteLayers(in_network_analysis_layer, {summary}, {tags}, {route_name_prefix}, {portal_folder_name}, {share_with}, {groups})
Parameter | Erklärung | Datentyp |
in_network_analysis_layer | Der Netzwerkanalyse-Layer oder eine .zip-Datei mit den Routendaten, aus denen die Elemente der Routen-Layer erstellt werden. Wenn die Eingabe ein Netzwerkanalyse-Layer ist, muss dieser bereits berechnet sein. | File; Network Analyst Layer |
summary (optional) | Die von den Routen-Layer-Elementen verwendete Zusammenfassung. Die Zusammenfassung wird als Teil der Elementinformationen für das Element des Routen-Layers angezeigt. Wenn kein Wert angegeben wird, wird der standardmäßige Zusammenfassungstext verwendet: Route und Wegbeschreibung für <Routenname>. Hierbei wird <Routenname> durch den Namen der im Routen-Layer dargestellten Route ersetzt. | String |
tags (optional) | Die Tags, mit denen die Elemente der Routen-Layer beschrieben und gekennzeichnet werden. Einzelne Tags werden durch Kommas getrennt. Der Routenname wird immer als Tag eingeschlossen, selbst wenn kein Wert angegeben ist. | String |
route_name_prefix (optional) | Ein Kennzeichner, der dem Titel jedes Elements der Routen-Layer hinzugefügt wird. Beispielsweise kann ein Präfix Auslieferungen am Montagmorgen für einen Routennamen dazu verwendet werden, alle Elemente der Routen-Layer zu gruppieren, die aus einer Routenanalyse erstellt wurden, die wiederum mit Auslieferungen durchgeführt wurde, die am Montagmorgen ausgeführt werden sollen. Wenn kein Wert angegeben wird, wird der Titel für das Element des Routen-Layers nur mit dem Routennamen erstellt. | String |
portal_folder_name (optional) | Der Ordner im persönlichen Online-Workspace, in dem die Elemente der Routen-Layer erstellt werden. Wenn kein Ordner mit dem angegebenen Namen vorhanden ist, wird ein Ordner erstellt. Wenn ein Ordner mit dem angegebenen Namen vorhanden ist, werden die Elemente im vorhandenen Ordner erstellt. Wenn kein Wert angegeben wird, werden die Elemente der Routen-Layer im Stammverzeichnis des Online-Workspace erstellt. | String |
share_with (optional) | Legt fest, wer auf die Elemente der Routen-Layer zugreifen darf. Der Parameter kann mit den folgenden Schlagwörtern angegeben werden:
| String |
groups [groups,...] (optional) | Die Liste der Gruppen, für die die Routen-Layer-Elemente freigegeben werden. Diese Option ist nur gültig, wenn der Parameter share_with auf MYGROUPS gesetzt ist. | String |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
route_layer_items | In einem Portal freigegebene Routen-Layer-Elemente. | Zeichenfolge |
Codebeispiel
Im folgenden Beispiel wird gezeigt, wie Sie eine berechnete Routenanalyse nur mit den erforderlichen Parametern als Routen-Layer auf dem aktiven Portal freigeben können.
arcpy.na.ShareAsRouteLayers('Route')
Im folgenden Beispiel wird gezeigt, wie Sie eine berechnete Routenanalyse unter Angabe einer Zusammenfassung und von Tags für das Element der Routen-Layer als Routen-Layer freigeben können. Der Name des Elements der Routen-Layer beginnt mit einem Präfix Mittwochsroute für Lebensmittelüberprüfung. Der Routen-Layer wird im Ordner "RouteLayers" im aktiven Portal erstellt und für eine Gruppe mit der Bezeichnung "Fahrer" im Portal freigegeben.
arcpy.na.ShareAsRouteLayers('Route', 'Share route solve result as route layers',
'Food inspection', 'Wednesday Route for Food Inspection',
'RouteLayers', 'MYGROUPS', 'Drivers')
Mit dem folgenden eigenständigen Python-Skript wird veranschaulicht, wie ein berechneter Netzwerkanalyse-Layer für nächstgelegene Einrichtungen mit dem Werkzeug ShareAsRouteLayers im aktiven Portal freigegeben werden kann.
# 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))
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja