Paramètres en entrée et en sortie

Tous les outils réussis disposent de paramètres en entrée et en sortie. Sans paramètre en entrée, l'outil effectuerait toujours le même traitement à chacune de ses exécutions. La modification de la valeur d'un paramètre en entrée produit un résultat différent. Les paramètres en sortie permettent à un outil de renvoyer le résultat. Le service de géotraitement qui optimise un outil web possède des règles bien définies sur les paramètres en entrée et en sortie. Ces règles, expliquées ci-dessous, garantissent que les outils appropriés au web peuvent être publiés afin que les clients puissent interagir avec eux comme prévu.

Paramètres en entrée

Lorsque vous créez un outil de géotraitement, de nombreux types de données de paramètres peuvent être utilisés pour fournir des entrées à un outil. Le choix d'un type de données sur un autre peut aider les personnes qui utilisent l'outil à fournir les entrées attendues pour votre outil. Certains types de données sont spécialisés et ne sont pas pris en charge au sein d’un service de géotraitement. Lorsque vous construisez un outil à utiliser en tant que service de géotraitement, il est préférable d'utiliser des types de données pris en charge. Un outil que vous créez et distribuez à des collègues peut être configuré légèrement différemment d’un outil que vous créez et qui est destiné à être publié en tant qu’outil web.

Les types de données pris en charge dans ArcGIS Pro sont ceux figurant dans la colonne de gauche de la table ci-dessous. Une fois publiés, ils seront convertis en types de données correspondants dans ArcGIS Enterprise.

Type de données dans ArcGIS ProType de données dans ArcGIS Enterprise

Jeu d’entités, Feature Layer (Couche d’entités)

GPFeatureRecordSetLayer

Raster Dataset (Jeu de données raster), Raster Layer (Couche raster)

GPRasterDataLayer

Record Set (Jeu d’enregistrements), Table View (Vue tabulaire)

GPRecordSet

Fichier

GPDataFile

Boolean (Booléen), Double, Long, String (Chaîne) (texte)

GPBoolean, GPDouble, GPLong, GPString

Date

GPDate

Unité linéaire

GPLinearUnit

Terrain

Terrain

Table de valeurs

GPValueTable

À l’exception du champ Value Table (Table de valeurs), tous les types mentionnés ci-dessus prennent en charge les valeurs multiples. Voir GPMultivalue pour ce type de données dans ArcGIS Enterprise.

Type de données des champs

Pour utiliser des données de type Field (Champ), vous devez disposer de ArcGIS Pro 2.3 ou version ultérieure et de ArcGIS Enterprise 10.7 ou version ultérieure. Les paramètres de champ à valeurs multiples ne sont pas pris en charge.

Création

Pour les outils qui admettent un paramètre de champ en entrée, assurez-vous que le paramètre de champ a une dépendance envers un paramètre, tel qu’une couche d’entités ou une table.

Si vous utilisez une version comprise entre ArcGIS Pro 2.3 et ArcGIS Pro 2.9, seul le jeu d’entités et la couche d’entités en entrée sont pris en charge comme dépendance. Si vous publiez à partir de la version comprise entre ArcGIS Pro 3.0 ou ultérieure et ArcGIS Enterprise 11.0 ou ultérieure, le type de données Field (Champ) peut dépendre de tous les types de données en entrée des entités et de la table prises en charge

Exécution de l'outil

Lorsque vous exécutez l’outil avant la publication entre les versions ArcGIS Pro 2.3 et ArcGIS Pro 2.9, pour les couches d’entités dont dépendent ces paramètres de champ, sélectionnez une classe d’entités sur le disque. N’utilisez pas une couche d’entités en entrée.

À compter de ArcGIS Pro 3.0 ou ultérieure et en cas de publication vers ArcGIS Enterprise 11.0 ou ultérieure, il n’existe aucune restriction sur la façon dont vous choisissez les données en entrée. Vous pouvez utiliser une classe d’entités, une classe d’entités sur disque, une table ou une vue tabulaire pour les couches dont dépend un paramètre de champ.

Publication

