Utiliser Survey123 avec des couches d’entités existantes

Par défaut, lorsque vous publiez une enquête dans ArcGIS Survey123 Connect, une couche d’entités est créée avec la structure de votre enquête. Sinon, vous pouvez décider d’associer votre enquête à une couche d’entités existante.

Préparer une couche d’entités

Pour utiliser une couche d’entités avec Survey123, il doit s’agir d’une couche hébergée dans ArcGIS Enterprise ou ArcGIS Online, ou encore d’un service dans ArcGIS Server (10.4 ou version ultérieure) qui est fédéré avec Portal for ArcGIS.

Remarque :

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.

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

  • Pour créer de nouvelles enquêtes, les utilisateurs ont besoin de la fonctionnalité Create.
  • Pour mettre à jour des enquêtes existantes, les utilisateurs ont besoin de la fonctionnalité Update sur la couche.
  • Si les utilisateurs capturent des images, un clip audio ou des fichiers, 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 couche 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 mise à jour lorsqu’une réponse est supprimée et n’est pas remplacée. Par conséquent, Survey123 n’envoie pas d’enquête depuis une couche d’entités qui n’autorise pas les valeurs nulles.

Deux fonctionnalités supplémentaires doivent être définies sur True (Vrai) pour la couche d’entités :

  • supportsAttachmentsByUploadId : cette fonctionnalité doit être activée automatiquement si les pièces jointes sont activées sur la couche 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.
  • supportsApplyEditsWithGlobalIds : la couche d’entités doit permettre l’application de mises à jour 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 n’impose pas un nouvel ID global aux entités créées).

Pour qu’une couche d’entités prenne en charge l’application de mises à jour avec les identifiants globaux, les exigences suivantes doivent être respectées :

  • Les couches dans la couche 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 couche 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.
  • Si votre couche d’entités contient des couches prenant en charge les valeurs m, la mise à jour sans valeur m doit être activée.

Pour en savoir plus sur la manière de prendre en charge la mise à jour de votre couche d’entités, observez supportsApplyEditsWithGlobalIds dans Layer (Feature Service) (Couche (Service d’entités)) de la documentation d’ArcGIS REST API.

Remarque :

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

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

Le moyen le plus rapide pour créer une enquête associée à une couche d’entités existante consiste à générer l’enquête depuis la couche d’entités dans ArcGIS Survey123 Connect.

Dans Survey123 Connect, sélectionnez New survey (Nouvelle enquête), connectez-vous à votre organisation ArcGIS, puis sélectionnez la catégorie Feature service (Service d’entités). Accédez à une couche d’entités et sélectionnez-la, puis cliquez sur Create survey (Créer une enquête). Une feuille XLSForm est générée à partir de votre couche 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.

Si la couche d’entités que vous avez sélectionnée possède plusieurs couches, l’enquête est générée sur la base de la première couche. Pour baser une enquête sur une autre couche de la couche d’entités, vous devez créer l’enquête manuellement et mettre à jour les propriétés form_id et submission_url sous 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 audio ou fichier, 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 la couche d’entités.

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

Il est possible de créer manuellement une enquête qui correspond à une couche d’entités, mais vous devez mettre à jour les propriétés form_id et submission_url dans l’onglet settings de votre feuille de calcul pour définir un lien entre votre enquête et l’élément de couche d’entités dans votre portail ou dans ArcGIS Online.

La propriété form_id définit explicitement le nom de la couche dans la couche d’entités utilisée par l’enquête. Pour plus d’informations, consultez cet article de la base de connaissances portant sur la façon de créer une enquête correspondant à un service d’entités.

La propriété submission_url est l’URL de l’élément de la couche d’entités.

URL d’envoi dans le formulaire Survey123
Astuce :

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

Pour créer l’URL, vous devez concaténer l’ID de l’élément avec la racine du contenu du portail. L’exemple figurant dans l’image ci-dessus présente un lien renvoyant à un élément ArcGIS Online ; le lien vers le même élément dans un portail se présente sous la forme https://<host>:<port>/arcgis/sharing/rest/content/items/21a6c530b31a4523bdff7gg94c9c5d9a.

Si vous avez besoin d’une enquête ne réclamant que certains champs d’une couche d’entités existante, il est recommandé de générer une enquête à partir de la couche d’entités (comme décrit dans la section ci-dessus) et de supprimer toutes les questions superflues avant de publier l’enquête. Grâce à cette méthode, les propriétés form_id et submission_url sont créées pour vous.