Partager en tant que couches d’itinéraires (Network Analyst)

Synthèse

Partage les résultats des analyses réseau en tant qu’éléments de couche d’itinéraires dans un portail. Une couche d’itinéraire comprend toutes les informations relatives à un itinéraire, comme les arrêts attribués à l’itinéraire, les ordres qu’il dessert et les feuilles de route.

Un élément de couche d’itinéraire peut être utilisé par diverses applications. Dans ArcGIS Navigator, par exemple, il permet de guider les équipes dépêchées sur le terrain, via la fenêtre Directions (Feuille de route) du module Map Viewer Classic afin de personnaliser davantage l’itinéraire figurant dans la couche d’itinéraire ou via ArcGIS AllSource pour créer une couche d’analyse d’itinéraires à partir d’une couche d’itinéraire.

Utilisation

  • L’outil crée et partage les éléments de couche d’itinéraires dans le portail désigné comme le portail actif. Le portail actif doit exécuter ArcGIS Online ou ArcGIS Enterprise version 10.5.1 ou supérieure.

  • L’utilisateur qui s’est connecté au portail actif doit posséder les privilèges nécessaires pour réaliser l’analyse spatiale et créer le contenu.

  • Si un élément de couche d’itinéraire portant le même nom est présent dans le dossier spécifié, un autre élément portant le même nom sera créé. Pour éviter la création des éléments en double, il convient d’utiliser une valeur Préfixe du nom de l’itinéraire unique lors de la création de couches d’itinéraires avec cet outil.

  • Lors de l’utilisation de cet outil dans un script Python, le portail actif sur lequel ArcGIS AllSource a été accédé en dernier est le portail utilisé pour créer les couches d’itinéraires.

  • Le nombre maximal de couches d’itinéraires pouvant être créées est de 1 000. Si les données d’itinéraire contiennent plus de 1 000 itinéraires, la tâche échoue et un message d’erreur apparaît.

Paramètres

ÉtiquetteExplicationType de données
Couche d’analyse de réseau en entrée ou données d’itinéraire

Couche d’analyse de réseau à partir de laquelle les éléments de couche d’itinéraire sont créés. La couche d’analyse de réseau doit déjà être résolue.

Les couches d’analyse d’itinéraires, des ressources les plus proches, de tournée de véhicules et de livraison sur le dernier kilomètre sont acceptées comme entrées valides dans ce paramètre.

L’entrée peut également être un fichier .zip contenant des données d’itinéraire créées à l’aide de la méthode saveRouteData() des objets de résultat de solveur arcpy.nax ou du paramètre de service dans l’API REST qui renvoient une geodatabase compressée des données d’itinéraire avec la structure correcte.

File; Network Analyst Layer
Résumé
(Facultatif)

Résumé utilisé par les éléments de couche d’itinéraires. Le résumé se présente comme une partie des informations pour l’élément de couche d’itinéraires. Si aucune valeur n’est indiquée, le texte de synthèse par défaut (Itinéraire et feuille de route pour <nom de l’itinéraire>) est utilisé ; <nom de l’itinéraire> est remplacé par le nom de l’itinéraire représenté par la couche d’itinéraire.

String
Balises
(Facultatif)

Balises utilisées pour décrire et identifier les éléments de couches d’itinéraires. Les balises individuelles sont séparées par des virgules. Le nom de l’itinéraire est toujours inclus sous forme d’une balise même lorsqu’une autre valeur n’est pas indiquée.

String
Préfixe du nom de l’itinéraire
(Facultatif)

Qualificateur qui sera ajouté au titre de chaque élément de couche d’itinéraires. Ainsi, le préfixe Monday morning deliveries permet de regrouper tous les éléments de couches d’itinéraires créés à partir d’une analyse d’itinéraire en rapport avec les livraisons à effectuer le lundi matin. Si aucune valeur n’est spécifiée, le titre de l’élément de couche d’itinéraires est créé seulement avec le nom de l’itinéraire.

String
Nom du dossier du portail
(Facultatif)

Dossier dans votre espace de travail en ligne personnel dans lequel les éléments de couche d’itinéraires seront créés. Si un dossier du nom spécifié n’existe pas, un dossier est créé. Si un dossier portant le nom spécifié existe, les éléments seront créés dans le dossier existant. Si aucune valeur n’est spécifiée, les éléments de couche d’itinéraires sont créés dans le dossier racine de votre espace de travail en ligne.

String
Partager avec
(Facultatif)

Indique les personnes pouvant accéder aux éléments de couche d’itinéraires.

  • Tout le mondeLes éléments de couche d’itinéraires sont publics et sont accessibles à tout utilisateur possédant l’URL menant à ces éléments.
  • Non partagéLes éléments de couche d’itinéraires ne sont visibles que par le propriétaire de l’élément (l’utilisateur connecté au portail lorsque l’outil est exécuté). Ainsi, seul le propriétaire de l’élément peut accéder aux couches d’itinéraires. Il s’agit de l’option par défaut.
  • Ces groupesLes éléments de couche d’itinéraires sont partagés avec les groupes auxquels appartient l’utilisateur connecté. Les groupes sont spécifiés à l’aide du paramètre de groupe.
  • OrganisationLes éléments de couche d’itinéraires sont partagés avec les utilisateurs authentifiés dans votre organisation.
String
Groupes
(Facultatif)

La liste des groupes avec lesquels les éléments de couche d’itinéraires seront partagés. Ce paramètre est applicable seulement lorsque le paramètre Partager avec est réglé sur Ces groupes.

