Skip to main content

Créer un point dans un polygone à partir d’une adresse dans ArcGIS Survey123

Imaginez que vous ayez besoin de rechercher le code de la ville, la zone, la région ou toute autre aire nommée d’un lieu, mais que vous ne souhaitez pas localiser manuellement sur une carte. En tapant simplement une adresse, vous pouvez désormais retrouver instantanément ces informations par le biais d’une requête! Dans ce billet de blogue, nous présenterons une solution transparente dans laquelle une adresse saisie déclenche une requête de point dans un polygone, récupérant les informations sur la zone directement à partir d’une couche d’entités définie. Dites adieu aux cartes! Cette recherche simplifiée et automatisée facilite l’accès aux données et améliore votre flux de travaux dans ArcGIS Survey123.

Dans ce billet de blogue, nous utiliserons des exemples de données provenant de parcs pour chiens sans laisse (portail de données ouvertes de la Ville de Vancouver). En saisissant simplement une adresse, vous verrez que notre requête renvoie le nom du parc associé à ce lieu. Cette configuration peut être mise en œuvre à l’aide soit de Survey123 Web Designer ou de Survey123 Connect.

Dans ArcGIS Survey123 Web Designer

  1. Ajoutez une question sur l’adresse à votre sondage (nom de la question : Adresse).

2. Ajoutez une question textuelle à ligne unique à votre sondage (nom de la question : parcs pour chiens sans laisse).

3. Sélectionnez la question de texte à ligne unique; sous l’onglet Edit (édition), cliquez sur le bouton d’édition situé à côté de Calculation (calcul).

Un champ de texte intitulé « Calculation » (calcul) avec l’espace réservé « Use an expression to calculate the answer » «(utiliser une expression pour calculer la réponse) et un lien « Edit » (modifier) en haut à droite.
Mise en place d’un champ de calcul dans le formulaire Survey123

4. Sélectionnez Layer (couche) pour la source et choisissez la couche d’entité polygonale que vous souhaitez utiliser. Sélectionnez le champ de sortie souhaité, puis cliquez sur OK pour enregistrer.


Interface pour l’extraction de données, avec des options permettant de sélectionner la source comme « Couche », « Question » ou « Sondage ». Une couche nommée « dog_off_leash_parks » est sélectionnée, et le champ de sortie est défini sur « name » (nom).

Configuration de l’extraction de données à partir d’une couche spécifique pour récupérer le champ de sortie souhaité

5. Activez Set filter (régler le filtre) et connectez-le à votre question Address_geopoint.

Paramètres du filtre avec une option activée pour « Extract data by location » (extraire les données par emplacement). Le menu déroulant est réglé à « Address_geopoint ».

Application d’un filtre fondé sur la localisation pour extraire des données à l’aide d’attributs particuliers

6. Enregistrez vos modifications et publiez le sondage.

Un formulaire web interactif Survey123 intitulé « Calculs de points dans un polygone » avec des champs pour « Adresse » et « Parcs pour chiens sans laisse » permettant aux utilisateurs d’entrer une adresse et de voir les résultats correspondants pour « Parcs pour chiens sans laisse ».

La vidéo montre le résultat dans Survey123 Web

Dans ArcGIS Survey123 Connect

  1. Commencez par créer un nouveau sondage vierge dans Survey123 Connect et ouvrez le formulaire XLSForm.

2. Dans la première ligne, définissez le type de question comme étant du texte pour la saisie de l’adresse. Dans la colonne « apparence », sélectionnez « géocode ».

Capture d’écran d’une feuille de calcul avec les en-têtes « type », « nom », « étiquette », « guidance_hint » et « apparence » La première ligne comprend « texte » comme type, « adresse » comme nom et « Entrez l’adresse » comme étiquette.

Question pour la saisie de l’adresse

3. Dans la deuxième ligne, ajoutez une question de géopoint. Définissez l’apparence comme étant cachée afin que ce champ n’apparaisse pas dans le sondage.
Capture d’écran d’une feuille de calcul avec les en-têtes « type », « nom », « étiquette », « guidance_hint » et « apparence ». La deuxième ligne indique « geopoint » comme type, « address_geopoint » comme nom et « Address_geopoint » comme étiquette. Les cellules de la colonne « apparence » sont marquées « cachées »
Configuration de la question de géopoint</small

Sous la colonne 
Calculation (calcul) pour cette ligne, utilisez la formule suivante pour extraire les coordonnées :

concat(number(pulldata("@json",${TextName},"location.y"))," ",number(pulldata("@json",${TextName },"location.x")))

Remplacez ${TextName} par le nom de votre champ de texte. Par exemple,

concat(number(pulldata("@json",${address},"location.y"))," ",number(pulldata("@json",${address},"location.x")))

Pour de plus amples renseignements sur la fonction pulldata("@geopoint"), veuillez cliquer ici.

4. Dans la troisième ligne, ajoutez une question texte pour afficher le résultat.
Capture d’écran d’une feuille de calcul avec les en-têtes « type », « nom », « étiquette », « guidance_hint » et « apparence » La troisième ligne indique « text » comme type, « dog_off_leash_parks » comme nom et « Dog Off Leash Parks » comme étiquette.

Question pour la génération d’un résultat d’adresse

Utilisez la fonction pulldata suivante dans la colonne de calcul de cette ligne pour extraire des données d’une couche d’entités en fonction de l’emplacement :

pulldata("@layer", "getValueAt", "attributes.FIELD", "FEATURESERVICE", ${GEOPOINTNAME}, "")

Remplacez « attributes.FIELD » par le champ que vous souhaitez récupérer et « FEATURESERVICE_URL » par l’URL de votre service d’entités. Remplacez également ${GEOPOINT_NAME} par le nom de votre champ de géopoints caché. Par exemple :

pulldata("@layer", "getValueAt", "attributes.name", "https://services.arcgis.com/EgePHk52tsFjmhbJ/arcgis/rest/services/dog_off_leash_parks/FeatureServer/0", ${address_geopoint}, "")

Pour plus de plus amples renseignements sur la fonction pulldata(« @layer »), veuillez cliquer ici.
Une feuille de calcul mettant en évidence la colonne « calcul », qui contient des formules. Une ligne comporte une formule permettant de calculer les données des géopoints en saisissant la latitude et la longitude, tandis qu’une autre comprend une fonction d’extraction de données (pulldata) permettant de récupérer le résultat de la localisation.

Fonctionnement de la fonction « pull-data » (extraction de données) dans le formulaire XLS de Survey123 Connect

5. Enregistrez vos modifications et publiez le sondage. 
Survey123 Connect avec des champs pour « Entrer l’adresse » et « Parcs pour chiens sans laisse » permettant aux utilisateurs d’entrer une adresse et de voir les résultats correspondants pour « Parcs pour chiens sans laisse »

La vidéo montre le résultat dans Survey123 Connect

Nous remercions tout particulièrement Cocoa Ding, conseillère de soutien des services d’assistance technique ArcGIS, qui a participé à la rédaction de ce billet de blogue.

Ce billet a été écrit en anglais par Yalan Yang et peut être consulté ici.