Les services de calcul d’itinéraire permettent aux utilisateurs de ArcGIS Enterprise et de ArcGIS Online d’effectuer des analyses de réseau sur le Web. Pour créer un service de calcul d’itinéraire, il est possible notamment de publier un service de carte dans ArcMap en activant la fonctionnalité d’analyse de réseau via l’extension Network Analyst.
Consulter toutes les options destinées à publier des services de calcul d’itinéraire
La première étape dans le cadre de la création de ce type de service de calcul d’itinéraire avec ArcMap consiste à créer une carte contenant la couche d’analyse de réseau. Vous publiez ensuite la carte en tant que service, en veillant à ce que la fonctionnalité d’analyse de réseau soit activée. Vous pouvez utiliser le service généré de diverses manières dont ArcGIS Enterprise, ArcGIS Online et les kits de développement de logiciels (SDK) pour les développeurs. Les sections suivantes décrivent ce processus plus en détail.
Pour étudier le didacticiel illustrant le processus d’autorisation et de publication d’un service de géotraitement dans ArcMap, reportez-vous à la rubrique Exemple de service de géotraitement : polygones de temps de trajet.
Création du document ArcMap
Pour pouvoir publier un service de calcul d’itinéraire, vous devez utiliser ArcMap afin de créer une carte contenant, au minimum, la couche d’analyse de réseau que vous utiliserez dans le service. Vous pouvez soit ajouter une couche existante à l’aide de la boîte de dialogue Add Data (Ajouter des données), soit en créer une sur la base d’une couche de réseau (référençant un jeu de données réseau) déjà présente dans la carte à l’aide de la barre d’outils Network Analyst.
Vous pouvez également utiliser ArcMap pour définir les paramètres d’analyse par défaut à appliquer au service. Ces paramètres incluent notamment des localisations de réseau, telles que des ressources et des interruptions, ainsi que des propriétés du solveur, telles que le nombre de ressources à rechercher et les restrictions applicables.
Publication du service
Après avoir créé et enregistré votre carte, vous pouvez créer le service de calcul d’itinéraire en suivant les étapes de la documentation de publication du service pour ArcMap. Lorsque vous publiez la ressource, gardez à l'esprit les points suivants :
ArcMap propose deux scénarios de publication : copier les données vers le serveur lors de la publication ou ne pas les copier. Si vous ne copiez pas les données sur le serveur lors de la publication, vous devez accorder explicitement au compte ArcGIS Server des autorisations lui permettant de lire toutes les données référencées par la carte avant la publication. Si vous copiez les données sur le serveur lors de la publication, vous ne devez pas autoriser le compte ArcGIS Server à accéder à vos données. Ce processus est détaillé dans la rubrique Comment rendre vos données accessibles à ArcGIS Server.
Lors de la spécification des fonctionnalités dans l’Éditeur de services (option Service Editor), prenez soin d’activer la fonctionnalité Network Analysis (Analyse de réseau).
Fonctionnalités Network Analyst
Les sections suivantes décrivent les fonctionnalités qu’il est possible de définir avant de publier le service.
Généralités
Une fois Network Analysis (Analyse de réseau) activé, dans la boîte de dialogue Service Editor (Éditeur de services), vous pouvez cliquer sur Network Analysis (Analyse de réseau) et spécifier les paramètres généraux suivants :
Output Directory (Répertoire en sortie) — Emplacement dans lequel les couches de résultats sont écrites.
Default Output Geometry Precision (Précision de la géométrie en sortie par défaut) — Cette valeur définit la précision par défaut de la géométrie en sortie après la généralisation. Si elle est définie sur zéro ou n’est pas spécifiée, aucune généralisation de la géométrie en sortie n’a lieu. Si elle est spécifiée et positive, elle représente le paramètre MaximumAllowableOffset. La généralisation est effectuée selon IPolycurve.Generalize.
Allow users to save result layers on the server (Autoriser les utilisateurs à enregistrer les couches de résultats sur le serveur) — Cette case permet d’indiquer si les utilisateurs peuvent ou non enregistrer les couches de résultats sur le serveur en vue d’une réutilisation ultérieure.
Save result layer on server when an error occurs (Enregistrer la couche de résultats sur le serveur lorsqu’une erreur se produit) — Cette case permet d’indiquer si les couches de résultats doivent ou non être automatiquement enregistrées dans le répertoire en sortie si une erreur se produit pendant l’analyse. Si elle est sélectionnée, cette option peut aider à résoudre une erreur.
Save result layer on server when debugging (Enregistrer la couche de résultats sur le serveur lors du débogage) — Lorsque cette case est cochée, les couches de résultats sont automatiquement enregistrées dans le répertoire en sortie pour chaque requête lorsque le niveau de consignation est défini sur DEBUG.
Ignore network location fields (Ignorer les champs de localisation réseau) — Ce paramètre indique au service de ne pas utiliser les champs de localisation dans les localisations de l’analyse en entrée (arrêts, interruptions, ressources, incidents, etc.) s’ils sont transmis avec la requête. Il est utile d’ignorer les champs de localisation de réseau si les noms des rues changent fréquemment pour éviter de transmettre des requêtes comportant des champs de localisation obsolètes.
Contraintes
Les contraintes sont un ensemble de propriétés pouvant être définies pour chaque solveur afin de définir des paramètres pour la sortie de votre service. Ces propriétés peuvent être définies dans l’onglet Constraints (Contraintes). Les contraintes suivantes sont communes à chaque solveur :
- Max Barriers (Nombre maximum d’interruptions) — Nombre maximum d’interruptions ponctuelles à transmettre par requête.
- Max Features intersecting line barriers (Nombre maximum d’entités croisant des interruptions linéaires) — Nombre maximum de rues pouvant être restreintes par des interruptions linéaires par requête.
- Max Features intersecting polygon barriers (Nombre maximum d’entités croisant des interruptions polygonales) — Nombre maximum de rues pouvant être restreintes par des interruptions polygonales par requête.
- Force Hierarchy Beyond (Extent of Inputs) (Forcer la hiérarchie au-delà de (étendue des entrées)) et Units of Force Hierarchy Beyond (Extent of Inputs) (Unités de Forcer la hiérarchie au-delà de (étendue des entrées)) — Lorsque les arrêts sont séparés par de grandes distances, résoudre les requêtes peut solliciter longtemps le serveur et peser lourdement sur les ressources du serveur si cette option n’est pas sélectionnée.
Chaque solveur comporte des contraintes supplémentaires qu’il est possible de définir :
Itinéraire
- Max Stops (Nombre maximum d’arrêts) — Nombre maximum d’arrêts que l’utilisateur est autorisé à transmettre par requête.
- Allow time windows (Autoriser les fenêtres horaires) — Cette option indique si le service permet à l’utilisateur de transmettre des fenêtres horaires sur les arrêts en entrée.
Zone de desserte
- Max Facilities (Nombre maximum de ressources) — Nombre maximum de ressources qu’il est possible de transmettre par requête.
- Max Break (Nombre maximum de bornes) et Units of Max Break (Unités du nombre maximum de bornes) : valeur de borne maximum pouvant être spécifiée pour une requête de zone de desserte. Les unités d’impédance peuvent être basées sur les dimensions suivantes :
- Durée
- Longueur
- Autre
- Force Hierarchy Beyond (Break) (Forcer la hiérarchie au-delà de (borne)) et Units of Force Hierarchy Beyond Break (Unités de Forcer la hiérarchie au-delà de (borne)) : valeur de borne maximum pouvant être spécifiée pour une requête de zone de desserte. Au-delà de ce maximum, le serveur change automatiquement la requête pour utiliser la hiérarchie de réseau.
Ressource la plus proche
- Max Facilities (Nombre maximum de ressources) — Nombre maximum de ressources qu’il est possible de transmettre par requête.
- Max Facilities to find (Nombre maximum de ressources à rechercher) — Nombre maximum de ressources que le service doit pouvoir rechercher par requête à partir d’un incident.
- Max Incidents (Nombre maximum d’incidents) — Nombre maximum d’incidents qu’il est possible de transmettre par requête.
Matrice de coût OD
- Max Destinations (Nombre maximum de destinations) — Nombre maximum de destinations qu’il est possible de transmettre par requête.
- Max Destinations to Find (Nombre maximum de destinations à rechercher) — Nombre maximum de destinations à partir d’une origine que le service doit pouvoir rechercher par requête.
- Max Origins (Nombre maximum d’origines) — Nombre maximum d’origines qu’il est possible de transmettre par requête.
Tournée de véhicules
- Max Orders (Nombre maximum d’ordres) — Nombre maximum d’ordres qu’il est possible de transmettre par requête.
- Max Routes (Nombre maximum d’itinéraires) — Nombre maximum d’itinéraires qu’il est possible de transmettre par requête.
Emplacement-allocation
- Max Demand Points (Nombre maximum de points de demande) — Nombre maximum de points de demande qu’il est possible de transmettre par requête.
- Max Facilities (Nombre maximum de ressources) — Nombre maximum de ressources qu’il est possible de transmettre par requête.
Utilisation du service
Vous pouvez utiliser les services de calcul d’itinéraire afin de fournir des calculs d’itinéraire spécialisés ou hébergés localement dans vos applications bureautiques. Par exemple, la boîte de dialogue Find Route (Rechercher un itinéraire) dans ArcMap est initialement configurée pour permettre un accès aux services de calcul d’itinéraire depuis ArcGIS Online. Si vous préférez utiliser votre propre service, parce que vous avez ajouté des règles ou des données spécifiques ou parce que vous ne voulez pas consommer des crédits de service, vous pouvez reconfigurer ces commandes pour utiliser votre propre service de calcul d’itinéraire. Ceci n'implique aucune écriture de code.
Dans les applications Web et dans les autres scénarios bureautiques, les services de calcul d’itinéraire doivent être utilisés par programmation. Les développeurs d’ArcGIS ont le choix entre de nombreuses plateformes capables de fonctionner avec les services d’analyse du réseau, telles que les API Web ArcGIS, les kits de développement de logiciels ArcGIS Runtime et les API REST.
En savoir plus sur les différentes API permettant d’accéder aux services de calcul d’itinéraire