0

I'm creating a road sign inspection survey, and I'd like the field crew to be able to select the sign they want to inspect from the map (or a drop down) then fill out the survey based on their selection.

I see that it's possible to create a survey from an already existing service feature, but I can't get the points to actually show up.

Is Survey123 capable of doing this?

  • does your survey have a geopoint? (step12 > doc.arcgis.com/en/survey123/browser/create-surveys/…) – Mapperz May 6 at 19:20
  • 1
    If you were to create the survey from the existing 'Sign' feature service, then you would be updating the sign features when you submit a survey. In this way you could only ever store one inspection for each sign. This may be OK for you, but if you want to store multiple inspections over time, then your survey needs to use a separate 'Inspection' feature service, not the 'Sign' feature service. If this is the case, see my answer for how we make this work. – Son of a Beach May 7 at 4:56
  • 1
    How do you expect the "points to actually show up"? If you are genuinely wanting to use the same feature service for your 'Signs' and 'Inspections' (and are OK to store only one inspection per sign), then you can use Survey123 Connect's 'Settings' panel to enable and configure it's INBOX. If configured correctly, then all/relevant Signs will appear in the survey's INBOX (not as points, but as surveys). – Son of a Beach May 7 at 4:59
1

In your follow-up, you mentioned the 1000 record limit of the feature service. This is standard for ArcGIS feature services (in order to avoid them running too slow). However, you can override this setting if you have access to the ArcGIS Server or ArcGIS Online configuration for that feature service.

For ArcGIS Online, see ESRI's documentation on this exact issue at: https://support.esri.com/en/technical-article/000012383

Or, for ArcGIS Server use the ArcGIS Server Manager (ArcGIS Server website) and navigate to:

  • Your feature service name
  • Parameters
  • Find the field Maximum Number of Records Returned by Server:
  • Enter a number that covers your needs without being too excessive
  • Save and Restart button
  • Thanks! That's a great tip! I had no idea I could change the max count! – Katie B. May 9 at 16:28
1

Do you also use Collector? Are you using the Survey123 app (not just filling in surveys on the web)? If so...

The following solution uses an existing service layer to get some data about existing features from points on a map and passes this data to a survey form. The survey actually submits data to a second feature service layer. So you have one layer for your 'Sign' features and a second layer (or table if preferred) for your 'Inspection' features. But you can guarantee a good relationship between the two by passing your Sign ID values to the survey, and having this survey field configured to read-only.

For this situation I use a combination of Survey123 and Collector. In Collector you have a map which includes the 'Sign' feature service. In this map, modify the pop-up for the 'Sign' layer to use a custom attribute display.

In the Sign layer's custom attribute display switch to the HTML editor using the 'View HTML Source' icon (bottom left of editor toolbar - looks like a page with "<>" over it). DON'T USE THE STANDARD EDITOR, AS IT WILL MUCK UP YOUR HTML AND THE LINK WON'T WORK.

In your HTML editor, include something like the following HTML:

<a href="arcgis-survey123://?itemID=d2rf1a2a703247199603ce33216026b1&amp;field:SignID={SignID}&amp;field:LastInspectionDate={LastInspectDate}" target="_blank">NEW Inspection Survey for '{SignID}'</a>

That long hex string after ?itemID= must be changed to the unique identifier of your own inspection survey (your can find this if you click on your survey at survey123.arcgis.com and look at the resulting URL).

You can then include any number of fields that you would like to pass to the survey from your Sign feature class. In particular, you should use a sign ID of some kind so that the inspection survey can easily be related to the sign later. Each of these fields is separated by &amp; (encoded "&") and must be of the form:

field:<SurveyFieldName>={<MapLayerAttributeName>}

Once this is all done, the workflow would be like this:

  • Tap on a sign feature in the map in Collector to display the pop-up for that sign
  • Tap on the pop-up link: NEW Inspection Survey for 'ABC123'
  • Survey123 will automatically open and the Inspection survey will automatically start a new survey WITH THE PASSED IN FIELD VALUES ALREADY FILLED IN FOR YOU (Eg, SignID, LastInspectionDate)

NB: This requires you to know what the field names are in the Survey, not just the field labels. If you are creating surveys in Survey123 Connect then this is straightforward. If you are creating surveys on the web at survey123.arcgis.com, this is not as simple to figure out - you'd have to look at the details of the feature service created for the survey.

We use this pattern for a variety of surveys where I work including: Meter reads, water quality monitoring, customer site audits.

  • This is a great work flow! I'll have to keep this in mind for other projects. Unfortunately it wouldn't work for this particular client because their users doing the surveys don't have access to collector because of their user type. Maybe in the future they'll add more user types so we can go your route with the surveys! – Katie B. May 8 at 14:59
0

I figured out what my problem was. It turns out you can only have a maximum of 1000 data points when creating a survey from a feature service. (Of course I found this out after hunting through pages of forums and geonet). I have 1300+ data points. My work around is to simply query the inbox to only show a certain number of data points at a time. I wanted to avoid querying, but for now, this will get the job done.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.