Résumé
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éraires comprend toutes les informations associées à un itinéraire en particulier, telles que les arrêts attribués à l’itinéraire 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 afin de personnaliser davantage l’itinéraire figurant dans la couche d’itinéraire ou via ArcGIS Pro 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éraires portant le même nom existe déjà 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 un Route Name Prefix (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 Pro a été accédé en dernier est le portail utilisé pour créer les couches d’itinéraires.
Syntaxe
arcpy.na.ShareAsRouteLayers(in_network_analysis_layer, {summary}, {tags}, {route_name_prefix}, {portal_folder_name}, {share_with}, {groups})
Paramètre | Explication | Type de données |
in_network_analysis_layer | Couche d’analyse de réseau ou fichier .zip contenant les données d’itinéraire à partir desquelles les éléments de couche d’itinéraire ont été créés. Lorsque l’entrée correspond à une couche d’analyse de réseau, elle doit être déjà résolue. | File; Network Analyst Layer |
summary (Facultatif) | Le 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 spécifié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 couches d’itinéraires. | String |
tags (Facultatif) | Les 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 de balise même lorsqu’une valeur n’est pas spécifiée. | String |
route_name_prefix (Facultatif) | Qualificateur ajouté au titre de chaque élément de couche d’itinéraires. Ainsi, le préfixe Livraison de lundi matin 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. Le paramètre peut être spécifié avec les mots-clés suivants :
| String |
groups [groups,...] (Facultatif) | La liste des groupes avec lesquels les éléments de couche d’itinéraires seront partagés. Ce paramètre est applicable uniquement lorsque le paramètre share_with est défini sur MYGROUPS. | String |
Sortie dérivée
Nom | Explication | Type de données |
route_layer_items | Éléments de couche d’itinéraire partagés dans un portail. | Chaîne |
Exemple de code
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')
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 Itinéraire du mercredi pour l’inspection sanitaire. La couche d’itinéraires est créée dans un dossier appelé RouteLayers dans votre portail actif et partagé avec un groupe nommé Drivers dans votre portail.
arcpy.na.ShareAsRouteLayers('Route', 'Share route solve result as route layers',
'Food inspection', 'Wednesday Route for Food Inspection',
'RouteLayers', 'MYGROUPS', 'Drivers')
Le script Python autonome suivant explique comment l’outil ShareAsRouteLayers permet de partager la couche d’analyse de réseau résolue des ressources les plus proches 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))
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?