Utilisation des services de géotraitement d'ArcGIS Server
Toolboxes can reside in ArcGIS Server. A toolbox in ArcGIS Server is called a geoprocessing service. Tools within a geoprocessing service are called tasks. In ArcGIS Desktop, there is no real difference between geoprocessing services and toolboxes or between tasks and tools; it is only for other clients of ArcGIS Server (such as web browsers and other Internet-based software) that a distinction is made between services and toolboxes, as well as tasks and tools.
You can add a geoprocessing service to the Catalog window and use its tools just like any other tool. When you execute a geoprocessing task within a service, it executes on the server, using the resources on the server, freeing up your computer for other tasks.
There are two ways of finding services: browsing or searching. In both cases, you need to first connect to the server (you only need to connect once), and you must know the URL of the server to connect to it.
Parcourir des services
Your first step is to connect to ArcGIS Server. From within the Catalog window
- An ArcGIS Server connection can be made from the GIS Servers node.
- You can create a connection in any folder by right-clicking the folder and clicking New > ArcGIS Server Connection.
In order to browse to and use geoprocessing tasks, you must connect to the server as a user (in the Add GIS Server dialog box, Use GIS Services is checked), not as an administrator (Manage GIS Services).
Recherche de services
- Assurez-vous que votre serveur SIG a été indexé comme décrit à la rubrique Utilisation de la recherche dans ArcGIS et illustré ci-dessous.
- Dans la fenêtre Rechercher, recherchez des tâches (outils) comme vous le feriez avec des outils locaux.
Exécution 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 réside dans le fait que si vous exécutez des 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 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.
Utilisation des résultats d'une tâche
Le résultat ajouté à la fenêtre Résultats par une tâche de géotraitement affiche le statut de ses jeux de données en sortie plutôt que les noms des jeux de données. Il existe cinq valeurs différentes pour le statut :
- <empty>
L'outil est encore en cours d'exécution sur le serveur et qu'aucune sortie n'a été écrite. Ce statut s'applique uniquement aux outils asynchrones. Reportez-vous à la section Tâches synchrones et asynchrones ci-dessous pour plus d'informations.
- <data in local temp location>
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, il est préférable de les copier à partir de cet emplacement temporaire vers un emplacement connu. Pour ce faire, la méthode la plus simple consiste à utiliser l'outil Copier et à déplacer le jeu de données de la fenêtre 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 Copier l'emplacement, ce qui copiera le chemin d'accès de la classe d'entités dans le Presse-papiers et vous permettra de le coller à tout emplacement acceptant du texte, tel que le paramètre Entités en entrée de l'outil Copier.
- <data on server>
Les données résident sur le serveur. Cela signifie également qu'un service de carte obtenu dessinera 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 ce service de carte obtenu dans la table des matières, cliquez avec le bouton droit sur le résultat et cliquez sur Ajouter un serveur de couche.
Vous pouvez également cliquer avec le bouton droit sur le résultat et cliquer sur Extraire des données, ce qui copiera les données à partir du serveur sur votre ordinateur. Après la copie, vous obtenez l'un des trois statuts suivants, <Données dans le répertoire temporaire>, <Limite de transfert des données> ou <Données non disponibles>.
- <data exceeds transfer limit>
L'action 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.
- <data unavailable>
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 ont défini explicitement tous les paramètres d'environnement qui affectent l'exécution de la tâche et ignorent tous les paramètres d'environnement que vous définissez dans votre session actuelle. La seule exception à cette règle concerne les tâches qui fournissent en sortie des jeux de données raster ou des fichiers (tels qu'un fichier .zip). Pour ces tâches, le jeu de données ou fichier raster est enregistré dans le répertoire temporaire du système.
Copie d'une tâche serveur vers une boîte à outils locale
Vous pouvez copier une tâche à partir d'un service de géotraitement vers une boîte à outils personnalisée (boîte à outils que vous créez). Si vous exécutez la tâche copiée à partir de votre boîte à outils personnalisée, elle s'exécutera encore sur le serveur.
Quitter une application avant la fin de l'exécution d'un outil serveur
Une fois que vous avez soumis un outil asynchrone (voir ci-dessous), vous pouvez quitter l'application que vous utilisez. Par exemple, si vous travaillez dans ArcMap, vous pouvez lancer l'exécution, enregistrer la carte et quitter ArcMap. Lorsque vous ouvrirez le document ultérieurement, ArcMap interrogera le serveur, vérifiera le statut du résultat et actualisera 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.
C'est à l'éditeur du service de décider 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 en savoir plus sur la publication d'une boîte à outils sur ArcGIS Server
Deux méthodes permettent de déterminer si un outil serveur est synchrone ou asynchrone :
- Si vous possédez des droits d'accès d'administrateur sur ArcGIS Server, vous pouvez accéder au serveur dans la fenêtre Catalogue, cliquer avec le bouton droit sur le service de géotraitement, puis cliquer sur Propriétés du service. Le type d'exécution de l'outil est répertorié sous l'onglet 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 "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 "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 du serveur SIG).
Lorsque vous exécutez un outil asynchrone dans ArcMap et avez validé 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 qu'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 suivez la progression d'un outil asynchrone dans la fenêtre 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.