Skip To Content

Didacticiel : publier un service d'analyse du réseau

Disponible avec une licence Network Analyst.

Complexité : Débutant Exigences en matière de données : Installé avec le logiciel Chemin des données : <ArcGIS Server installation directory>/help/samples/data/network_analyst/SanFrancisco.gdb Objectif : Publier un service d'analyse du réseau sur ArcGIS Server et l'utiliser dans ArcMap et une application Web.

Vous pouvez effectuer une analyse du réseau sur un réseau de transport sur le Web en hébergeant des services d’analyse du réseau sur un site ArcGIS Server. Cela inclut la recherche des ressources les plus proches, du meilleur itinéraire pour un véhicule et des meilleurs itinéraires pour une flotte de véhicules par emplacement-allocation, le calcul d'une matrice de coût OD et la génération de zones de desserte. Ce didacticiel vous guide à travers le processus de création d'une carte pouvant être utilisée pour l'analyse de réseau et vous montre comment la publier comme service d'analyse du réseau. Il vous renvoie ensuite à différentes rubriques d’aide sur l’utilisation du service d’analyse du réseau dans ArcMap et une application Web. Pour en savoir plus sur les différents types d'analyses de réseau et leurs fonctions, reportez-vous à la rubrique Types d'analyses de réseau dans l'aide d'ArcGIS.

Avant de commencer ce didacticiel

Si vous venez d’installer ArcGIS Server, vous devez réaliser certaines étapes préparatoires avant de pouvoir vous connecter au serveur et publier des services.

Données du didacticiel

Les données de ce didacticiel sont installées en même temps que ArcGIS Server, sous <ArcGIS Server installation directory>/help/samples/data/network_analyst.

Vous pouvez également essayer de suivre les étapes en utilisant vos propres données.

Créer le document ArcMap

Un service d'analyse du réseau nécessite un service de carte contenant une ou plusieurs couches d'analyse de réseau. En d'autres termes, la carte publiée sur le serveur doit contenir une ou plusieurs couches d'analyse de réseau créées avec les outils de la barre d'outils Network Analyst. Les services d'analyse du réseau prennent en charge la couche d'analyse d'itinéraires, la couche d'analyse des ressources les plus proches et la couche d'analyse de la zone de desserte.

Suivez ces étapes pour créer une carte unique capable d'effectuer ces trois types d'analyse du réseau :

  1. Démarrez ArcMap et ouvrez un nouveau document ArcMap vide.
  2. Cliquez sur Personnaliser > Extensions et cochez la case Network Analyst pour activer l'extension Network Analyst.
  3. Cliquez sur Personnaliser > Barres d'outils > Network Analyst pour afficher la barre d'outils Network Analyst.
  4. Ajoutez un jeu de données réseau, qui doit être présent sur la carte pour créer une couche d’analyse de réseau, en cliquant sur Add Data (Ajouter des données)Ajouter des données sur la barre d’outils standard. Accédez au jeu de données réseau Streets_ND figurant dans la base de données SanFrancisco. Lorsque vous êtes invité à ajouter à la carte toutes les classes d'entités qui participent à Streets_ND, cliquez sur Non.
  5. Ajoutez une couches d'analyse d'itinéraire à votre carte en cliquant sur le menu déroulant Network Analyst dans la barre d'outils Network Analyst et en sélectionnant Nouvel itinéraire.

    Barre d’outils Network Analyst

    Lorsque vous créez une couche d’analyse de réseau dans ArcMap, elle est automatiquement liée au jeu de données réseau actif. Comme le réseau San Francisco était actif lorsque vous avez créé la couche d'analyse d'itinéraire, les deux sont donc liés. Comme la couche d’analyse de réseau fait référence au jeu de données réseau auquel elle est liée par le chemin de fichier, la couche du jeu de données réseau n’est plus nécessaire dans ArcMap.

  6. Cliquez avec le bouton droit sur Streets_ND ou sur le nom de la couche de jeu de données de réseau, puis cliquez sur Remove (Supprimer).

    Même si la carte est vide, la couche d'analyse du réseau est présente et elle peut être publiée en tant que service. Lorsque vous ajoutez éventuellement le service d'analyse réseau publié à une carte, il n'affiche aucune entité au départ, jusqu'à ce qu'il génère des résultats. Pour fournir davantage de contexte lorsque vous utilisez un service d’analyse du réseau, vous pouvez aussi utiliser un service de carte mis en cache, tel que celui fourni par ArcGIS Online.

  7. Cliquez sur Fichier > Enregistrer sous pour enregistrer la carte.

Publier le service d'analyse du réseau