String

Sortie obtenue

ÉtiquetteExplicationType de données
Éléments de couche d’itinéraires

Éléments de couche d’itinéraire partagés dans un portail.

String

arcpy.management.ShareAsRouteLayers(in_network_analysis_layer, {summary}, {tags}, {route_name_prefix}, {portal_folder_name}, {share_with}, {groups})
NomExplicationType de données
in_network_analysis_layer

Couche d’analyse de réseau à partir de laquelle les éléments de couche d’itinéraire sont créés. La couche d’analyse de réseau doit déjà être résolue.

Les couches d’analyse d’itinéraires, des ressources les plus proches, de tournée de véhicules et de livraison sur le dernier kilomètre sont acceptées comme entrées valides dans ce paramètre.

L’entrée peut également être un fichier .zip contenant des données d’itinéraire créées à l’aide de la méthode saveRouteData() des objets de résultat de solveur arcpy.nax ou du paramètre de service dans l’API REST qui renvoient une geodatabase compressée des données d’itinéraire avec la structure correcte.

File; Network Analyst Layer
summary
(Facultatif)

Résumé utilisé par les éléments de couche d’itinéraires. Le résumé se présente comme une partie des informations pour l’élément de couche d’itinéraires. Si aucune valeur n’est indiquée, le texte de synthèse par défaut (Itinéraire et feuille de route pour <nom de l’itinéraire>) est utilisé ; <nom de l’itinéraire> est remplacé par le nom de l’itinéraire représenté par la couche d’itinéraire.

String
tags
(Facultatif)

Balises utilisées pour décrire et identifier les éléments de couches d’itinéraires. Les balises individuelles sont séparées par des virgules. Le nom de l’itinéraire est toujours inclus sous forme d’une balise même lorsqu’une autre valeur n’est pas indiquée.

String
route_name_prefix
(Facultatif)

Qualificateur qui sera ajouté au titre de chaque élément de couche d’itinéraires. Ainsi, le préfixe Monday morning deliveries permet de regrouper tous les éléments de couches d’itinéraires créés à partir d’une analyse d’itinéraire en rapport avec les livraisons à effectuer le lundi matin. Si aucune valeur n’est spécifiée, le titre de l’élément de couche d’itinéraires est créé seulement avec le nom de l’itinéraire.

String
portal_folder_name
(Facultatif)

Dossier dans votre espace de travail en ligne personnel dans lequel les éléments de couche d’itinéraires seront créés. Si un dossier du nom spécifié n’existe pas, un dossier est créé. Si un dossier portant le nom spécifié existe, les éléments seront créés dans le dossier existant. Si aucune valeur n’est spécifiée, les éléments de couche d’itinéraires sont créés dans le dossier racine de votre espace de travail en ligne.

String
share_with
(Facultatif)

Indique les personnes pouvant accéder aux éléments de couche d’itinéraires.

  • EVERYBODYLes éléments de couche d’itinéraires sont publics et sont accessibles à tout utilisateur possédant l’URL menant à ces éléments.
  • MYCONTENTLes éléments de couche d’itinéraires ne sont visibles que par le propriétaire de l’élément (l’utilisateur connecté au portail lorsque l’outil est exécuté). Ainsi, seul le propriétaire de l’élément peut accéder aux couches d’itinéraires. Il s’agit de l’option par défaut.
  • MYGROUPSLes éléments de couche d’itinéraires sont partagés avec les groupes auxquels appartient l’utilisateur connecté. Les groupes sont spécifiés à l’aide du paramètre de groupe.
  • MYORGANIZATIONLes éléments de couche d’itinéraires sont partagés avec les utilisateurs authentifiés dans votre organisation.
String
groups
[groups,...]
(Facultatif)

La liste des groupes avec lesquels les éléments de couche d’itinéraires seront partagés. Ce paramètre s’applique uniquement lorsque le paramètre share_with est défini sur MYGROUPS.

String

Sortie obtenue

NomExplicationType de données
route_layer_items

Éléments de couche d’itinéraire partagés dans un portail.

String

Exemple de code

Exemple d’utilisation de l’outil ShareAsRouteLayers (fenêtre Python)

L’exemple suivant présente le partage d’une analyse d’itinéraire résolu en tant que couche d’itinéraires sur votre portail actif n’utilisant que les paramètres obligatoires.

arcpy.na.ShareAsRouteLayers('Route')
Exemple 2 d’utilisation de l’outil ShareAsRouteLayers (script autonome)

L’exemple suivant présente le partage d’une analyse d’itinéraire résolu en tant que couche d’itinéraires spécifiant un résumé et des balises pour l’élément de couche d’itinéraires. Le nom de l’élément de couche d’itinéraires commence par le préfixe Wednesday Route for Food Inspection. La couche d’itinéraire est créée dans un dossier appelé RouteLayers dans le portail actif et partagé avec un groupe nommé Drivers dans le portail.

arcpy.na.ShareAsRouteLayers('Route', 'Share route solve result as route layers', 
                            'Food inspection', 'Wednesday Route for Food Inspection', 
                            'RouteLayers', 'MYGROUPS', 'Drivers')
Exemple 3 d’utilisation de l’outil ShareAsRouteLayers (script autonome)

Le script Python autonome suivant explique comment la fonction ShareAsRouteLayers permet de partager une couche d’analyse de réseau Ressource la plus proche résolue sur le portail actif.

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