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. 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ámetroExplicaciónTipo 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:

  • EVERYBODY Los elementos de la capa de ruta serán públicos y son accesibles para cualquier persona que disponga del URL de los elementos.
  • MYCONTENT Los 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.
  • MYGROUPS Los 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.
  • MYORGANIZATION Los 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. Esta opción 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.

Cadena

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 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))

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados