Paramètres en entrée et en sortie

Tous les outils Web doivent disposer 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.

Paramètres en entrée

Lorsque vous créez un outil Web, 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)

GPBoolean, GPDouble, GPLong, GPString

Date

GPDate

Unité linéaire

GPLinearUnit

Unité surfacique

GPArealUnit

Terrain

Terrain

Table de valeurs

GPValueTable

Composite

GPComposite

Spatial Reference (Référence spatiale), Coordinate System (Système de coordonnées)

GPSpatialReference, GPCoordinateSystem

Extent (Étendue), Envelope (Enveloppe)

GPExtent, GPEnvelope

String Hidden (Chaîne masquée), SQL Expression (Expression SQL)

GPStringHidden

Expression SQL

GPSQLExpression

Tous les types de données du tableau ci-dessus, à l’exception du type de données Value Table (Table de valeurs), prennent en charge les valeurs multiples (GPMultiValue) et les paramètres composites (GPComposite).

Type de données des champs

Pour utiliser le type de données Field (Champ), utilisez ArcGIS Pro 2.3 ou version ultérieure et ArcGIS Enterprise 10.7 ou version ultérieure.

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’un 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.

Avec

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), utilisez ArcGIS Pro 3.0 ou version ultérieure et 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 directement à l’aide de ArcGIS Pro 3.1 ou version ultérieure ou ArcGIS Enterprise version 11.0 ou ultérieure. En cas de publication dans ArcGIS Enterprise version 10.9.1 ou antérieure, le mode d’entrée du paramètre de table de valeurs est modifié en constant lors de la publication. En cas de publication à l’aide d’un script Python, vous pouvez utiliser ArcGIS Pro 3.0 ou version ultérieure. Si une colonne du paramètre Value table (Table de valeurs) possède un filtre, le processus de publication tiendra compte du filtre.

Avec

Vous pouvez consommer des outils Web dotés d’un paramètre Value table (Table de valeurs) en utilisant ArcGIS Pro ou Python si la version est ArcGIS Pro 3.0 ou ultérieure. 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.

Type de données Composite

Dans ArcGIS Pro, il n’existe pas de véritable type de données composite ; un type de données composite correspond simplement au nom d’un paramètre comportant plusieurs types de données. Après la publication en tant qu’outil Web, le type de données peut être converti en GPComposite, qui est un type de données réel sur le serveur. Pour convertir un type de données de paramètre en composite, utilisez ArcGIS Pro 3.2 ou version ultérieure et ArcGIS Enterprise 11.2.

Création

Bien que le paramètre accepte différents types de données avant la publication, assurez-vous que chaque type de données peut être converti et vérifiez le type de données cible après la publication à l’aide du tableau des paramètres en entrée. Vous pouvez utiliser le filtre Composite du composite pour définir les valeurs de chaque sous-type. Le filtre est respecté lors de la publication en tant qu’outil Web. Vous pouvez définir les valeurs multiples d’un composite, mais vous ne pouvez pas avoir de composite contenant d’autres valeurs multiples, un autre composite ou un autre type de données ValueTable si vous voulez ultérieurement procéder à une publication en tant que composite.

Publication

Lors de la publication avec ArcGIS Pro 3.2, utilisez la case à cocher Keep data type as Composite (Conserver le type de données Composite) sur l’onglet Content (Contenu) de la fenêtre de partage. Utilisez cette option pour déterminer si les données de paramètre de l’outil Web sont de type composite. La case à cocher est active uniquement lorsque vous procédez à la publication sur ArcGIS Enterprise 11.2 ou version ultérieure.

