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, plus de 100 types de données de paramètres uniques 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. De nombreux 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 en entrée suivants sont pris en charge :

  • Jeu d'entités, couche d'entités
  • Jeu d'enregistrements, vue tabulaire
  • Jeu de données raster, couche raster
  • Fichier
  • Double, long
  • Chaîne (texte)
  • Date
  • Unité linéaire
  • Champ

À l’exception des champs, tous les types mentionnés ci-dessus prennent en charge les valeurs multiples.

Terrain

Remarque :

Pour utiliser des données de type 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, vérifiez que le paramètre a une dépendance envers un paramètre doté d’un type de données couche d’entités. Seul le type de données en entrée couche d’entités est pris en charge. Pour configurer la dépendance d’un paramètre, reportez-vous à la rubrique Dépendance.

Exécution

Lorsque vous exécutez l’outil avant la publication, 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.

Publication

Lorsque vous configurez les propriétés de l’outil, vérifiez que le mode en entrée est défini sur 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 champ n’est pas pris en charge dans les applications créées dans ArcGIS Web AppBuilder ou Map Viewer 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 et donne l'impression d'avoir échoué. Tout comme les paramètres en entrée, les services de géotraitement ne prennent en charge qu'un sous-jeu de types de données pour les paramètres en sortie.

Astuce :
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 être définis dans l’outil comme étant dérivés ou requis et sont limités à ce qui suit :

  • Classe d'entités
  • Tableau
  • Jeu de données raster
  • Fichier
  • Double, long
  • Chaîne (texte)
  • Date
  • Unité linéaire

Tous les types de données en sortie mentionnés ci-dessus prennent en charge les valeurs multiples.

Sorties précodées

Le point le plus important peut-être pour les paramètres est que 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 dans in_memory ou dans un emplacement temporaire (scratchGDB ou scratchFolder) et 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é.