Téléversement des données ArcGIS Survey123 extraites d’un téléphone dans ArcGIS Online – partie 2
Avez-vous déjà rencontré une situation où vous ne pouviez pas accéder à vos données ArcGIS Survey123 à partir de votre téléphone ou de votre tablette? Pas de panique, vous n’êtes pas seul et nous sommes là pour vous guider. Dans ce billet de blogue, nous allons approfondir le processus de récupération des données ArcGIS Survey123 à partir de votre téléphone. Pour être sûr que, lorsque cela vous arrive, vous sachiez comment tout récupérer.
Introduction
Ce billet de blogue est le deuxième d’une série de deux constituant le guide ultime pour récupérer les données d’ArcGIS Survey123 sur votre téléphone. Cette deuxième partie explique comment téléverser dans ArcGIS Online les données ArcGIS Survey123 récupérées à partir d’un appareil. Si vous n’avez pas encore récupéré les données ArcGIS Survey123 de votre téléphone, veuillez vous reporter au billet précédent de la série, accessible ici.
Récupération des données ArcGIS Survey123 sous forme de fichiers CSV à l’aide de Python
Si vous avez mis à jour le schéma d’un sondage, mais que des utilisateurs n’ont pas encore envoyé toutes leurs données, ils rencontreront une erreur lorsqu’ils essaieront de soumettre leurs données. Heureusement, il existe une solution à ce problème : vous pouvez exporter votre base de données SQL sous forme de fichiers CSV que vous téléversez dans ArcGIS Online en tant que couche d’entités, soit directement, soit par l’intermédiaire d’ArcGIS Pro
Pour commencer, téléchargez ce script Python sur GitHub et ouvrez-le dans un éditeur de code comme Visual Studio Code. Si vous utilisez VS Code, assurez-vous d’installer Python à la fois en tant que module d’extension dans l’éditeur (instruction ci-dessous) et à partir du Microsoft Store.
Comment télécharger Python dans Visual Studio Code
Une fois le script Python ouvert dans l’éditeur, assurez-vous de déplacer le fichier ou le dossier vers un emplacement approuvé. Nous pouvons maintenant commencer à apporter de petites modifications au script pour l’adapter à votre environnement. Commencez par mettre à jour la variable IN_DB à la ligne 11 pour qu’elle pointe vers le répertoire de votre base de données SQL de votre téléphone. Ensuite, attribuez à la variable OUT_DIR le chemin d’accès au fichier où vous souhaitez que les fichiers CSV soient enregistrés (exemple ci-dessous).
Exemple de code
Descendez jusqu’à la ligne 103 environ. Ici, vous verrez que le code est actuellement configuré pour n’extraire que les sondages avec les codes d’état 1 et 3 – qui représentent les sondages dans votre boîte d’envoi ou ceux qui ont rencontré des erreurs de soumission. Si vous préférez exporter tous les sondages, vous pouvez modifier la ligne 103 comme suit :
Cette modification s’appliquera à tous les sondages de votre téléphone. (Voir l’image ci-dessous du bloc de code mis à jour.)
Exemple de code
Une fois le code mis à jour, cliquez sur « Run » (exécuter) dans le coin supérieur droit.
Après l’exécution du script, accédez au répertoire que vous avez précisé pour les fichiers CSV (exemple ci-dessous). Vous trouverez plusieurs fichiers CSV, organisés par état du sondage. Les fichiers du dossier « Adds » (ajouts) correspondent aux codes d’état 0, 1 et 3, tandis que ceux du dossier « Updates » (mises à jour) correspondent aux codes d’état 2 et 4. (Remarque : les répétitions seront également exportées sous la forme d’un fichier CSV séparé. L’affichage d’un identifiant global parent permet d’identifier les enregistrements auxquels elles se rapportent.)
Récupération de vos données en l’état dans ArcGIS Online
Maintenant que vos données ont été converties, rendez-vous sur ArcGIS Online et à « New Item » (nouvel élément).
Ensuite, faites glisser le fichier CSV contenant les entrées du sondage que vous souhaitez téléverser. Choisissez de l’ajouter en tant que couche d’entité hébergée et utilisez les champs géométriques X et Y pour cartographier les points. Une fois cela fait, enregistrez le fichier sous le nom de votre choix. Vos entrées seront maintenant restaurées avec succès dans ArcGIS Online (voir la démonstration ci-dessous).
Utilisation de fichiers CSV avec ArcGIS Pro pour récupérer l’intégralité des données de sondage
Que faire si vous avez un sondage complexe avec des pièces jointes ou des polygones?
Ne vous inquiétez pas! Il est encore possible de tout récupérer à l’aide d’ArcGIS Pro. Dans les deux sections suivantes, nous verrons comment utiliser les feuilles Excel récupérées pour extraire des points avec des pièces jointes, ainsi que des polygones ou des lignes.
Récupération de points et de pièces jointes
Grâce à ce flux de travaux, vous pouvez facilement récupérer des pièces jointes et des données de points spatiaux à partir des sondages de votre téléphone. Pour que cela fonctionne, vous aurez besoin des éléments suivants :
- Les fichiers CSV convertis que vous avez récupérés à partir du script Python et
- Le dossier contenant les pièces jointes du sondage que vous avez extrait de votre téléphone.
Tout d’abord, vous devez modifier le fichier CSV dans Microsoft Excel :
- Supprimez les lignes vides. Vous pouvez filtrer les lignes vides et les supprimer. (Voici un guide étape par étape sur la façon de procéder.)
- Convertissez l’horodatage Epoch au format date-heure. Utilisez la formule Excel suivante pour convertir la valeur Epoch en une date et une heure lisibles :
- Veillez à ce que les noms de fichiers des photos soient répertoriés dans le champ d’images. Si des images sont jointes aux enregistrements, assurez-vous que les noms de fichiers sont correctement répertoriés dans le champ d’images. Cette étape est cruciale pour joindre les images aux points correspondants de votre nouvelle couche d’entité. (Pour plus d’informations, reportez-vous à la section « Créer un sondage répliqué à partir d’une base de données SQLite dans ArcGIS Pro »).
- Renommez et enregistrez. Enregistrez le classeur sous forme de fichier CSV dans le même dossier que vos pièces jointes.
Téléversez maintenant le fichier CSV dans ArcGIS Online et ajoutez-le à votre projet ArcGIS Pro. Une fois qu’il a été ajouté, cliquez à droite sur le tableau et sélectionnez Create Points From Table (créer des points à partir d’une table) > XY Table To Point (table XY vers points).
Vous pouvez maintenant afficher vos données en choisissant x_geometry dans X Field (champ X) et y_geometry dans Y Field (champ Y).
Exemple d’outil
Pour récupérer vos pièces jointes, utilisez l’outil Enable Attachments (activation des pièces jointes) avec votre nouvelle couche de points.
Exemple d’outil
Ensuite, utilisez l’outil Add Attachments (ajouter des pièces jointes) pour associer les bonnes pièces jointes à vos points. Réglez-y les champs Input Dataset (jeu de données d’entrée) et le champ Match Table (table de correspondance) à la couche de points. Ensuite, réglez le champ Match Path Field à « picture » (photo) et, enfin, le champ Working Folder au répertoire stockant votre fichier CSV et vos pièces jointes.
Exemple d’outil
Les images devraient maintenant être jointes à leurs points correspondants.
Exemple d’entrée
En suivant un processus similaire à celui des sections précédentes, vous pouvez téléverser ces données en tant que couche d’entité vers ArcGIS Online à partir d’ArcGIS Pro. Il suffit de cliquer à droite sur la couche, de sélectionner Sharing (partager), puis de choisir Share As Web Layer (partager en tant que couche web).
Veillez à analyser la couche pour détecter les erreurs ou les avertissements. Si vous recevez l’erreur « Unique numeric IDs are not assigned » (les ID numériques uniques ne sont pas attribués), cliquez simplement sur les trois points en regard de l’erreur et sélectionnez Auto-Assign IDs Sequentially (automatiquement attribuer les ID séquentiellement). Une fois que vous avez vidé la fenêtre d’analyse, vous pouvez publier la couche en toute sécurité.
Récupération de lignes et de polygones
Avec ce flux de travaux, vous pouvez récupérer des données polygonales ou linéaires à partir de sondages sur votre téléphone qui ont été créées à l’aide de questions de types géoforme ou géotrace. Pour suivre ce processus, vous aurez besoin des fichiers CSV que vous avez convertis à l’aide de Python. (Remarque : ce processus peut prendre du temps – si vous n’avez pas besoin de vos polygones, vous pouvez sauter ces étapes.)
Nous commencerons par modifier le champ Shape (forme) afin de préparer les données pour ArcGIS Pro. Dans une cellule vide à côté du dernier champ, utilisez la fonction TEXTSPLIT pour séparer les points par des virgules (exemple de formule : « =TEXTSPLIT(B3,",") »). Après la division, copiez toutes les lignes qui débordent et collez-les dans une nouvelle ligne contenant uniquement les valeurs. Ensuite, copiez à nouveau ces données et collez-les dans une autre cellule en utilisant la fonction Transposer pour les coller verticalement.
Options de collage dans Excel
Ensuite, appliquez de nouveau la fonction TEXTSPLIT, mais cette fois-ci, utilisez un espace au lieu d’une virgule dans un nouveau champ (exemple de formule : « =TEXTSPLIT(B3," ") »). Une fois que vous avez divisé les données, rétablissez-les en les copiant et en les collant une dernière fois dans une nouvelle feuille de calcul contenant uniquement les valeurs. Insérez une nouvelle ligne en haut avec six champs étiquetés Point_X, Point_Y, Start_X, Start_Y, End_X et End_Y.
Vous devriez déjà avoir le Point_X et le Point_Y. Le champ Start_X est peut-être actuellement défini sur la géométrie Z (dont la valeur par défaut est 0). Copiez donc les champs Point_X et Point_Y dans les champs Start_X et Start_Y, respectivement. Pour End_X et End_Y, copiez la série suivante de points dans la liste (de Point_X/Y), jusqu’à la fin.
Copiez ensuite les valeurs Start_X et Start_Y du premier point dans les valeurs End_X et End_Y du dernier point. Vos données devraient maintenant ressembler à ceci :
Exemple de résultat
Enregistrez ce classeur en tant que fichier CSV et importez-le dans ArcGIS Pro. (Remarque : ce processus s’applique pour un polygone. Si vous avez plusieurs polygones, vous devrez répéter les étapes ci-dessus pour chacun d’entre eux.)
Ajoutez le CSV à votre projet ArcGIS Pro et utilisez XY Table to Point (table XY vers points) pour créer une couche de points.
Exemple d’outil
Ensuite, utilisez l’outil XY to Line (XY vers lignes) pour créer l’entité linéaire. Si vous ne travaillez qu’avec des lignes, vous pouvez vous arrêter ici et passer à la fin de cette section.
Exemple d’outil
Utilisez ensuite l’outil Feature To Polygon (entités vers polygone) pour créer le polygone.
Exemple d’outil
Enfin, vous pouvez téléverser l’entité dans ArcGIS Online (comme indiqué dans la section « Récupération de points et de pièces jointes »).
Récupération manuelle des données à l’aide d’un navigateur SQL
Cette étape doit être considérée comme le dernier recours, car c’est celle qui prend le plus de temps. N’essayez cette méthode que si les approches précédentes ne vous conviennent pas.
Pour lancer ce flux de travaux, vous devez télécharger un navigateur de base de données tel que DB Browser for SQLite. Cela vous permettra de modifier librement la base de données SQL et de récupérer activement vos données.
Une fois que vous avez téléchargé le programme de votre choix, chargez le fichier de base de données SQL depuis votre téléphone et exportez-le au format CSV.
Une fois exporté, ouvrez le fichier dans Microsoft Excel à l’aide de l’outil Add Data (ajouter des données). Une fenêtre contextuelle s’ouvre : il suffit de sélectionner « Load » (charger).
Vous remarquerez que les données de chaque enregistrement se trouvent dans la colonne des données.
Ces données peuvent être analysées à l’aide de l’outil de conversion de texte en colonnes de Microsoft Excel ou de l’équation de fractionnement du texte. Après avoir divisé les données, l’étape suivante consiste à les nettoyer manuellement et à les organiser dans un format facile à lire dans ArcGIS Online. Il s’agit de reconstituer les champs et les données.
Si le script Python est exécuté correctement, vos données ressembleront à l’exemple de sondage présenté ci-dessous. Si vous ne vous intéressez qu’à l’emplacement des points, vous pouvez simplement extraire les champs X et Y. (Remarque : n’oubliez pas que ce processus peut être fastidieux et qu’il ne doit être entrepris que si les options précédentes n’ont pas donné de résultats).
Après avoir reconstruit vos données, vous pouvez les reverser dans ArcGIS Online en suivant les étapes décrites dans la section « Récupérer vos données en l’état dans ArcGIS Online ».
Pour conclure
Vous disposez désormais d’un moyen de récupérer vos sondages en cas de corruption ou de suppression. Toutefois, pour éviter de revenir à ce billet de blogue, veillez à toujours activer la protection contre la suppression et de sauvegarder vos données de sondage fréquemment.
J’espère que vous pourrez désormais dormir sur vos deux oreilles en sachant qu’il existe un moyen de récupérer vos éléments de sondage, même après leur suppression!
Autres ressources
GeoSnap: Comment récupérer des enregistrements d’ArcGIS Survey123 à partir d’un téléphone à l’aide de Python?
Article d’aide : Créer un polygone à partir d’un tableau de données XY
Article d’aide : Créer un sondage répliqué à partir d’une base de données SQLite dans ArcGIS Pro
Ce billet a été écrit en anglais par Jordan Tishler et peut être consulté ici.