Si vous procédez à la publication avec une case à cocher désélectionnée ou inactive, ou avec un script Python, les données de l’outil Web du paramètre ne sont pas de type composite. Il s’agit d’un seul type de données converti basé sur la valeur fournie lors de l’exécution de l’outil avant la publication. Si vous procédez à la publication et que la case à cocher est sélectionnée, les données de l’outil Web du paramètre sont de type composite. Toutes les options disponibles du mode en entrée des types de données composites s’affichent. L’une de ces options est le mode mixte qui permet de sélectionner un mode en entrée différent pour chaque type de données du paramètre. Le mode mixte n’est pas disponible si le type de données est composite à valeurs multiples ou si un filtre de niveau supérieur s’applique à tous les types de données du paramètre.

Tous les types de données composites ne peuvent pas être convertis en types de données pris en charge sur le serveur à la publication. Si un type de données ne peut pas être converti en un type de données pris en charge côté serveur, il est supprimé ou devient un type de données GPString. Si plusieurs types de données du type composite correspondent aux mêmes types de données convertis, chacun d’entre eux est converti individuellement en ce type de données. Par exemple, si un paramètre en entrée a pour type de données LAS Dataset (Jeu de données LAS), Feature Set (Jeu d’entités) et Feature Layer (Couche d’entités), il devient un composite de GPFeatureRecordSetLayer et d’un autre GPFeatureRecordSetLayer une fois publié ; en effet, le type de données LAS Dataset (Jeu de données LAS) n’est pas pris charge, et les types de données Feature Set (Jeu d’entités) et Feature Layer (Couche d’entités) sont convertis vers le même type sur le serveur.

Avec

Vous pouvez utiliser des outils Web avec un paramètre composite à l’aide de ArcGIS Pro 3.2 ou d’un script Python. Si vous utilisez une version antérieure de ArcGIS Pro, seul le type de données de la valeur indiquée pour le paramètre avant la publication peut être employé. Le type de données composite n’est pas pris en charge dans les applications créées dans ArcGIS Web AppBuilder ou Map Viewer Classic dans Portal for ArcGIS.

Si vous utilisez ArcGIS Pro 3.2, vous pouvez employer un outil Web avec tous les types de données pris en charge du paramètre composite. Puisque certains types ne sont pas pris en charge sur le serveur, les types de données que vous pouvez utiliser sont susceptibles d’être moins nombreux qu’avant la publication. Pour cocher les types de données du paramètre pris en charge, sélectionnez l’outil Web dans la fenêtre Content (Contenu) de Catalog (Catalogue), cliquez avec le bouton droit sur la tâche et sélectionnez Task Information (Informations sur la tâche) pour ouvrir l’extrémité REST. Les types de données pris en charge d’un paramètre GPComposite figurent sous l’attribut Parameter infos (Informations du paramètre).

Si les filtres sont définis pour chaque type de données avant la publication, ils sont respectés à l’exécution de l’outil Web. Si plusieurs types de données convertis portent le même nom et si chacun d’entre eux possède son propre filtre, l’utilisation de l’outil Web correspond à la première valeur disponible avec chaque filtre.

Type de données Areal Unit (Unité surfacique)

Pour utiliser le type de données Areal Unit (Unité surfacique), publiez votre outil Web d’ArcGIS Pro 3.3 ou version ultérieure vers ArcGIS Enterprise 11.3 ou version ultérieure. Vous avez également la possibilité de conserver le type de données String (Chaîne). Si vous utilisez l’objet GeoprocessingSharingDraft pour préparer le service et le publier, effectuez la publication depuis ArcGIS Pro 3.4 ou version ultérieure. Vous avez également la possibilité de conserver le type de données String (Chaîne) en utilisant la propriété GPStringValues lors de la création d’un objet GeoprocessingSharingDraft.

Types de données Référence spatiale, Système de coordonnées, Étendue, Enveloppe, Chaîne masquée et Expression SQL

