Un service de géotraitement comporte une ou plusieurs tâches. Une tâche est semblable à un outil de géotraitement, car elle accepte des paramètres et renvoie des résultats ; il s’agit en fait d’un terme utilisé par les ArcGIS API for JavaScript pour décrire les routines qui exécutent un travail sur le serveur et renvoient les résultats. Il n’existe pas de différence fondamentale entre les services de géotraitement et les boîtes d’outils, voire entre les tâches et les outils. La distinction ne s’applique que lorsqu’il s’agit d’autres clients ArcGIS Server (notamment les navigateurs web et autres interfaces Internet).
Connexion à un site GIS Server
La première étape consiste à vous connecter à un site ArcGIS Server. Procédez comme suit dans la fenêtre Catalog (Catalogue) :
- Créez une connexion éditeur à GIS Server à partir du nœud Serveurs SIG.
- Créez une connexion dans un dossier en cliquant avec le bouton droit sur le dossier, puis en sélectionnant New (Nouveau) > ArcGIS Server Connection (Connexion ArcGIS Server).
Rechercher l'URL d'un service de géotraitement
Pour vous connecter à ArcGIS Server, vous devez spécifier une URL, ainsi qu’un nom d’utilisateur et un mot de passe. Tous les services, y compris les services de géotraitement, doivent utiliser une URL SOAP pour fonctionner avec ArcMap. Pour obtenir l’URL d’un service, procédez de l’une des manières suivantes :
- Le site GIS Server est hébergé par votre organisation et vous connaissez l’URL.
- Vous avez obtenu l'URL d'un collègue.
- Vous avez recherché des services de géotraitement sur ArcGIS Online et vous avez trouvé un service contenant des tâches que vous souhaitez utiliser. Vous pouvez obtenir l’URL du serveur hébergeant le service de la manière suivante :
- La description du service dans ArcGIS Online possède une entrée ArcGIS Web API REST Connection (Connexion REST de l’API Web de ArcGIS) contenant une URL. Cette URL est destinée à la connexion au service en utilisant REST. Pour se connecter au serveur dans ArcGIS Desktop, une URL SOAP est nécessaire.
- Vous pouvez déduire une URL SOAP de l'URL REST. Par exemple, si l’URL REST est http://sampleserver.esri.com/arcgis/rest/services/SupplyDemandService/gpserver, l’URL SOAP correspondante pour la création de connexions serveur est http://sampleserver.esri.com/arcgis/services (rest, le nom du service, et gpserver sont supprimés de l’URL SOAP).
- Utilisez l'URL SOAP pour créer une connexion utilisateur au serveur. Une fois que vous avez créé la connexion, naviguez dans le catalogue du serveur dans l’arborescence du Catalogue pour localiser les services et tâches de géotraitement.
Exécuter des tâches de géotraitement
Vous exécutez les tâches de service de géotraitement comme s’il s’agissait d’un autre outil : à partir de la boîte de dialogue de l’outil, dans ModelBuilder ou dans un script. La seule différence visible est si vous exécutez les outils au premier plan. Certaines tâches attendent que les résultats soient renvoyés du serveur tandis que d’autres tâches soumettent directement les données au serveur et interrogent parfois ce dernier pour obtenir le résultat. La fenêtre Results (Résultats) vous permet d’observer le statut des tâches soumises au serveur. La section ci-dessous, Tâches synchrones et asynchrones, fournit de plus amples détails.
Utiliser les résultats d'une tâche
Le résultat d’un service de géotraitement est ajouté à la partie Current Session (Session en cours) de la fenêtre Result (Résultat). Si le type de données en sortie résultant est un jeu de données fichier ou raster, la sortie est enregistrée dans un répertoire temporaire local. Pour d'autres types de données tels qu'une classe d'entités, le résultat est écrit dans la session en cours indiquant le nom ou le statut de ses jeux de données en sortie. Les cinq valeurs d’état possibles sont :
- <vide>
L’outil est encore en cours d’exécution sur le serveur et aucune sortie n’a été écrite, ou la tâche n’a pas été exécutée correctement et aucun résultat n’est retourné. Ce statut s'applique uniquement aux outils asynchrones. Reportez-vous à la section Tâches synchrones et asynchrones ci-dessous pour plus d'informations.
- <Données dans le répertoire temporaire>
L’outil a fini de s’exécuter et les données en sortie résident dans la mémoire de votre ordinateur ou dans le répertoire temporaire de votre système. Les données ne sont pas supprimées tant que vous avez une couche ArcMap qui référence les données. Pour conserver les données, copiez-les à partir de cet emplacement temporaire vers un emplacement connu. Pour ce faire, vous pouvez utiliser l’outil Copy (Copier) et déplacer le jeu de données de la fenêtre Results (Résultats) dans le paramètre d’entités en entrée de l’outil. Vous pouvez également cliquer avec le bouton droit sur la sortie et cliquer sur Copy Location (Copier l’emplacement), ce qui copie le chemin d’accès de la classe d’entités dans le Presse-papiers et vous permet de le coller à tout emplacement acceptant du texte, tel que le paramètre d’entités en entrée de l’outil Copy (Copier).
- <Données sur le serveur>
Les données résident sur le serveur. Un service de carte obtenu est créé pour dessiner les données dans ArcMap, ArcGlobe ou ArcScene. Cette carte obtenue est ajoutée automatiquement dans la table des matières lorsque l'outil finit de s'exécuter sur le serveur. Si vous avez besoin d'ajouter le résultat de service de carte dans la table des matières, cliquez avec le bouton droit sur l'outil de résultat et cliquez sur Ajouter un serveur de couche.
Vous pouvez également cliquer avec le bouton droit sur l’outil de résultat et cliquer sur Get Data (Extraire des données), ce qui copie les données du serveur sur votre ordinateur. Après la copie, vous obtenez l’un des trois statuts suivants, <data in local temp location> (<Données dans le répertoire temporaire>), <data exceeds transfer limit> (<Limite de transfert des données>) ou <data unavailable (<Données non disponibles>).
- <Limite de transfert des données>
L’action Get Data (Extraire des données) n’a pas été en mesure de transférer toutes les données du serveur sur votre ordinateur en raison du dépassement du nombre maximal d’entités à transférer. La copie de jeux de données volumineux dégrade la capacité du serveur à exécuter d'autres services SIG et encombre le réseau. Par conséquent, l'auteur du service spécifie un nombre maximal d'entités pouvant être copiées à partir du serveur sur un ordinateur client. Si vous avez besoin de copier des données qui dépassent cette limite, vous devez contacter l'auteur du service ou l'administrateur du serveur et organiser d'autres méthodes d'extraction des données.
- <Données non disponibles>
L'action Extraire des données n'a pas pu trouver les données sur le serveur. La cause la plus probable est que l'administrateur du serveur a jugé les résultats de la tâche obsolètes et a supprimé les données pour libérer de l'espace sur le serveur.
Les paramètres d'environnement sont ignorés
Les services de géotraitement définissent explicitement tous les paramètres d'environnement du serveur qui affectent l'exécution. Les paramètres d’environnement locaux de ArcGIS Desktop que vous définissez dans votre session actuelle n’ont aucune incidence sur les paramètres d’environnement utilisés par les services.
Quitter une application avant la fin de l’exécution d’un outil serveur
Une fois que vous avez soumis un outil asynchrone (voir la prochaine section), vous pouvez quitter l'application que vous utilisez. Par exemple, si vous utilisez ArcMap, vous pouvez lancer l'exécution, enregistrer le document ArcMap et quitter ArcMap. Lorsque vous ouvrirez le document ultérieurement, ArcMap interroge le serveur, vérifie le statut du résultat et actualise le résultat dans la fenêtre Résultats. Si vous envisagez d’utiliser cette méthode consistant à lancer l’exécution et à quitter ArcMap (ou ArcGlobe ou ArcScene), veillez à enregistrer la carte afin d’enregistrer le résultat pour l’examiner ultérieurement.
Tâches synchrones et asynchrones
Les services de géotraitement et leurs tâches sont synchrones ou asynchrones. Le terme "synchrone" signifie que votre ordinateur attendra pendant que la tâche s'exécutera sur le serveur. Le terme "asynchrone" signifie que votre ordinateur n'a pas besoin d'attendre que l'outil finisse de s'exécuter pour que vous puissiez passer à d'autres tâches.
L’éditeur du service décide si une tâche s’exécute de façon synchrone ou asynchrone. Seules les tâches qui s'exécutent rapidement et dont les jeux de données en sortie sont de petite taille doivent être publiées en tant qu'outils synchrones.
Pour définir si un outil de serveur est synchrone ou asynchrone, procédez de l’une des manières suivantes :
- Si vous créez une connexion administrateur à ArcGIS Server, accédez au serveur dans la fenêtre Catalog (Catalogue), cliquez avec le bouton droit sur le service de géotraitement, puis sélectionnez Service Properties (Propriétés du service). Le type d’exécution de l’outil est répertorié sous l’onglet Parameters (Paramètres).
- Exécutez l'outil et observez les messages qu'il affiche. Lorsqu’un service asynchrone est exécuté, le premier message inscrit est Server Messages (Messages serveur). Ces types de services de géotraitement s’exécutent toujours en arrière-plan dans ArcMap. Un outil synchrone démarre en affichant les messages en cours d’exécution. Les deux résultats ci-dessous ont été exécutés de façon asynchrone et synchrone (comme défini par l’administrateur ArcGIS Server).
Lorsque vous exécutez un outil asynchrone dans ArcMap et que vous activez l’affichage des résultats de l’outil, une couche est ajoutée à l’affichage, mais n’est pas visible (sélectionnée). Ceci tient au fait que ArcMap ne sait pas quand l'outil finira de s'exécuter et quand il faudra afficher la sortie.
Vous n'êtes pas informé automatiquement quand un outil asynchrone finit de s'exécuter. Vous pouvez suivre la progression d’un outil asynchrone dans la fenêtre Results (Résultats). Pendant l’exécution de l’outil, un sablier est affiché à côté du résultat. Vous pouvez annuler l'exécution en cliquant avec le bouton droit sur le résultat et en cliquant sur Annuler. Lorsque la tâche est terminée, un message indiquant Succeeded (Réussite) et une icône d’outil s’affichent en regard du nom de la tâche du résultat.