Une fois que votre carte est dotée d'une couche d'analyse de réseau, vous êtes prêt à la publier comme service d'analyse du réseau. Vous allez publier le document ArcMap en tant que service et activer la fonction d'analyse du réseau, ce qui crée un service d'analyse du réseau du même nom.

Pour configurer et publier votre document ArcMap sur ArcGIS Server via ArcMap, procédez comme suit :

  1. Dans ArcMap, sélectionnez File (Fichier) > Share As (Partager en tant que) > Service dans le menu principal.
  2. Dans la fenêtre Share as Service (Partager en tant que service), sélectionnez Publish a service (Publier un service). Cliquez sur Next (Suivant).
  3. Dans la boîte de dialogue Publish a Service (Publier un service), cliquez sur Connect to ArcGIS Server (Connecter à ArcGIS Server)Ajouter un serveur ArcGIS pour créer une connexion au serveur.
  4. Dans la fenêtre Ajouter un serveur ArcGIS, sélectionnez Publier les services SIG. Cliquez sur Next (Suivant).
  5. Dans le champ Server URL (URL du serveur), saisissez l’URL du site ArcGIS Server auquel vous souhaitez vous connecter ; par exemple, http://gisserver.domain.com:6080/arcgis.
  6. Dans la liste déroulante Type de serveur, sélectionnez ArcGIS Server.

    Au cours du processus de publication, un fichier de définition de service est créé et stocké temporairement sur un disque local. A l'issue du processus, la définition de service est chargée sur le serveur et le fichier local est supprimé.

  7. Dans le cadre de ce didacticiel, acceptez le dossier par défaut et poursuivez.
  8. Si votre administrateur de serveur a activé la sécurité de votre site, entrez vos Nom d'utilisateur et Mot de passe. Cliquez sur Finish (Terminer).
  9. Facultativement, dans la fenêtre Publish a Service (Publier un service), entrez un nouveau nom pour le service. Le nom ne doit pas dépasser 120 caractères et ne peut contenir que des caractères alphanumériques et des traits de soulignement. Cliquez sur Next (Suivant).
  10. Par défaut, les services sont publiés sur le dossier (racine) de ArcGIS Server. Les services peuvent être organisés dans des sous-dossiers du dossier racine. Choisissez le dossier où vous souhaitez publier le service ou créez un dossier pour contenir le service. Cliquez sur Continuer.

    La fenêtre Service Editor (Éditeur de services) s’affiche. Dans la fenêtre Service Editor (Éditeur de services), sélectionnez les opérations que les utilisateurs peuvent effectuer avec le service d’analyse du réseau. Vous pouvez contrôler en détail la manière dont le serveur expose votre service.

  11. Cliquez sur l'onglet Fonctionnalités.

    Par défaut, Cartographie et KML sont activés.

  12. Cochez l'option Analyse de réseau.
  13. Dans le volet gauche de l'Editeur de services, cliquez sur l'onglet Analyse de réseau et vérifiez les opérations et les propriétés activées pour votre service d'analyse du réseau. Dans le cadre de ce didacticiel, vous pouvez accepter les valeurs par défaut et poursuivre. Si vous désirez en apprendre davantage cependant, reportez-vous à la rubrique Services d'analyse du réseau. Pour plus d'informations sur la procédure de configuration au mieux du service d'analyse réseau aux fins de déploiement, reportez-vous à la rubrique Optimisation et configuration des services.
  14. Cliquez sur AnalyserAnalyser. Cette fonction examine la carte pour voir si elle peut être publiée sur le serveur.
    Conseil :

    Pour agrandir la zone d’affichage lors de la configuration de votre service d’analyse du réseau, cliquez sur le bouton Collapse (Réduire)Réduire en haut de la fenêtre Service Editor (Éditeur de services).

  15. Corrigez les erreurs éventuellesErreur dans la fenêtre Prepare (Préparation) avant de publier. Vous pouvez éventuellement corriger les avertissements et les messages d'information pour améliorer davantage les performances et l'apparence de votre service d'analyse du réseau. Pour plus d'informations sur la résolution de ces problèmes, reportez-vous à la rubrique Analyser votre ressource SIG.
    Remarque :

    Vous pouvez inscrire les emplacements des dossiers, des bases de données et de stockage cloud auprès de votre site ArcGIS Server pour vous assurer que le serveur peut reconnaître et utiliser vos données. Si vous suivez les étapes ci-dessous, toutes les données référencées par votre document ArcMap provenant d'une source de données non inscrite sont copiées sur le serveur au moment de la publication. Il s'agit d'une mesure de précaution visant à s'assurer que le serveur peut accéder à toutes les données utilisées par le service. Pour obtenir des instructions détaillées sur l’inscription d’une source de données auprès de votre site ArcGIS Server, reportez-vous à la rubrique Inscrire vos données auprès de ArcGIS Server avec ArcMap.

  16. Une fois les erreurs résolues dans votre document ArcMap, cliquez sur Publish (Publier)Publier.

    Votre document ArcMap est publié sur ArcGIS Server, qui génère alors un service de carte et un service d’analyse du réseau associé du même nom.

