Skip To Content

Utiliser Survey123 avec des services d'entités existants

Par défaut, lorsque vous publiez une enquête dans Survey123 Connect for ArcGIS, un service d'entités est créé avec le schéma de votre enquête. Sinon, vous pouvez décider d’associer votre enquête à un service d’entités existant.

Préparer un service d’entités

Pour utiliser un service d’entités avec Survey123, il doit être un service hébergé depuis ArcGIS Enterprise ou ArcGIS Online, ou un service depuis ArcGIS Server (version 10.4 ou ultérieure) qui est fédéré avec Portal for ArcGIS.

Le propriétaire et les utilisateurs de l’enquête doivent avoir accès au service d’entités et celui-ci doit être modifiable. Tenez également compte des points suivants :

  • Pour créer de nouvelles enquêtes, les utilisateurs nécessitent la fonctionnalité Create.
  • Pour mettre à jour des enquêtes existantes, les utilisateurs nécessitent la fonctionnalité Update sur le service.
  • Si les utilisateurs capturent des images ou de l’audio, hasAttachments doit être défini sur true.

Les répétitions ne peuvent pas référencer des couches ou des tables associées, sauf si la couche ou la table enfant utilise un champ GUID pour la relation. Même s’il ne s’agit pas d’une condition requise pour les versions de ArcGIS Server prises en charge par Survey123, il est conseillé d’utiliser un champ GUID pour la relation dans la couche parent.

Si vous prévoyez de modifier vos enquêtes, veillez à ce que votre service d’entités autorise les valeurs nulles ou à ce que votre enquête utilise des champs obligatoires. Survey123 utilise des valeurs nulles lors de la modification lorsqu’une réponse est supprimée et non remplacée ; par conséquent, Survey123 n’enverra pas d’enquête depuis un service d’entités qui n'autorise pas les valeurs nulles.

Deux fonctionnalités supplémentaires doivent être définies sur true pour le service d’entités :

  • supportsAttachmentsByUploadId : cette fonctionnalité doit être activée automatiquement si les pièces jointes sont activées sur le service d’entités. Cela permet à l'application de télécharger les pièces jointes associées à une enquête avant d’essayer d’envoyer l’enquête. En cas d’échec de chargement d’une pièce jointe, l’envoi de l’enquête est annulé, empêchant ainsi la perte de données.
  • supportsApplyEditsWithGlobalId : le service d’entités doit permettre l’application de modifications avec des ID globaux. Ceci permet à l’application de créer et gérer les ID globaux dans les entités créées (le serveur ne force pas un nouvel ID global pour les entités créées).

Pour qu’un service d’entités prenne en charge l’application de modifications avec les identifiants globaux, les exigences suivantes doivent être respectées :

  • Les couches du service d’entités doivent avoir une colonne GlobalId avec un indice unique. Pour ce faire, la méthode la plus simple consiste à activer la synchronisation lors de la publication de votre service d'entités.
  • Les données ne peuvent pas être versionnées.
  • Une couche d’entités ou une table doit contenir des ID globaux, avant l’activation de pièces jointes dans l’une ou l’autre.

Pour en savoir plus sur la manière de prendre en charge la modification dans votre service d’entités, observez supportsApplyEditsWithGlobalId dans Layer (Feature Service) (Couche (Service d’entités)) de la documentation de l’API REST d’ArcGIS.

Remarque :

Survey123 prend uniquement en charge les relations GUID un vers plusieurs lors de l’utilisation de services d’entités et tables associées existants. Les relations un à un ne sont pas prises en charge.

Pour utiliser des services d'entités non fédérés, une configuration supplémentaire est requise : vous devrez créer manuellement un élément de couche d'entités dans votre organisation ArcGIS représentant le service. Pour plus d'informations, consultez cet article de la base de connaissances sur la façon de se connecter à des services ArcGIS Server non fédérés.

Générer une enquête à partir d’un service d’entités

Le moyen le plus rapide pour créer une enquête associée à un service d'entités existant consiste à générer l'enquête depuis le service d'entités dans Survey123 Connect for ArcGIS.

Remarque :

Il est possible d’utiliser une enquête générée à partir d’un service d’entités pour modifier des attributs dans des entités surfaciques et polylignes. Ce faisant, le champ de géométrie n’est pas ajouté à l’enquête comme question, et aucun ne doit l’être si l’on veut que la question s’affiche correctement. Les nouvelles entités ne doivent pas être ajoutées à ces services via Survey123, car elles sont alors envoyées avec une géométrie nulle. À part cela, la génération et l’utilisation de votre enquête restent identiques.

Dans Survey123 Connect, sélectionnez Nouvelle enquête, connectez-vous à votre organisation ArcGIS, puis sélectionnez la catégorie Services d'entités. Localisez le service d’entités de votre choix, sélectionnez-le, puis cliquez sur Créer une enquête. Un XLSForm est généré à partir de votre service d’entités. Vous pouvez ensuite publier cette enquête immédiatement ou la personnaliser davantage. Par exemple, vous pouvez ajouter davantage de libellés descriptifs aux questions ou les regrouper en sections.

Il est impossible de générer des enquêtes à partir de services publics. Dans l’éventualité où le service d'entités utilisé pour créer votre enquête possède plus d’une couche, l’enquête sera générée sur la base de la première couche. Pour baser une enquête sur une autre couche d’un service d’entités, vous devez créer l’enquête manuellement et utiliser les propriétés form_id et submission_url sur l’onglet Settings (Paramètres) de votre feuille de calcul. Ce processus est décrit dans la section ci-dessous.

Remarque :

Si l’enquête que vous créez nécessite des questions de type image ou audio, vous devez les ajouter manuellement à votre enquête. Une fois votre enquête générée, ouvrez sa feuille de calcul et ajoutez-y vos questions. Pour plus d'informations, reportez-vous à la rubrique Éléments multimédias. Par ailleurs, les pièces jointes doivent être activées dans le service d'entités.

Créer une enquête qui correspond à un service d’entités

Il est également possible, mais non recommandé, de créer une enquête qui correspond à un service d’entités existant. Si vous avez besoin d'une enquête ne comprenant pas tous les champs d'un service d’entités existant, il est recommandé de générer une enquête à partir du service d’entités (comme décrit ci-dessus) et de supprimer toutes les questions superflues avant de publier l’enquête. Vous devrez également utiliser la propriété submission_url sur l’onglet Settings (Paramètres) de votre feuille de calcul pour définir un lien entre votre enquête et l’élément de la couche d’entités dans votre portail ou dans ArcGIS Online.

URL d'envoi dans le formulaire Survey123
Astuce:

Vous devez fournir l’URL de l’élément du service d’entités, comme indiqué ci-dessus. Il est fréquent d’utiliser l’URL du service d’entités à la place, ce qui n’est pas possible.

Vous devez également remplir la propriété form_id, une valeur qui définit explicitement quelle couche est utilisée par l’enquête. Pour plus d'informations, consultez cet article de la base de connaissances sur la façon de créer une enquête correspondant à un service d’entités.

Remarque :

Cette méthode permet également de modifier des attributs dans un service d’entités polylignes et surfaciques. Aucun champ de géométrie ne doit être ajouté à votre enquête pour éviter que la question ne s’affiche incorrectement. Les nouvelles entités ne doivent pas être ajoutées à ces services via Survey123, car elles sont alors envoyées avec une géométrie nulle. À part cela, la création et l’utilisation de votre enquête restent identiques.