Lorsque vous configurez les propriétés d’outil, le mode en entrée d’un paramètre de champ correspond à l’option Choice list (Liste de choix) par défaut. Assurez-vous que le mode en entrée du paramètre de champ est défini sur l’option User defined value (Valeur définie par l’utilisateur). Pour en savoir plus les modes en entrée lors du partage d’un outil web, reportez-vous à la rubrique Contenu.

Consommation

Lorsque vous consommez l’outil Web dans ArcGIS Pro, tous les champs applicables sont automatiquement renseignés dans la liste déroulante une fois que vous avez sélectionné une entrée.

Remarque :

Le type de données Field (Champ) n’est pas pris en charge dans les applications créées dans ArcGIS Web AppBuilder ou Map Viewer Classic dans Portal for ArcGIS.

Type de données Value Table (Table de valeurs)

Une table de valeurs est un objet de type table flexible constitué de lignes et de colonnes qui contiennent différentes valeurs. Pour utiliser le type de données Value Table (Table de valeurs), vous devez disposer de ArcGIS Pro 3.0 ou version ultérieure et de ArcGIS Enterprise 11.0 ou version ultérieure. Pour en savoir plus sur ce type de donnée, voir Value Table. Les paramètres à valeurs multiples ne sont pas pris en charge dans une table de valeurs.

Création

Même si les noms de colonne d’un paramètre Value table (Table de valeurs) peuvent être vides ou en double, il est recommandé d’utiliser des noms de colonne uniques et non vides lors de la création des paramètres d’outil. Les noms de colonne uniques et non vides permettent aux utilisateurs de votre outil Web de faire la distinction entre les colonnes lorsqu’ils exécutent l’outil Web, notamment pour les colonnes ayant les mêmes types de données.

Publication

Vous pouvez publier un outil Web doté d’un paramètre Value table (Table de valeurs) en entrée ou en sortie, au sein d’un script Python. Si une colonne du paramètre Value table (Table de valeurs) possède un filtre, le processus de publication tiendra compte du filtre.

Consommation

Vous pouvez consommer des outils Web dotés d’un paramètre Value table (Table de valeurs) en utilisant ArcGIS Pro 3.0 ou Python. Le type de données Value Table (Table de valeurs) n’est pas pris en charge dans les applications créées dans ArcGIS Web AppBuilder ou Map Viewer Classic dans Portal for ArcGIS.

Entrées non prises en charge

Si le paramètre que vous utilisez pour construire votre outil ne figure pas dans la liste ci-dessus, il n'est pas pris en charge pour un service de géotraitement. Lorsque vous partagez votre outil Web, un paramètre non pris en charge est soit codé au sein du service, soit converti en type pris en charge. La compréhension de ces deux points vous permettra de créer un outil tout en permettant aux utilisateurs de votre outil d'interagir comme vous le souhaitez. La manière dont un type de paramètre non pris en charge est transformé dépend du paramètre. Lorsque vous partagez votre outil web, la transformation du paramètre peut être examinée en configurant les propriétés de l’outil Mise à jour sous la section Content (Contenu). Les exemples suivants incluent certains des paramètres les plus courants et indiquent comment les modifier pour qu'ils fonctionnent dans un service de géotraitement.

Par exemple, le paramètre de classe d’entité prend à la fois en charge les shapefiles et les classes d’entités sur le disque. Toutefois, votre outil peut utiliser le paramètre de couche d’entités ou de jeu d’entités. Le paramètre de couche d’entités prend en charge la sélection dans une liste de couches. Cette liste de couches contient alors les couches de votre carte présentes au moment de la publication. Vous pouvez également utiliser le paramètre de jeu d'entités. Ce paramètre permet la saisie interactive des entités. Une application web qui utilise un service de géotraitement avec un jeu d'entités en entrée permet à l'utilisateur de créer des entités avec lesquelles le service interagira. Ces concepts s'appliquent également aux tables et jeux d'enregistrements. Ces méthodes permettent toutes à un utilisateur de fournir une entité en entrée. Toutefois, elles génèrent des services très différents après la publication. Votre workflow vous permettra de choisir le type de données qui convient le mieux.