Utiliser le service d'analyse du réseau

Les clients de ArcGIS Server, tels que ArcGIS Desktop et les navigateurs Web, peuvent utiliser des services d’analyse du réseau. Dans ArcMap, le bouton (Find Route) Rechercher un itinéraireRechercher un itinéraire propose des fonctions prêtes à l’emploi pour exploiter les fonctionnalités de calcul d’itinéraire fournies par votre service d’analyse du réseau. Dans les navigateurs Web, les services d’analyse du réseau sont utilisés par programmation via des applications Web conçues avec ArcGIS Online, ArcGIS Enterprise et ArcGIS API for JavaScript. Pour en savoir plus sur ces clients, reportez-vous à la rubrique Services d’analyse du réseau.

Pour savoir comment utiliser votre service d’analyse du réseau dans ArcGIS Desktop ou dans une application Web de base créée à l’aide d’ArcGIS API for JavaScript, reportez-vous aux sections suivantes :

Utiliser un service de calcul d’itinéraire dans ArcMap

Pour utiliser un service de calcul d’itinéraire dans ArcMap, procédez comme suit :

  1. Démarrez ArcMap et ouvrez un nouveau document ArcMap vide.
  2. Vous devez pouvoir vous connecter à ArcGIS Server en tant qu’éditeur, mais vous devez bénéficier d’une connexion utilisateur pour utiliser ce service dans ArcMap. Dans la fenêtre Catalog (Catalogue), développez le nœud GIS Servers (Serveurs SIG) et double-cliquez sur Add ArcGIS Server (Ajouter un serveur ArcGIS) pour établir une connexion utilisateur. Pour obtenir des instructions étape par étape pour la configuration de la connexion, reportez-vous à la rubrique Se connecter à ArcGIS Server depuis ArcGIS Desktop.
  3. Dans la fenêtre Catalog (Catalogue), développez le nœud GIS Servers (Serveurs SIG) et double-cliquez sur votre nouvelle connexion à ArcGIS Server qui se termine par "(user)".
  4. Dans votre connexion au serveur, repérez le service de carte qui contient votre service d'analyse réseau et faites-le glisser dans la table des matières.
  5. Bien que la couche soit présente dans la table des matières, la carte est toujours vide. Pour donner un contexte à la carte, ajoutez une couche de fond de carte à partir d’ArcGIS Online.
    1. Cliquez sur la flèche de liste déroulante en regard du bouton Add Data (Ajouter des données) Ajouter des données dans la barre d’outils Standard et choisissez Add Basemap (Ajouter un fond de carte).
    2. Double-cliquez sur un fond de carte, tel que Topographie.
  6. Effectuez un zoom avant sur la péninsule de San Francisco, qui se trouve du côté sud de la carte, car les arrêts que vous ajouterez doivent être à l'intérieur des limites du jeu de données réseau San Francisco que vous avez utilisé pour créer la couche d'analyse réseau. Si vous n’utilisez pas la base de données SanFrancisco fournie, ignorez cette étape.
  7. Dans la barre d’outils Tools (Outils), cliquez sur Find route (Rechercher un itinéraire)Rechercher un itinéraire.
  8. Dans la boîte de dialogue Rechercher un itinéraire, cliquez sur l'onglet Options.
  9. Cliquez dans la liste déroulante Service de calcul d'itinéraire et sélectionnez Route <Layers\[nom de votre service de calcul d'itinéraire]>.
  10. Cliquez sur l'onglet Arrêts. Utilisez les contrôles et paramètres sous l'onglet Arrêts pour renseigner l'analyse de réseau.
  11. Lorsque vous êtes prêt à résoudre l'itinéraire, cliquez sur Rechercher un itinéraire.

Utiliser un service de calcul d'itinéraire dans une application Web de base

