Resumen
Comparte el resultado de los análisis de red como elementos de capa de ruta en un portal. Una capa de rutas incluye toda la información para una determinada ruta como, por ejemplo, las paradas asignadas a la ruta y las direcciones del viaje.
Los elementos de capa de ruta pueden usarse desde distintas aplicaciones, por ejemplo, ArcGIS Navigator para proporcionar indicaciones de ruta a los trabajadores de campo, el panel Indicaciones de Map Viewer para personalizar aún más la ruta contenida en la capa de ruta, o bien ArcGIS Pro para crear una nueva capa de análisis de ruta a partir de una capa de ruta.
Uso
La herramienta crea y comparte los elementos de capa de ruta en el portal designado como portal activo. El portal activo debe ser de ArcGIS Online o ArcGIS Enterprise 10.5.1 o posterior.
El usuario que tiene iniciada sesión en el portal activo debe tener los privilegios necesarios para ejecutar análisis espaciales y crear contenido.
Si ya existe un elemento de capa de ruta con el mismo nombre en la carpeta especificada, se creará un nuevo elemento con el mismo nombre. Una forma de evitar la creación de elementos duplicados es usar un Prefijo de nombre de ruta único al crear las capas de ruta con esta herramienta.
Al usar esta herramienta en un script de Python, el portal activo en el que se accedió a ArcGIS Pro por última vez es el portal usado para crear las capas de ruta.
Sintaxis
arcpy.na.ShareAsRouteLayers(in_network_analysis_layer, {summary}, {tags}, {route_name_prefix}, {portal_folder_name}, {share_with}, {groups})
Parámetro | Explicación | Tipo de datos |
in_network_analysis_layer | La capa de análisis de red o un archivo .zip que contiene los datos de ruta a partir de los cuales se crean los elementos de la capa de ruta. Si la entrada es una capa de análisis de red, debe estar ya resuelta. | File; Network Analyst Layer |
summary (Opcional) | El resumen utilizado por los elementos de la capa de ruta. El resumen se muestra como parte de la información del elemento de la capa de ruta. Si no se especifica ningún valor, se usa un texto de resumen predeterminado —Ruta e indicaciones para <nombre de ruta>—, donde <nombre de ruta> se sustituye por el nombre de la ruta representada por la capa de ruta. | String |
tags (Opcional) | Las etiquetas utilizadas para describir e identificar los elementos de la capa de ruta. Las distintas etiquetas se separan mediante comas. El nombre de la ruta se incluye siempre como etiqueta, si no se especifica ningún valor. | String |
route_name_prefix (Opcional) | Un calificador agregado al título de cada elemento de la capa de ruta. Por ejemplo, puede usarse el prefijo de nombre de ruta Entregas del lunes por la mañana para agrupar todos los elementos de capa de ruta creados a partir de un análisis de ruta realizado a partir de las entregas que se deben ejecutar el lunes por la mañana. Si no se especifica ningún valor, el título del elemento de la capa de ruta se crea usando solo el nombre de la ruta. | String |
portal_folder_name (Opcional) | La carpeta de su espacio de trabajo personal en línea en la que se crearán los elementos de la capa de ruta. Si no existe ninguna carpeta con el nombre especificado, se creará una carpeta. Si ya existe una carpeta con el nombre especificado, los elementos se crearán en la carpeta existente. Si no se especifica ningún valor, los elementos de la capa de ruta se crean en la carpeta raíz de su espacio de trabajo en línea. | String |
share_with (Opcional) | Especifica quién puede acceder a los elementos de la capa de ruta. El parámetro puede especificarse mediante las siguientes palabras clave:
| String |
groups [groups,...] (Opcional) | La lista de grupos con la que se compartirán los elementos de la capa de ruta. Esta opción solo es aplicable si el parámetro share_with tiene el valor MYGROUPS. | String |
Salida derivada
Nombre | Explicación | Tipo de datos |
route_layer_items | Los elementos de capas de ruta compartidos en un portal. | Cadena |
Muestra de código
El siguiente ejemplo demuestra cómo compartir un análisis de ruta resuelto como capa de ruta en su portal activo usando solo los parámetros requeridos.
arcpy.na.ShareAsRouteLayers('Route')
El siguiente ejemplo demuestra cómo compartir un análisis de ruta resuelto como capa de ruta especificando un resumen y etiquetas para el elemento de capa de ruta. El nombre del elemento de capa de ruta comienza por el prefijo Wednesday Route for Food Inspection. La capa de ruta se crea en una carpeta llamada RouteLayers de su portal activo y se comparte con un grupo denominado Drivers de su portal.
arcpy.na.ShareAsRouteLayers('Route', 'Share route solve result as route layers',
'Food inspection', 'Wednesday Route for Food Inspection',
'RouteLayers', 'MYGROUPS', 'Drivers')
En el siguiente script independiente de Python se muestra cómo utilizar la herramienta ShareAsRouteLayers para compartir en el portal activo una capa de análisis de red de instalaciones más cercanas.
# 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))
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí