Compartir como capas de ruta (Network Analyst)

Resumen

Comparte el resultado de los análisis de red como elementos de capa de ruta en un portal. Las capas de rutas incluyen toda la información de una ruta, como las paradas asignadas a la ruta o los pedidos atendidos por una ruta, así como las indicaciones 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 móviles, el panel Indicaciones de Map Viewer Classic para personalizar aún más la ruta contenida en la capa de ruta, y ArcGIS AllSource para crear una 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 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 valor de 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 AllSource por última vez es el portal que se utilizará para crear las capas de ruta.

  • El número máximo de capas de ruta que se pueden crear es 1000. Si los datos de la ruta de entrada contienen más de 1000 rutas, la tarea fracasará y se generará un mensaje de error.

Parámetros

EtiquetaExplicaciónTipo de datos
Capa de análisis de red de entrada o datos de ruta

Capa de análisis de red a partir de los cuales se crearán los elementos de la capa de ruta. La capa de análisis de red ya debería estar resuelta.

Las capas de análisis de red de ruta, instalación más cercana, problema de generación de rutas para vehículos y entrega de última milla se admiten como entradas válidas para este parámetro.

La entrada también puede ser un archivo .zip que contenga datos de ruta creados mediante el método saveRouteData() de los objetos de resultados del solucionador arcpy.nax solver result objects o el parámetro de servicio de la API REST que devuelve una geodatabase comprimida de datos de ruta con el esquema correcto.

File; Network Analyst Layer
Resumen
(Opcional)

El resumen que utilizarán 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 proporciona ningún valor, se usa un texto de resumen predeterminado —Ruta e indicaciones para <route name>—, donde <route name> se sustituye por el nombre de la ruta representada por la capa de ruta.

String
Etiquetas
(Opcional)

Las etiquetas que se utilizarán 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, aunque no se proporciona ningún otro valor.

String
Prefijo de nombre de ruta
(Opcional)

Un calificador que se agregará al título de cada elemento de la capa de ruta. Por ejemplo, puede usarse el prefijo de nombre de ruta Monday morning deliveries 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 creará usando solo el nombre de la ruta.

String
Nombre de carpeta del portal
(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 proporcionado, se creará una carpeta. Si ya existe una carpeta con el nombre proporcionado, los elementos se crearán en la carpeta existente. Si no se proporciona ningún valor, los elementos de la capa de ruta se crearán en la carpeta raíz de su espacio de trabajo en línea.

String
Compartir con
(Opcional)

Especifica quién puede acceder a los elementos de la capa de ruta.

  • TodosLos elementos de la capa de ruta serán públicos y son accesibles para cualquier persona que disponga del URL de los elementos.
  • No compartidoLos elementos de la capa de ruta solo se compartirán con el propietario del elemento (el usuario conectado al portal cuando se ejecuta la herramienta). Por tanto, solo el propietario del elemento puede acceder a las capas de ruta. Esta es la opción predeterminada.
  • Estos gruposLos elementos de la capa de ruta se compartirán con los grupos a los que pertenece el usuario y con sus miembros. Los grupos se especifican con el parámetro de grupos.
  • OrganizaciónLos elementos de la capa de ruta se compartirán con todos los usuarios autentificados de su organización.
String
Grupos
(Opcional)

La lista de grupos con la que se compartirán los elementos de la capa de ruta. Este parámetro solo es aplicable si el parámetro Compartir con tiene el valor Estos grupos.

String

Salida derivada

EtiquetaExplicaciónTipo de datos
Elementos de la capa de ruta

Los elementos de capas de ruta compartidos en un portal.

String

arcpy.management.ShareAsRouteLayers(in_network_analysis_layer, {summary}, {tags}, {route_name_prefix}, {portal_folder_name}, {share_with}, {groups})
NombreExplicaciónTipo de datos
in_network_analysis_layer

Capa de análisis de red a partir de los cuales se crearán los elementos de la capa de ruta. La capa de análisis de red ya debería estar resuelta.

Las capas de análisis de red de ruta, instalación más cercana, problema de generación de rutas para vehículos y entrega de última milla se admiten como entradas válidas para este parámetro.

La entrada también puede ser un archivo .zip que contenga datos de ruta creados mediante el método saveRouteData() de los objetos de resultados del solucionador arcpy.nax solver result objects o el parámetro de servicio de la API REST que devuelve una geodatabase comprimida de datos de ruta con el esquema correcto.

File; Network Analyst Layer
summary
(Opcional)

El resumen que utilizarán 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 proporciona ningún valor, se usa un texto de resumen predeterminado —Ruta e indicaciones para <route name>—, donde <route name> se sustituye por el nombre de la ruta representada por la capa de ruta.

String
tags
(Opcional)

Las etiquetas que se utilizarán 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, aunque no se proporciona ningún otro valor.

String
route_name_prefix
(Opcional)

Un calificador que se agregará al título de cada elemento de la capa de ruta. Por ejemplo, puede usarse el prefijo de nombre de ruta Monday morning deliveries 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 creará 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 proporcionado, se creará una carpeta. Si ya existe una carpeta con el nombre proporcionado, los elementos se crearán en la carpeta existente. Si no se proporciona ningún valor, los elementos de la capa de ruta se crearán 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.

  • EVERYBODYLos elementos de la capa de ruta serán públicos y son accesibles para cualquier persona que disponga del URL de los elementos.
  • MYCONTENTLos elementos de la capa de ruta solo se compartirán con el propietario del elemento (el usuario conectado al portal cuando se ejecuta la herramienta). Por tanto, solo el propietario del elemento puede acceder a las capas de ruta. Esta es la opción predeterminada.
  • MYGROUPSLos elementos de la capa de ruta se compartirán con los grupos a los que pertenece el usuario y con sus miembros. Los grupos se especifican con el parámetro de grupos.
  • MYORGANIZATIONLos elementos de la capa de ruta se compartirán con todos los usuarios autentificados de su organización.
String
groups
[groups,...]
(Opcional)

La lista de grupos con la que se compartirán los elementos de la capa de ruta. Este parámetro solo es aplicable si el parámetro share_with tiene el valor MYGROUPS.

String

Salida derivada

NombreExplicaciónTipo de datos
route_layer_items

Los elementos de capas de ruta compartidos en un portal.

String

Muestra de código

Ejemplo de ShareAsRouteLayers (ventana de Python)

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')
Ejemplo 2 de ShareAsRouteLayers (script independiente)

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')
Ejemplo 3 de ShareAsRouteLayers (script independiente)

En el siguiente script independiente de Python se muestra cómo utilizar la función 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))