Pour utiliser un service de calcul d’itinéraire dans une application web, procédez comme suit :

  1. Pour utiliser un service d'analyse réseau dans une application Web, vous devez en connaître l'URL. Dans un navigateur web, accédez au répertoire des services ArcGIS Server ; par exemple http://gisserver.domain.com:6080/arcgis/rest/services.
  2. Dans la liste des services, cliquez sur votre service d'analyse réseau. Tous les services d'analyse de réseau sont suivis de (NAServer). Si votre service réside dans un dossier, accédez à ce dossier et sélectionnez le service.

    Une page contenant le nom et la description du service ainsi que la liste des couches d’analyse disponibles s’affiche.

  3. Cliquez sur Itinéraire.

    Une page affiche les propriétés de la couche d’itinéraire.

  4. Dans la barre d'adresse du navigateur, copiez l'URL de cette page et collez-la dans un éditeur de texte.

    Il s'agit de l'URL REST de la tâche d'itinéraire de votre service d'analyse réseau. L’URL est au format suivant : http://gisserver.domain.com:6080/arcgis/rest/services/folder/service/NAServer/Route

  5. Copiez et collez l’exemple de code suivant dans un éditeur de texte, tel que le Bloc-notes :

    <!DOCTYPE html>
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        
        <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
        <title>Simple Routing</title>
    
        <link rel="stylesheet" href="https://js.arcgis.com/3.16/dijit/themes/claro/claro.css">
        <link rel="stylesheet" href="https://js.arcgis.com/3.16/esri/css/esri.css">
        
        <script src="https://js.arcgis.com/3.16/"></script>
        <script>
          require([
            "esri/urlUtils",
            "esri/map",
            "esri/graphic",            
            "esri/tasks/RouteTask",            
            "esri/tasks/RouteParameters",
    
            "esri/tasks/FeatureSet",            
            "esri/symbols/SimpleMarkerSymbol",
            "esri/symbols/SimpleLineSymbol",          
    
            "esri/Color",
            "dojo/on",
            "dijit/registry",
    
            "dijit/layout/BorderContainer",
            "dijit/layout/ContentPane",
            "dijit/form/HorizontalSlider",
            "dijit/form/HorizontalRuleLabels"
          ], function (
            urlUtils, Map, Graphic, RouteTask, RouteParameters,
            FeatureSet, SimpleMarkerSymbol, SimpleLineSymbol,           
            Color, on, registry
          ) {
            var map, routeTask, routeParams;
            var stopSymbol, routeSymbol, lastStop;
    
           //When referencing a local route task, the proxy rule may be removed or commented out.
    
            urlUtils.addProxyRule({
              urlPrefix: "route.arcgis.com",  
              proxyUrl: "/sproxy/"
            });
            
            map = new Map("map", {
                basemap : "streets",
                center : [-117.195, 34.057],
                zoom : 14
              });
    
            map.on("click", addStop);         
    
            routeTask = new RouteTask("https://route.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World");
    
            //setup the route parameters
            routeParams = new RouteParameters();
            routeParams.stops = new FeatureSet();
            routeParams.outSpatialReference = {
              "wkid" : 102100
            };
    
            routeTask.on("solve-complete", showRoute);
            routeTask.on("error", errorHandler);               
    
            //define the symbology used to display the route
            stopSymbol = new SimpleMarkerSymbol().setStyle(SimpleMarkerSymbol.STYLE_CROSS).setSize(15);
            stopSymbol.outline.setWidth(4);
            routeSymbol = new SimpleLineSymbol().setColor(new dojo.Color([0, 0, 255, 0.5])).setWidth(5);
    
            //Adds a graphic when the user clicks the map. If 2 or more points exist, route is solved.
            function addStop(evt) {
              var stop = map.graphics.add(new Graphic(evt.mapPoint, stopSymbol));
              routeParams.stops.features.push(stop);
    
              if (routeParams.stops.features.length >= 2) {
                routeTask.solve(routeParams);
                lastStop = routeParams.stops.features.splice(0, 1)[0];
              }
            }
    
            //Adds the solved route to the map as a graphic
            function showRoute(evt) {
              map.graphics.add(evt.result.routeResults[0].route.setSymbol(routeSymbol));
            }
    
            //Displays any error returned by the Route Task
            function errorHandler(err) {
              alert("An error occured\n" + err.message + "\n" + err.details.join("\n"));
    
              routeParams.stops.features.splice(0, 0, lastStop);
              map.graphics.remove(routeParams.stops.features.splice(1, 1)[0]);
            }
    
           });
        </script>
    
      </head>
      <body class="claro">
        <div id="map" style="width:600px; height:400px; border:1px solid #000;"></div>
         <p>Click on the map to add stops to the route. The route from the last stop to the newly added stop is calculated. If a stop is not reachable, it is removed and the last valid point is set as the starting point.</p>
      </body>
    </html>

  6. Repérez le paramètre routeTask = new RouteTask et remplacez l’URL entre parenthèses par l’URL REST de votre tâche itinéraire de l’analyse du réseau.
  7. Enregistrez et fermez le document texte.
  8. Remplacez l’extension de fichier native du document par .html. Par exemple, remplacez Route.txt par Route.html.
  9. Ouvrez le document HTML dans un navigateur Web. Suivez les instructions dans l'application Web pour utiliser votre service d'analyse réseau.