Le type d’espace de travail et le type de dossier sont deux types de paramètres très utilisés qui deviennent précodés après la publication. Un processus peut utiliser un dossier ou un fichier de connexion .sde et effectuer une opération sur les éléments situés au sein du dossier. Un espace de travail ne peut pas être transporté dans le service de géotraitement à partir du client. Au lieu de cela, il devient précodé dans le service publié. Cette référence précodée pointe vers un emplacement avec ces éléments référencés ou copiés, selon la configuration du stockage des données. Le service publié continue à utiliser l'espace de travail et son contenu comme il le faisait avant sa publication. La seule différence est que l'utilisateur du service ne peut pas modifier l'espace de travail.

Paramètres en sortie

Dans un processus standard, votre outil web possède au moins un paramètre en sortie. C'est par l'intermédiaire d'un paramètre en sortie qu'un outil web renvoie un résultat au client. Sans ce paramètre, le service ne peut rien renvoyer. Tout comme les paramètres en entrée, les services de géotraitement prennent en charge certains types de données pour les paramètres en sortie.

Conseil :
Si l’outil que vous créez n’a pas besoin d’un paramètre en sortie, car l’objectif de l’outil est d’effectuer une mise à jour ou une action à un moment défini, vous n’avez peut-être pas besoin d’un service de géotraitement. Dans ce cas, une tâche planifiée peut convenir davantage.

Les types de données en sortie pris en charge peuvent avoir un type de paramètre soit dérivé ou obligatoire et peuvent correspondre à ceux figurant dans la colonne de gauche de la table ci-dessous dans ArcGIS Pro. Une fois publiés, ils deviendront les types de données correspondants dans la colonne appropriée dans ArcGIS Enterprise.

Type de données dans ArcGIS ProType de données dans ArcGIS Enterprise

Classe d’entités

GPFeatureRecordSetLayer

Jeu de données raster

GPRasterDataLayer

Tableau

GPRecordSet

Fichier

GPDataFile

Boolean (Booléen), Double, Long, String (Chaîne) (texte)

GPBoolean, GPDouble, GPlong, GPString

Date

GPDate

Unité linéaire

GPLinearUnit

Terrain

Terrain

Table de valeurs

GPValueTable

Tous les types de données en sortie mentionnés ci-dessus autres que ValueTable prennent en charge les valeurs multiples. Voir GPMultivalue pour ce type de données dans ArcGIS Enterprise.

Sorties précodées

Toutes les sorties deviennent statiques pour l’utilisateur du service. Lorsqu’un service de géotraitement est utilisé dans une application bureautique ou Web, aucune valeur n’est jamais fournie pour le paramètre en sortie. Ceci peut être surprenant la première fois que vous essayez d’exécuter le service, car aucune invite ne vous demande de définir le nom en sortie d’une classe d’entités. Lorsque vous partagez un outil web, le traitement qui publie le service de géotraitement gère la sortie. Le nom en sortie qui existait au moment de l’exécution de l’outil dans ArcGIS Pro devient le nom du résultat en sortie du service. Le service gère l’écriture de la sortie en mémoire ou dans un emplacement temporaire tel qu’un dossier temporaire, une géodatabase temporaire ou un espace de travail temporaire. Le service renvoie la sortie au client après son exécution.

Sortie non prise en charge

Certains types de paramètres ne sont pas pris en charge dans un service de géotraitement, car ils ne peuvent pas être renvoyés au client. Les espaces de travail et types complexes, tels que les jeux de données réseau et les réseaux géométriques, en sont des exemples. Un espace de travail, par exemple, peut être un dossier, un jeu de classes d’entités ou un fichier de connexion .sde. Le service ne peut pas renvoyer de dossier ou de conteneur d'éléments. Si votre processus vous demande de renvoyer plusieurs éléments ou des éléments complexes composés de plusieurs éléments, vous pouvez être amené à compresser ces éléments et à renvoyer le fichier .zip. Si votre processus le permet, vous pouvez aussi utiliser l’outil Copier des entités et renvoyer un résultat de classe d’entités simplifié.