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 l’enquête. Vous pouvez également décider d’associer l’enquête à une couche d’entités existante.

Préparer une couche d’entités

Si vous souhaitez utiliser une couche d’entités avec Survey123, il doit s’agir d’un élément dans ArcGIS Enterprise ou dans ArcGIS Online. Cela concerne les couches d’entités hébergées et les couches d’entités publiées sur des serveurs fédérés et non fédérés.

Remarque :

Si vous souhaitez 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 l’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.

Lors de l’activation des pièces jointes sur une couche d’entités, les colonnes KEYWORD et EXIFINFO ne sont pas ajoutées à la structure par défaut. Cette colonne est requise pour pouvoir associer les pièces jointes à l’enregistrement approprié. Une fois que vous avez activé les pièces jointes, exécutez l’outil de géotraitement Upgrade Attachments (Mettre à niveau les pièces jointes) pour activer les mots-clés.

Remarque :
Il est recommandé d’ajouter les colonnes KEYWORD et EXIFINFO avant de collecter les enregistrements avec Survey123 afin que les pièces jointes soumises contiennent des mots-clés. Si les colonnes KEYWORD et EXIFINFO n’existent pas avant la soumission des pièces jointes, lenotebook Python Update Attachment Keywords (Mettre à jour les mots-clés des pièces jointes) peut être utilisé pour mettre à jour les pièces jointes.

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.

Si vous prévoyez de modifier des enquêtes, veillez à ce que la couche d’entités autorise les valeurs nulles ou à ce que l’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.

Les fonctionnalités supplémentaires suivantes doivent être définies sur true (vrai) pour la couche d’entités :

  • supportsAttachmentsByUploadId : cette fonctionnalité est automatiquement activée si les pièces jointes sont activées sur la couche d’entités. Cela permet à l’application de charger toutes les pièces jointes associées à une enquête avant 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. Cela permet à l’application de créer et de gérer les ID globaux dans les entités créées (le serveur ne crée pas un nouvel ID global pour les 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 la couche d’entités.
  • Si vous utilisez une géodatabase multi-utilisateurs, les couches peuvent utiliser le versionnement de branche ou le versionnement traditionnel. Survey123 cible la version par défaut lors de l’utilisation d’une géodatabase de branche versionnée. Pour plus d’informations, consultez la rubrique Types de versionnement.
  • 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 la 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 prise en charge de la mise à jour dans une couche d’entités, consultez supportsApplyEditsWithGlobalIds dans la rubrique Couche (service d’entités) de la documentation de 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.

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

Vous pouvez créer une enquête à partir d’une couche d’entités existante dans Survey123 Connect. La couche d’entités doit être préparée pour pouvoir être utilisée avec Survey123. Connectez-vous à l’organisation ArcGIS, puis cliquez sur New survey (Nouvelle enquête). 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 la 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.

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 sur l’onglet settings (paramètres) de la feuille de calcul. Pour plus d’informations, voir Créer une enquête qui correspond à une couche d’entités.

Si la couche d’entités que vous avez sélectionnée comporte des pièces jointes, une seule question de type image est créée dans l’enquête avec le nom <nom_couche>_image. Ce nom ne correspond pas à un mot-clé de la table des pièces jointes et doit donc être mis à jour. Si les pièces jointes existantes représentent plusieurs questions, vous devez ajouter des questions de type image à l’enquête pour chacun des mots-clés de la table des pièces jointes.

Remarque :

Si l’enquête que vous créez nécessite des questions de type audio ou fichier, vous devez les ajouter manuellement à l’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 Questions mé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

Vous pouvez créer manuellement une enquête qui correspond à une couche d’entités existante, mais vous devez mettre à jour les propriétés form_id et submission_url sur l’onglet settings (paramètres) de la feuille de calcul pour définir un lien entre l’enquête et l’élément de la couche d’entités dans le 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 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
Conseil :

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 comme suit :

https://<host>:<port>/arcgis/sharing/rest/content/items/21a6c530b31a4523bdff7gg94c9c5d9a

Si vous avez besoin d’une enquête n’exigeant 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 les questions superflues avant de publier l’enquête. Les propriétés form_id et submission_url sont ainsi automatiquement créées.

Modifier la structure

Lorsqu’une enquête est créée à partir d’une couche d’entités existante, de nouvelles questions et valeurs de liste de choix ne peuvent y être ajoutées qu’une fois le champ ou le domaine correspondant ajouté à la couche d’entités. Lorsqu’une enquête est créée à partir d’une vue de couche d’entités, de nouvelles questions et valeurs de liste de choix ne peuvent y être ajoutées qu’une fois le champ ou le domaine correspondant ajouté à la couche d’entités sous-jacente et propagé vers la vue de la couche d’entités.