Présentation rapide de la création et du partage de services de géotraitement
La création d'un service de géotraitement implique la création des tâches au sein du service. Créer une tâche signifie sélectionner ou créer un outil, définir les paramètres en entrée et en sortie de la tâche, ainsi que déterminer l'emplacement des données utilisées par la tâche. Les étapes sont un peu plus détaillées ci-après :
- Sélection d'un ou de plusieurs outils de géotraitement qui deviendront les tâches dans votre service. Vous pouvez utiliser les nombreux outils système fournis avec ArcGIS ou créer vos propres outils à l'aide de scripts ModelBuilder ou Python.
- Collecte des données en entrée nécessaires pour exécuter l'outil. En général, ces jeux de données sont des couches dans la table des matières ArcMap.
- Exécution de l'outil pour créer un résultat dans la fenêtre Résultats.
- Définition de la symbologie des jeux de données en entrée et en sortie, si nécessaire.
- Partage des résultats en tant que service de géotraitement. Lorsque vous partagez un résultat, vous utilisez l'Editeur de services pour définir les modes de saisie des jeux de données (décrits ci-dessous), ainsi que d'autres propriétés du service et de ses tâches.
Exemple : modèle simple d'offre et de demande
L'exemple d'un outil créé à l'aide de ModelBuilder et devant être converti en tâche est illustré ci-dessous. Le modèle (et la tâche publiée) est un modèle très simple d'attribution de l'offre et de la demande ; à partir d'un ensemble donné d'emplacements ponctuels représentant l'offre de services (tels que des installations d'intervention d'urgence ou des établissements de distribution) et d'un autre ensemble de points représentant la demande (tels que les foyers ou les entreprises qui requièrent le service), attribuez les points de demande à la ressource la plus proche, créez un polygone de zone commerciale pour chaque installation, et calculez la demande cumulée au sein de la zone commerciale des installations. La sortie est un ensemble de polygones, avec un polygone pour chaque installation en entrée avec un attribut contenant la demande totale au sein du polygone.
Notez que dans le modèle ci-dessus, les variables Facilities (Ressources), Demand (Demande) et Output Thiessen Polygons (Polygones de Thiessen en sortie) sont les paramètres du modèle (ils sont accompagnés d'un P). Ces paramètres du modèle deviennent les arguments de la tâche que les clients de la tâche fournissent lorsqu'ils exécutent la tâche.
Les paramètres du modèle apparaissent dans la boîte de dialogue de l'outil, comme illustré ci-dessous, lorsque l'outil de modèle est ouvert à partir de la fenêtre Catalogue.
Lorsque le modèle est exécuté en tant qu'outil, un résultat est écrit dans la fenêtre Résultats, comme illustré ci-dessous. Le résultat contient toutes les informations dont ArcGIS a besoin pour construire une tâche.
- Le nom et l'emplacement de la boîte à outils et l'outil qui a créé le résultat.
- La sortie (ThiessenPolys1) produite par l'exécution de l'outil.
- La structure (le type d'entité et les attributs) de la sortie.
- La symbologie de la sortie. Dans cet exemple, la symbologie en sortie est une couleur graduée basée sur la demande cumulée au sein de chaque polygone.
- Les entrées de l'outil (les couches Fire Stations et Hazardous Material Sites).
- La structure (le type d'entité et les attributs) de chaque entrée. Dans cet exemple, les casernes de pompiers (Fire Stations) ont un attribut de texte : FacilityName. Les sites de matières dangereuses (Hazardous Material Sites) ont un seul attribut, également : Demand, un entier long.
- La symbologie de l'entrée. Dans cet exemple, la couche Fire Stations est symbolisée par un symbole de caserne de pompiers pour chaque emplacement et l'attribut Demand est symbolisé par des cercles gradués.
- Paramètres d'environnement de géotraitement qui étaient en place lorsque l'outil a été exécuté.
Un autre aspect important d'un résultat tient au fait qu'il fait partie d'une session ArcMap et qu'il a ainsi accès à toutes les couches et tables dans la Table des matières et que la tâche publiée peut avoir accès également à ces couches. La Table des matières illustrée ci-dessus contient uniquement les deux couches en entrée et la sortie, mais elle pourrait contenir beaucoup plus de couches (comme par exemple une couche de points de vente) qui pourraient être mises à la disposition des clients de la tâche.
Un service de géotraitement et sa tâche initiale sont créés en cliquant avec le bouton droit sur un résultat et en sélectionnant Partager en tant que > Service de géotraitement. Cela ouvre l'assistant Partager en tant que service et, une fois que vous avez sélectionné une connexion au serveur et choisi un nom pour le service, l'Editeur de services s'ouvre. L'Editeur de services est l'emplacement où vous pouvez définir les propriétés et les paramètres de votre service, ainsi que les propriétés pour les paramètres des tâches individuelles. L'illustration ci-dessous montre le paramétrage du Mode en entrée du paramètre Ressources. Dans cet exemple, le Mode en entrée est défini sur Valeur définie par l'utilisateur, ce qui signifie que le client est censé fournir un ensemble de points avec un attribut de texte FacilityName.
Le point principal ici est que l'Editeur de services vous confère un degré fin de contrôle de la définition des entrées et des sorties de votre tâche. Bien que cela se produise au cours du processus de partage, cela peut avoir un impact sur la manière dont vous créez l'outil.
Exemple : autres modes de saisie
L'outil Générer la table de proximité est un outil système qui calcule les entités les plus proches des entités en entrée et qui retourne les résultat dans une table. Dans cet exemple, l'outil Générer la table de proximité est utilisé pour retourner tous les collèges, les lycées, les casernes de pompiers, les épiceries et les commerces de détail dans un rayon de cinq miles autour de tout point d'entrée. Dans ce scénario, les points en entrée sont supposés être des maisons en vente : il s'agit d'un service simple conçu pour aider les acheteurs à évaluer les maisons en vente. Tous les jeux de données en entrée sont des couches dans la table des matières ArcMap.
Lorsque le résultat est partagé en tant que tâche de géotraitement, les Entités de proximité peuvent être une Liste de choix d'entités proches à rechercher, comme cela est illustré ci-dessous. Le client spécifiera une ou plusieurs de ces couches. Par exemple, le client peut être intéressé uniquement par les collèges et les lycées les plus proches, et pas par les autres couches.
Il est possible également que les Entités de proximité soient fixes (une Valeur constante), auquel cas ce n'est plus un argument pour la tâche et le client n'a aucun contrôle sur les Entités de proximité qui sont retournées ; il obtient toujours une table de toutes les entités proches.
Modes en entrée
Dans les exemples ci-dessus, vous avez vu à quel point la définition du Mode en entrée est une décision importante dans la conception et la création d'une tâche. La définition du mode de saisie est une opération que vous exécutez dans l'Editeur de services car cela se rapporte uniquement aux tâches de géotraitement et pas à l'outil sous-jacent. Il existe trois modes de saisie des entités en entrée :
- Valeur définie par l'utilisateur : le client crée un jeu d'entités qui sera transporté via Internet pour être lu par la tâche. Lorsque l'option Valeur définie par l'utilisateur est spécifiée, le type d'entité, les attributs, la référence spatiale et la symbologie de la couche en entrée sont stockés avec le jeu d'entités. Les clients peuvent récupérer cette structure et l'utiliser pour numériser les entités incluses dans le jeu d'entités ou charger des entités dans le jeu d'entités à partir d'un fichier sur le disque. Pour les tables en entrée, il existe un jeu d'enregistrements correspondant qui stocke la structure attributaire de la table.
- Liste de choix : le client peut entrer les noms d'une (ou de plusieurs) des couches que vous insérez dans la liste de couches. Le client peut entrer une ou plusieurs couches, en fonction de l'outil. L'outil Générer la table de proximité, illustré ci-dessus, permet d'avoir plusieurs couches en entrée. D'autres outils, tels que Zone tampon, permettent d'avoir une seule couche comme entrée dans la liste de choix.
- Valeur constante : la tâche utilise la valeur que vous avez spécifiée lorsque vous avez exécuté l'outil. Utiliser l'option Valeur constante revient à supprimer le paramètre : la couche (jeu de données) est utilisée de façon interne par votre tâche et n'est pas exposée au client.
Pour en savoir plus sur les modes de saisie et les types de données
Exemple : outil de script
Vous pouvez également créer une tâche à l'aide d'un outil de script. L'illustration ci-dessous montre la page de propriétés d'un outil de script qui effectue le même travail que le modèle simple d'offre et de demande ci-dessus, en utilisant Python à la place de ModelBuilder. Il possède les mêmes paramètres que le modèle et la même procédure est utilisée pour créer une tâche : exécutez l'outil pour créer un résultat, puis partagez le résultat en tant que service de géotraitement.
Données de projet et magasin de données
Dans le cadre du géotraitement, les données de projet sont des données en entrée qui ne correspondent pas à un paramètre, à savoir qu'elles ne sont pas fournies par l'utilisateur de l'outil ou de la tâche, mais utilisées en interne par l'outil ou la tâche. Par exemple, la variable Jeu de données réseau de San Francisco dans le modèle ci-dessous correspond à des données de projet car elle est utilisée par le modèle mais pas exposée comme paramètre. Essentiellement, les données de projet d'un modèle correspondent à un ovale bleu sans aucun P adjacent.
Les données de projet peuvent apparaître également dans des scripts, comme illustré dans l'extrait de code Python ci-dessous.
import arcpy
# The inputPoints variable is considered to be project data
# since it is not an input parameter.
#
inputPoints = r"c:\data\Toronto\residential.gdb\shelters"
arcpy.Buffer_analysis(inputPoints, 'shelterBuffers', '1500 Meters')
Dans l'Editeur de services, un paramètre de données en entrée qui possède un Mode en entrée défini sur Valeur constante est équivalent à des données de projet : ce sont des données utilisées par l'outil mais pas exposées sous la forme d'un argument de tâche. Vous pouvez comparer le mode en entrée Valeur constante à la suppression du P à côté de la variable dans ModelBuilder.
Les données de projet représentent un des points importants à prendre en compte lors de la création et du partage d'une tâche, car les données de projet doivent être accessibles par le serveur lorsque la tâche s'exécute. Les services de géotraitement utilisent généralement un grand nombre de données différentes dans des emplacements différents. Il n'est pas rare que des problèmes dans un service puissent être reliés a posteriori à des problèmes d'accès aux données de projet.
Lorsque vous publiez votre résultat, les processus de publication analysent tous les modèles et scripts utilisés pour produire le résultat et découvrent vos données de projet. Ils déterminent alors ce qu'il convient de faire avec ces données. Deux choix sont possibles uniquement :
- Si les données de projet figurent dans le magasin de données du serveur, la tâche publiée utilise les données figurant dans le magasin de données.
- Si les données de projet sont introuvables dans le magasin de données du serveur, elles sont copiées sur le serveur et placées dans un emplacement connu, accessible au serveur (répertoire en entrée du serveur), puis la tâche publiée utilisera les données copiées. Les données copiées ne deviennent pas un élément à part entière du magasin de données du serveur. Si vous republiez la tâche, les données seront copiées de nouveau.
A propos du magasin de données
Chaque installation d'ArcGIS Server contient un magasin de données. Il constitue un moyen de fournir au serveur une liste d'emplacements de données auxquels ce serveur peut accéder. Lorsque les données sont accessibles par le serveur, celles qui se trouvent sur votre ordinateur local ne sont pas copiées sur le serveur au moment de la publication.
Pour plus d'informations sur l'inscription des données auprès du serveur ArcGIS, reportez-vous aux rubriques :
Si l'option de copie automatique de données lors de la publication a été désactivée, vous devez enregistrer les données en entrée et en sortie de votre tâche pour le magasin de données du serveur. Lorsque l'option de copie automatique de données est désactivée, les données requises pour votre tâche ne peuvent pas être copiées sur le serveur. Vous devez soit enregistrer les données dans le magasin de données du serveur, activer la copie automatique de données sur le serveur ou modifier votre tâche de sorte que toutes les entrées soient définies par l'utilisateur et que toutes les sorties soient écrites dans l'espace de travail in_memory
Entrée et sortie de données simples
Un service SIG doit fonctionner avec le plus simple de tous les clients : un navigateur Web exécuté sur un ordinateur ne disposant pas de fonctionnalités SIG. Ce type de client simple peut uniquement envoyer vers un serveur des paquets de données simples, telles que du texte, des nombres, des tables et des entités géographiques et leurs attributs. Ces clients ne connaissent pas les représentations de données géographiques plus avancées, que vous utilisez dans ArcGIS for Desktop, telles que les jeux de données réseau, les topologies, les TIN, les classes de relations, les réseaux géométriques, etc. Ces jeux de données sont appelés jeux de données complexes ; ils modélisent des relations complexes entre des entités simples. Les jeux de données complexes ne peuvent pas être transportés via Internet ; seuls des entités, des tables, des rasters et des fichiers simples peuvent être transportés.
Lors de la création d'une tâche, vous devez être conscient que tous les clients, que ce soient des applications Web, ArcGIS Explorer ou ArcGIS for Desktop, savent uniquement comment envoyer et recevoir (transporter) ces jeux de données simples. Même si vous savez que seuls des clients sophistiqués accèderont à votre service, tels qu'ArcMap, vous êtes toujours limité à des données en entrée simples lors de la création de vos tâches.
Reportez-vous à la rubrique Modes en entrée et types de données des paramètres pour plus d'informations sur les jeux de données transportables et non transportables.
Affichage des résultats d'une tâche à l'aide d'un service de carte
Lorsque vous publiez un service de géotraitement, vous pouvez choisir d'afficher le résultat de la tâche sous la forme d'une carte (en plus des éventuels autres résultats de la tâche). La carte est créée sur le serveur à l'aide d'ArcMap, puis renvoyée au client. La symbologie, l'étiquetage, la transparence et toutes les autres propriétés de la carte renvoyée sont identiques à ceux de la couche en sortie de la session ArcMap active. Le workflow de création d'un service de carte obtenu est simple :
- Exécutez l'outil pour créer un résultat dans la fenêtre Résultat. Toutes les données créées par votre outil seront ajoutées à la table des matières ArcMap en tant que couche.
- Modifiez la symbologie de couches qui sont la sortie de votre outil.
- Cliquez avec le bouton droit sur le résultat et partagez-le en tant que service de géotraitement.
- Dans l'Editeur de services, cliquez sur Paramètres et activez l'option Afficher le résultat à l'aide d'un service de carte.
Si votre couche en sortie affiche des valeurs uniques, vous pouvez avoir besoin de désactiver l'option <toutes les autres valeurs> dans les propriétés de la couche pour forcer le recalcul des valeurs uniques avant l'affichage. Reportez-vous à la rubrique Création d'un fichier de symbologie de couche pour plus de détails.
Documentation de votre tâche
Fournir une bonne documentation pour votre service et vos tâches est essentiel si vous voulez que votre service soit découvert, compris et utilisé par le public le plus large possible.
Une documentation de qualité commence avec l'outil qui a créé le résultat que vous publiez. Chaque outil dans le système dispose d'une description d'élément qui peut être affichée et modifiée en cliquant avec le bouton droit sur l'outil dans la fenêtre Catalogue et en sélectionnant Description de l'élément.
Pour en savoir plus sur la documentation des tâches et services de géotraitement
Paramètres environnement de géotraitement
Les paramètres d'environnement de géotraitement sont des paramètres supplémentaires qui affectent les résultats d'un outil. Ils diffèrent des paramètres d'outil normaux dans la mesure où ils ne s'affichent pas dans la boîte de dialogue d'un outil (à certaines exceptions près). Il s'agit plutôt de valeurs que vous définissez dans une boîte de dialogue séparée et qui sont interrogées et utilisées par les outils lors de leur exécution.
Hiérarchie des paramètres d'environnement
Vous pouvez modifier de différentes façons les paramètres d'environnement et l'emplacement où vous effectuez les modifications peut être considéré comme un niveau dans une hiérarchie. Les paramètres d'environnement sont transmis d'un niveau au niveau inférieur. A chaque niveau, vous pouvez remplacer par d'autres paramètres les paramètres d'environnement issus du niveau supérieur.
- Niveau de l'application : dans le menu principal, cliquez sur Géotraitement > Environnements. Les modifications que vous effectuez affectent l'exécution de n'importe quel outil.
- Niveau de l'outil : dans la boîte de dialogue d'un outil, cliquez sur le bouton Environnements. Cela ouvre la boîte de dialogue Paramètres d'environnement. Notez que tous les paramètres d'environnement, que l'outil les respecte ou non, sont répertoriés dans la boîte de dialogue Paramètres d'environnement. Vous devez consulter la page de référence de l'outil pour déterminer si l'environnement est respecté par l'outil. Tous les paramètres que vous définissez ici remplacent les paramètres définis au niveau de l'application. Ces paramètres s'appliquent uniquement à l'exécution de l'outil ; les paramètres au niveau de l'application ne sont pas remplacés.
- Niveau du modèle, du processus de modèle ou du script : dans un modèle ou un script, vous avez un degré élevé de contrôle sur les paramètres d'environnement. Vous pouvez modifier un environnement pour un outil particulier, un ensemble d'outils ou pour chaque outil dans le modèle ou le script. Les paramètres que vous définissez à ce niveau remplacent tous les paramètres définis au niveau de l'outil ou de l'application.
Les paramètres d'environnement sont stockés dans un résultat
Un résultat dans la fenêtre Résultats stocke tous les paramètres d'environnement définis au niveau de l'application et de l'outil. Lorsque votre tâche s'exécute sur le serveur, les paramètres d'environnement dans le résultat sont utilisés durant l'exécution de la tâche. Toutefois, les paramètres que vous définissez au niveau du modèle ou du script ne sont pas affichés dans le résultat, mais seront utilisés durant l'exécution de la tâche. Vous pouvez considérer les paramètres d'environnement dans le résultat comme transmis sur l'outil de modèle ou de script, qui est alors libre de remplacer les paramètres.