Pour utiliser les types de données Spatial Reference (Référence spatiale), Coordinate System (Système de coordonnées), Extent (Étendue), Envelope (Enveloppe), String Hidden (Chaîne masquée) et SQL Expression (Expression SQL), publiez vos outils Web d’ArcGIS Pro 3.4 ou version ultérieure vers ArcGIS Enterprise 11.4 ou version ultérieure. Vous avez également la possibilité de conserver le type de données String (Chaîne). Si vous utilisez l’objet geoprocessingSharingDraft pour préparer le service et le publier, effectuez la publication depuis ArcGIS Pro 3.4 ou version ultérieure. Vous avez également la possibilité de le maintenir sous forme de données String (Chaîne) en utilisant la propriété GPStringValues lors de la définition d’un objet geoprocessingSharingDraft.

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.

Types de données en sortie pris en charge

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)

GPBoolean, GPDouble, GPlong, GPString

Date

GPDate

Unité linéaire

GPLinearUnit

Unité surfacique

GPArealUnit

Terrain

Terrain

Table de valeurs

GPValueTable

Composite

GPComposite

Spatial Reference (Référence spatiale), Coordinate System (Système de coordonnées)

GPSpatialReference, GPCoordinateSystem

Extent (Étendue), Envelope (Enveloppe),

GPExtent, GPEnvelope

Chaîne masquée

GPStringHidden

Expression SQL

GPSQLExpression

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

À l’exception de Value Table (Table de valeurs), tous les types du tableau ci-dessus peuvent faire partie d’un paramètre composite. Un paramètre composite peut prendre en charge plusieurs valeurs. Reportez-vous à GPComposite pour ce type de données dans ArcGIS Enterprise.

Tous les types de données en sortie du tableau ci-dessus, à l’exception du type de données Value Table (Table de valeurs), prennent en charge les valeurs multiples (GPMultiValue) et les paramètres composites (GPComposite).

Type de données Composite

Lors de la publication avec ArcGIS Pro 3.2, utilisez la case à cocher Keep data type as Composite (Conserver le type de données Composite) sur l’onglet Content (Contenu) de la fenêtre de partage. La case à cocher est active uniquement lorsque vous procédez à la publication sur ArcGIS Enterprise 11.2 ou version ultérieure.

Si vous procédez à la publication avec une case à cocher désélectionnée ou inactive, ou avec un script Python, les données de l’outil Web du paramètre ne sont pas de type composite. Il s’agit du seul type de données converti basé sur la valeur fournie lors de l’exécution de l’outil avant la publication. Si vous procédez à la publication et que la case à cocher est sélectionnée, les données de l’outil Web du paramètre sont de type composite.

Tous les types de données composites du paramètre ne peuvent pas être convertis en types de données pris en charge sur le serveur à la publication. Si un type de données ne peut pas être converti en un type de données pris en charge côté serveur, il est supprimé ou devient un type GPString. Si plusieurs types de données du paramètre correspondent aux mêmes types de données convertis, chacun d’entre eux est converti individuellement en ce type de données.

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.

Types de données Référence spatiale, Système de coordonnées, Étendue, Enveloppe, Chaîne masquée et Expression SQL

Pour utiliser les types de données Spatial Reference (Référence spatiale), Coordinate System (Système de coordonnées), Extent (Étendue), Envelope (Enveloppe), String Hidden (Chaîne masquée) et SQL Expression (Expression SQL), publiez vos outils Web d’ArcGIS Pro 3.4 ou version ultérieure vers ArcGIS Enterprise 11.4 ou version ultérieure. Vous avez également la possibilité de conserver le type de données String (Chaîne). Si vous utilisez l’objet geoprocessingSharingDraft pour préparer le service et le publier, effectuez la publication depuis ArcGIS Pro 3.4 ou version ultérieure. Vous avez également la possibilité de le maintenir sous forme de données String (Chaîne) en utilisant la propriété GPStringValues lors de la définition d’un objet geoprocessingSharingDraft.

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 le processus vous demande de renvoyer plusieurs éléments ou des éléments complexes composés de plusieurs éléments, vous pouvez être amené à modifier le type de paramètre en sortie en fichier, à 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é.