Didacticiel : Publication d'un service de géotraitement
Avec ArcGIS Server, vous pouvez publier des services de géotraitement qui vous permettent de soumettre des tâches au serveur et de récupérer un ensemble de résultats. Le serveur accède au modèle et réalise le travail, ce qui libère les ressources de votre ordinateur et élimine le problème du partage des copies du modèle.
De nombreuses applications ArcGIS peuvent utiliser des services de géotraitement, y compris ArcMap, ArcGIS Explorer et les applications cartographiques Web créées avec ArcGIS Server. Ce didacticiel est centré sur la création d'un service de géotraitement à utiliser dans une application cartographique Web. Si vous vous intéressez à la création d'un service de géotraitement principalement utilisé dans ArcMap, reportez-vous au Guide des exemples de services de géotraitement.
Concepts
Avant de commencer la création d'un service de géotraitement, vous devez connaître les éléments suivants :
Quels sont les éléments requis pour créer un service de géotraitement ?
La création d'un service de géotraitement nécessite au préalable de créer un modèle à l'aide de ModelBuilder dans ArcGIS Desktop. Un modèle est une séquence logique d'outils de géotraitement et de scripts permettant d'automatiser une opération SIG. Il contient des outils de géotraitement et éventuellement des scripts que vous avez écrits pour automatiser votre travail. Vous ne pouvez pas publier d'outils ou de scripts individuels en tant que services de géotraitement ; vous pouvez uniquement publier des modèles. Toutefois, il est possible de publier un modèle contenant un seul outil ou script.
Si vous n'avez pas encore utilisé les modèles dans ArcGIS ou si vous avez besoin d'une révision, vous pouvez commencer par la rubrique Qu'est-ce que ModelBuilder dans l'aide d'ArcGIS Desktop.
Quels types de données pouvez-vous utiliser dans votre modèle ?
Les services de géotraitement prennent en charge un ensemble limité de types de données en entrée et en sortie. Pour que votre modèle s'exécute correctement sur le serveur, vous devez vérifier si tous les types de données en sortie et en entrée utilisés par votre modèle sont pris en charge. Il existe plusieurs stratégies différentes pour modifier votre modèle afin qu'il utilise uniquement des types de données en entrée et en sortie pris en charge. Vous pouvez consulter ces stratégies, ainsi qu'une liste de tous les types de données pris en charge, dans la rubrique Concepts clés des services de géotraitement.
Répertoire des tâches du serveur
Lorsque vous installez ArcGIS Server, un répertoire est créé pour l'utilisation de services de géotraitement. Il s'agit du répertoire des tâches du serveur, situé par défaut sous c:\arcgisserver\arcgisjobs. Lorsque vous utilisez un service de géotraitement, les données intermédiaires et en sortie du modèle sont stockées dans le répertoire des tâches du serveur. Chaque exécution du modèle, ou de la tâche, a son propre dossier unique dans le répertoire des tâches du serveur. Cela permet l'utilisation simultanée du service par plusieurs personnes sans confusion des résultats.
Etant donné que le répertoire des tâches du serveur assure la gestion de vos données intermédiaires et en sortie, vous n'avez pas à vous inquiéter de la définition des espaces de travail courant et temporaire dans l'environnement du modèle.
Implémentation
Cet exemple vous guide tout au long du processus de création d'un modèle simple, de sa publication en tant que service de géotraitement et de son exécution dans une application cartographique Web. Les étapes comprennent des astuces et des pratiques conseillées pour l'utilisation de services de géotraitement.
Création du modèle
Le modèle que vous créez dans cet exemple utilise deux outils : Zone tampon et Découper. Lorsque vous exécutez le modèle, vous définissez interactivement un ensemble de points sur la carte avec une distance de la zone tampon. Lorsque le modèle est exécuté, il crée une zone tampon autour des points à la distance spécifiée. Pour exclure les zones situées dans l'océan, le modèle découpe ensuite les zones tampon résultantes avec la forme d'une classe d'entités qui représente le littoral.
Pour créer ce modèle, vous pouvez utiliser vos propres données, de préférence avec une classe d'entités qui représente une limite ou un littoral permettant le découpage. Les illustrations de cet exemple utilisent certaines données de la zone de San Diego, Californie. Le modèle effectue un découpage avec la classe d'entités Land.
Ce modèle nécessite également l'enregistrement préalable d'un fichier de couche de points sur le disque, contenant la symbologie à utiliser pour vos points en entrée.
Pour créer le modèle, suivez les étapes suivantes :
- Démarrez ArcMap et cliquez sur OK pour ouvrir une nouvelle carte vierge.
- Dans la fenêtre Catalogue, accédez à l'emplacement des données que vous avez choisi d'utiliser pour ce didacticiel et créez un dossier nommé temporaire. Si les données sont stockées dans votre profil local (par exemple C:\Documents and Settings\<nom d'utilisateur>\...) sortez-les de votre profil en les rapprochant de la racine (par exemple C:\Data\GeoprocessingTutorial).
- Cliquez sur Géotraitement > Environnements pour afficher les Paramètres d'environnement.
- Développez la section Espace de travail et désactivez l'option Espace de travail courant.
- Définissez l'emplacement Espace de travail temporaire en accédant au dossier temporaire que vous venez de créer. Cliquez ensuite sur OK pour fermer la boîte de dialogue Paramètres d'environnement. Vous observerez dans la suite de ce didacticiel que l'espace de travail temporaire permet de stocker les données intermédiaires créées lors de l'exécution du modèle.
- Cliquez sur Géotraitement > Options de géotraitement. Sous Traitement en arrière-plan, désactivez la case à cocher Activer.
La désactivation du traitement en arrière-plan facilite l'exécution de votre modèle lors de sa conception dans ArcMap. Ce didacticiel ne comprend aucune étape d'exécution du modèle pendant sa conception, mais cette étape est incluse au cas où vous devez exécuter votre propre modèle pendant la phase de conception.
- Enregistrez le document ArcMap dans le dossier contenant les données à utiliser pour ce didacticiel. Ce sera votre dossier d'accueil pour la carte.
-
Dans la fenêtre Catalogue, créez une boîte à outils dans le dossier d'accueil en cliquant avec le bouton droit de la souris sur Mes boîtes à outils et en cliquant sur Nouveau > Boîte à outils. Vous pouvez nommer cette boîte à outils GeoprocessingTutorial. L'extension .tbx est ajoutée au nom.
-
Créez un modèle en cliquant avec le bouton droit de la souris sur la boîte à outils et en cliquant sur Nouveau > Modèle. Par défaut, le nom est simplement "Modèle". Vous pouvez le modifier par la suite.
- Lorsque vous créez un modèle, la fenêtre ModelBuilder s'ouvre. A ce stade, vous pouvez commencer à ajouter les outils souhaités dans le modèle. Commencez par cliquer sur Géotraitement > Recherche d'outils et saisissez Zone tampon dans la zone de recherche.
-
L'outil Zone tampon doit être l'un des premiers résultats de la recherche. Faites glisser l'outil Zone tampon de la fenêtre Rechercher vers la fenêtre ModelBuilder.
Attention :
Il existe deux outils Zone tampon dans ArcGIS. Assurez-vous d'utiliser l'outil Zone tampon figurant sous boîtes à outils\boîtes à outils système\analyse.
- L'utilisateur final est en mesure de sélectionner à la fois les points à bufferiser et la distance de la zone tampon, vous devez donc les rendre variables et les définir comme paramètres de modèle. Créez la première variable en cliquant avec le bouton droit de la souris sur le champ Zone tampon et en cliquant sur Générer une variable > Paramètre de départ > Entités en entrée. Un ovale avec le nom Entités en entrée apparaît dans le modèle, connecté à l'outil Zone tampon.
- Cliquez avec le bouton droit de la souris sur l'ovale Entités en entrée et sélectionnez Paramètre du modèle. Les paramètres de modèle sont les entrées et les paramètres que l'utilisateur final peut entrer lors de l'exécution du modèle.
-
Cliquez avec le bouton droit de la souris sur l'ovale Entités en entrée, cliquez sur Propriétés, puis sur l'onglet Type de données. Notez que le type de données est défini par défaut sur Couche d'entités. Souvenez-vous que les services de géotraitement ne peuvent pas accepter tous les types de données en tant qu'entrées ; l'option Couche d'entités n'est pas un type d'entrée pris en charge, contrairement à Jeu d'entités. Modifiez la valeur dans la liste déroulante sur Jeu d'entités. De plus, pendant que vous consultez cet onglet, accédez à un fichier de couche de points quelconque pour désigner la symbologie à utiliser pour vos points en entrée.
- Répétez les étapes 12 à 14 précédentes afin de créer une variable supplémentaire destinée à l'outil Zone tampon, pour le paramètre Distance [valeur ou champ]. Définissez-la comme paramètre de modèle avec le type de données Unité linéaire. Dès lors que vous avez fini la création de la variable, double-cliquez dessus et définissez une valeur par défaut (par exemple, avec les données de San Diego, 2 kilomètres peuvent être une distance par défaut appropriée de la zone tampon).
- Double-cliquez sur l'ovale vert Entités en sortie et définissez le chemin d'accès sur %SCRATCHWORKSPACE%\buffer.shp. SCRATCHWORKSPACE est une variable, qui dans ce cas garantit que les données intermédiaires sont écrites dans un emplacement temporaire. Lorsque vous exécutez le modèle dans ArcMap, cet emplacement temporaire correspond à votre dossier temporaire créé au début de ce didacticiel. Lorsque vous exécutez le modèle à partir du serveur, cet emplacement temporaire correspond au répertoire des tâches du serveur.
-
Pour simplifier la lecture du modèle, renommez Distance [valeur ou champ] en Distance de la zone tampon et renommez vos entités en sortie (probablement maintenant Buffer.shp) en Zones tampon. Pour renommer ces composants de modèle, cliquez dessus avec le bouton droit de la souris et cliquez sur Renommer.
Vous devez éventuellement déplacer les composants de modèle pour les voir tous. Votre modèle doit présenter un aspect semblable au suivant :
-
Ajoutez maintenant le deuxième outil au modèle. Dans la fenêtre Rechercher, entrez Découper, puis appuyez sur Entrée. Dans les résultats qui apparaissent, trouvez l'outil Découper et faites-le glisser sur le côté droit du modèle.
Attention :
Il existe plusieurs outils Découper dans ArcGIS. Assurez-vous d'utiliser l'outil figurant sous boîtes à outils\boîtes à outils système\outils d'analyse.
- Cliquez sur le bouton Ajouter une connexion , puis sur l'ovale Zones tampon, suivi de la zone Découper. Vous êtes invité à spécifier si vous souhaitez que les Zones tampon jouent le rôle des Entités en entrée ou des Entités de découpage. Choisissez Entités en entrée.
-
Basculez vers l'outil Sélection et double-cliquez sur la zone Découper dans ModelBuilder. Définissez les Entités de découpage en tant que classe d'entités de littoral ou de limites pour le découpage. Cet exemple utilise la classe d'entités Land pour éliminer les zones tampon situées dans l'océan.
Astuce :
Mémorisez l'emplacement des entités de découpage. Lorsque vous publiez le service de géotraitement, assurez-vous que le compte utilisateur du conteneur ArcGIS a accès à cet emplacement.
- Définissez l'emplacement de la classe d'entités en sortie en double-cliquant sur l'ovale vert final de votre modèle (probablement nommé Classe d'entités en sortie) et en saisissant le chemin d'accès %SCRATCHWORKSPACE%\ClippedBuffers.shp.
- Cliquez avec le bouton droit de la souris sur l'ovale vert qui représente votre sortie (dans cet exemple, ClippedBuffers.shp) et activez l'option Paramètre du modèle. Activez également l'option Ajouter à la carte.
-
Vous avez terminé le modèle. Il doit présenter un aspect semblable à celui présenté ci-dessous. Enregistrez votre modèle et fermez la fenêtre ModelBuilder.
- Trouvez votre modèle dans la fenêtre Catalogue. Il doit encore porter le nom "Modèle". Renommez-le en BufferAndClip.
- Enregistrez votre document ArcMap et passez à la section suivante.
Préparation du modèle et d'une carte associée pour la publication
Maintenant que vous avez créé le modèle, vous pouvez effectuer les prochaines étapes pour intégrer sa fonctionnalité dans une application Web. A ce stade, vous devez réfléchir aux événements survenant dans l'application Web. L'application Web peut dessiner les résultats du modèle de deux manières : elle peut envoyer les données des résultats au client pour un affichage sur le client, ou dessiner les résultats sur le serveur et envoyer l'image terminée au client.
Si vous décidez que l'ordinateur client doit dessiner les résultats, vous n'avez pas besoin d'effectuer des préparations supplémentaires dans ArcGIS Desktop ; vous devez uniquement publier la boîte à outils en tant que service de géotraitement. Il existe toutefois une limitation lors du dessin des résultats directement sur le client : seule la symbologie de la couche de graphiques Infrastructure de développement d'applications Web (ADF) peut être utilisée. La symbologie disponible comprend les symboles ponctuel simple, ligne et remplissage, ainsi que quelques autres types de symbole répertoriés sous Définition de la symbologie en sortie pour les tâches de géotraitement. Les symboles ligne cartographique, ainsi que les symboles de remplissage dégradé et d'autres types de symbologie complexes nécessitent le dessin des résultats sur le serveur.
Si les résultats sont dessinés sur le serveur, ils peuvent utiliser une variété de symboles beaucoup plus grande. En effet, le service de géotraitement fonctionne avec un service de carte associé qui peut effectuer le rendu nécessaire pour tous les symboles. D'autres avantages du dessin des résultats sur le serveur comprennent la possibilité d'utiliser des couches du service de carte en entrée du modèle et la possibilité d'utiliser de grands nombres d'entités dans les résultats (si vous avez essayé d'envoyer de nombreuses entités pour un dessin sur le client, cette opération peut prendre longtemps ou être interdite par l'administrateur du serveur).
Cet exemple indique comment dessiner les résultats sur le serveur, ce qui suppose de créer un service de carte associé. Vous devez créer une carte pouvant être utilisée pour visualiser les entrées et les résultats du modèle. Dès lors que vous avez créé la carte, vous devez ajouter votre modèle à la carte en tant que couche d'outil. Les étapes suivantes expliquent ce processus :
- Ouvrez le document ArcMap créé dans la section précédente et ajoutez des données. Pour les besoins de ce didacticiel, les données peuvent comprendre quelques jeux de données de référence. Une pratique conseillée pour optimiser les performances consiste à inclure peu de données de fond de plan dans ce service de carte mais d'établir plutôt une connexion directe à un autre service de fond de plan dans votre application cliente.
- Cliquez sur Géotraitement > Options de géotraitement et vérifiez si l'option Remplacer les résultats des opérations de géotraitement est activée.
-
Maintenant créez la couche d'outil en faisant glisser votre modèle dans la table des matières d'ArcMap. Placez-le en tant que couche la plus haute.
N'oubliez pas : Le fait de disposer d'une couche d'outil dans votre carte est essentiel pour obtenir un service de géotraitement qui fonctionne avec votre service de carte.
- Vous devez exécuter une fois le modèle avant de publier votre service. Cliquez avec le bouton droit de la souris sur la couche d'outil, puis cliquez sur Ouvrir.
- Ajoutez des entités en entrée en cliquant sur l'outil de pointeur et en cliquant sur la carte. Cliquez ensuite sur OK pour exécuter le modèle.
-
Les entités en entrée pour le modèle sont déjà symbolisées en fonction de la structure importée lors de la configuration du paramètre Entités en entrée dans votre modèle. Maintenant, utilisez les propriétés de la couche pour définir la symbologie souhaitée pour les entités en sortie.
N'oubliez pas : Dans cet exemple, les entités en sortie sont symbolisées avec un symbole de remplissage de ligne inclinée comme indiqué ci-dessous. Cette symbologie est possible uniquement lorsque le serveur dessine les résultats à l'aide d'un service de carte associé ; elle serait indisponible si vous avez essayé de dessiner les résultats sur le client.
- Rendez les entités en sortie (indiquées ci-dessus en tant que ClippedBuffers) invisibles (désactivées) dans la table des matières.
- Vous disposez maintenant de tous les éléments nécessaires pour publier les services. Enregistrez votre document ArcMap et fermez ArcMap avant de passer à la prochaine section.
Publication du service
Dès lors que vous disposez d'un document ArcMap avec une couche d'outil, vous êtes prêt à les publier comme services. Vous allez publier le document ArcMap comme service et activer la fonction Géotraitement, ce qui crée un service de géotraitement du même nom. Vous pouvez utiliser ces deux services dans votre application Web pour exécuter le modèle sur le serveur et afficher les résultats.
Important : Avant de publier vos services, veillez à lire et suivre les conseils présentés dans la rubrique Préparation de ressources pour la publication sous forme de services. Ils vous aideront à vous assurer que le serveur dispose des autorisations requises pour lire et accéder à toutes les données du modèle et de la carte. Spécifiquement, le compte utilisateur du conteneur ArcGIS doit disposer d'une autorisation de lecture pour votre modèle (boîte à outils), pour toutes les données référencées par le modèle (telles que les entités de découpage), le document ArcMap et toutes les données qu'il contient. Le compte utilisateur du conteneur ArcGIS doit en outre disposer d'un accès en lecture et en écriture au répertoire de tâches du serveur. Si vous utilisez le répertoire de tâches du serveur par défaut installé avec ArcGIS Server (C:\arcgisserver\arcgisjobs), la procédure d'installation a déjà appliqué les autorisations appropriées pour le répertoire des tâches.
Pour publier les services, effectuez les étapes suivantes :
-
Connectez-vous au gestionnaire ArcGIS Server et cliquez sur Publier une carte, un globe ou une autre ressource SIG en tant que service.
Astuce : le gestionnaire met à votre disposition deux assistants pour publier des services. Ce lien vous dirige vers l'assistant Publier une ressource SIG, qui est la méthode la plus simple pour créer un service. Il vous demande le nombre minimal d'informations requises pour créer un service. Une autre fonction de l'assistant Publier une ressource SIG consiste à créer des services associés, comme les services de carte et de géotraitement que vous allez créer dans cet exemple.
L'autre méthode de création de services consiste à utiliser l'assistant Ajouter un nouveau service. Cet assistant est une méthode entièrement manuelle de publication d'un service. Il vous demande d'entrer tous les paramètres du service. Vous ne pouvez pas utiliser l'assistant Ajouter un nouveau service pour créer automatiquement des services associés.
- Dans le premier volet de l'assistant, vous êtes invité à entrer la Ressource que vous souhaitez publier. Il s'agit du document ArcMap avec la couche d'outil. Si elle se trouve dans un répertoire partagé, vous pouvez naviguer jusqu'à la carte. Si elle ne se trouve pas dans un emplacement partagé, saisissez avec soin le chemin d'accès de la carte.
-
Donnez un Nom à votre service. Le service de carte et le service de géotraitement utilisent le nom saisi ici. Si vos services sont regroupés en dossiers, sélectionnez éventuellement le dossier approprié, puis cliquez sur Suivant pour passer à la page suivante de l'assistant.
-
Sur la deuxième page, notez que deux fonctions sont activées par défaut. La fonction Cartes est activée pour tous les services de carte. La fonction Géotraitement est activée parce que le Gestionnaire a détecté que la carte que vous publiez dispose d'une couche d'outil. La publication d'un service de carte alors que la fonction Géotraitement est activée a pour effet de créer un service de géotraitement associé de même nom. Laissez ces fonctions activées et cliquez sur Suivant pour passer à la dernière page de l'assistant.
- La dernière page de l'assistant explique que deux services sont créés et indique leurs URL. Cliquez sur Terminer pour publier les services et fermer l'assistant.
Création d'une application Web avec la tâche de géotraitement
La dernière étape de l'exposition de votre modèle aux autres consiste à créer une application Web avec une Tâche de géotraitement. Utilisez le Gestionnaire ArcGIS Server pour créer l'application Web. Le gestionnaire vous aide à choisir le service de carte à afficher et le service de géotraitement que vous souhaitez exposer à vos utilisateurs par l'intermédiaire de la Tâche de géotraitement. Pour créer l'application Web dans le gestionnaire, procédez comme suit :
- Cliquez sur l'onglet Accueil du Gestionnaire ArcGIS Server, puis sur Créer une application Web. Cela vous emmène à la première page d'un assistant qui vous aide à configurer l'application.
-
Entrez le Nom de votre application. Ce nom apparaît dans l'URL que les utilisateurs saisissent dans leur navigateur lorsqu'ils accèdent à votre application. Eventuellement, vous pouvez également saisir dans cette page une Description que les administrateurs peuvent lire lorsqu'ils affichent la liste d'applications Web dans le Gestionnaire. Lorsque vous avez renseigné cette page, cliquez sur Suivant.
- Dans la deuxième page, vous choisissez les services qui apparaissent dans votre carte. Cliquez sur Ajouter une couche, accédez au service de carte que vous venez de publier dans la section précédente, puis cliquez sur Ajouter. Vous devez éventuellement créer au préalable une connexion à votre serveur SIG. Si vous avez besoin d'aide pour cette page, reportez-vous à la rubrique Ajout de couches à une application Web dans le Gestionnaire. Lorsque vous avez terminé d'ajouter des services, cliquez sur Suivant pour passer à la page suivante.
-
Dans cette page de l'assistant, vous ajoutez la Tâche de géotraitement. Cliquez sur Ajouter une tâche, choisissez Géotraitement, puis cliquez sur OK pour ajouter la tâche.
-
Avant de configurer la tâche, vous devez désigner un service de géotraitement à utiliser par la tâche. Cliquez sur Services complémentaires et sur Ajouter, puis, de la même façon utilisée pour rechercher votre couche de carte dans la page précédente, accédez à votre service de géotraitement.
-
Dans la liste Tâches courantes, cliquez sur Géotraitement, puis sur le bouton Configurer. Sur cette boîte de dialogue, vous pouvez rédiger un nom plus descriptif pour la tâche Géotraitement. Vous pouvez également ajouter une info-bulle qui apparaît lorsque les utilisateurs placent le pointeur de la souris sur la tâche.
Si vous disposez de plusieurs modèles dans votre boîte à outils, cet emplacement permet de choisir celui qui apparaît dans votre tâche. Vous pouvez utiliser un seul modèle par tâche.
Dans cet exemple, vous pouvez conserver les valeurs par défaut pour les Paramètres de la tâche Géotraitement. La section Tâche de géotraitement de l'aide peut vous aider à comprendre ces paramètres, y compris les fichiers de résultats et les tâches synchrones et asynchrones.
- Dès lors que vous avez configuré la tâche comme vous le souhaitez, cliquez sur OK pour fermer la boîte de dialogue, puis sur Suivant pour poursuivre la création de l'application Web. Le reste de l'assistant vous permet de définir la combinaison de couleurs, le texte, les liens et les éléments cartographiques dans votre application. Vous pouvez modifier ces paramètres de la manière souhaitée, puis passer à la suite de l'assistant. La dernière page affiche certaines informations concernant l'application créée et vous invite à cliquer sur Terminer pour créer l'application Web.
-
Testez votre application Web en ouvrant la tâche Géotraitement. Définissez des points et exécutez l'outil pour voir les zones tampon découpées.