Select to view content in your preferred language

Survey123 Connect Question

429
2
12-07-2023 02:29 AM
parahvars
New Contributor

 I’m new to using Survey123 Connect to build public-facing surveys — looking to understand if there’s functionality where I can add a question that asks the survey taker to “select a point” from a layer on a map and provide an answer that references that point. The map would have pre-existing point data from a hosted layer that I created, the respondent would select one of those points, and provide information about the condition for example. Is this possible? Thank you for your help! https://vlc.onl/ 

0 Kudos
2 Replies
jcarlson
MVP Esteemed Contributor

It's possible, but not quite how you are describing.

Survey123 Connect does let you use custom maps with other layers in it as the survey map. You can't "select" a point from the map, but you could drop the survey point nearby and use pulldata("@layer") function to access attributes of the nearest point in that layer.

https://community.esri.com/t5/arcgis-survey123-blog/survey123-tricks-of-the-trade-pulldata-quot-laye...

It's easier between points and polygons, but the function supports adding nearly all query parameters to your request, so you could probably do something clever to make it work with two point layers.

Alternative approach: have your users start in a map, not in Survey123. Encode the survey URL with prepopulated attributes in the popup for the points layer. Users click on a point in the map to "select" it, and see a link to "fill out survey". Your form wouldn't need any fancy logic that way.

- Josh Carlson
Kendall County GIS
0 Kudos
abureaux
MVP Frequent Contributor

I would also suggest starting from an external map. You have two options for external maps:

  • Use a separate external map and URL parameters to pass along the data to your survey (honestly easier than it sounds). This is a 2-step approach.
  • Use a map with your survey embedded into it (also very easy). There is no need to pass URL parameters. This is a 1-step approach, and may be better for your purposes.
0 Kudos