Avoid collecting existing item in Survey123

2405
15
05-17-2018 07:43 AM
AlfonsoDodero
New Contributor III

Hi,

I am planning a survey of a series of points from an existing hosted feature service. I correctly connected the tables via Survey123 Connect and everything would be ready to go. Now, however, I would have a question: in  addition to have enabled the download of existing data in the inbox to make them visible to the user, is there a more effective way to avoid collecting of the same point? I’m wondering to try some kind of integration with Workforce for ArcGIS or to find some way to prevent the insertion of new points between a specific distance from the existing ones. Can someone give me a suggestion? Thank you!

0 Kudos
15 Replies
DougBrowning
MVP Esteemed Contributor

In my project I created a Collector map with all my points to visit.  This FC has a Status field that is basically To Do, Completed, Issue.  All start as To Do and Green symbols on the map. 

I launch 9 different Survey123 forms from the Collector map popup.  This pushes any needed data, like Plot ID, site type etc, to the form.  I have several relationship classes that link the forms and points together on the ID I pass to Survey123.

Then when the user is done with the form they edit the point in Collector and change to Completed - which changes the color to Red.  This way we have a nice little web map status map via browser (or Collector) of what is done and not done.  This was a last minute add but a huge hit for the users.

Plus with the points in Collector you have full navigation to the point, can log tracks to get there, check distances, have background info like custom roads, the list goes on.  For your project a user could easily see on the map if the new point was too close.  Also you could add a buffer polygon around the points that shows the user the distance they need to be out.  You can also see all the survey123 data right in the Collector map via the relationship classes.

It seems like a lot of people are focusing on the forms and using inbox but forgetting about all the spatial aspects to their projects.  I look at it as - all data you have before you leave for the field should be in Collector, new data goes in Survey123.

I have a whole workflow posted on how I connected all this together using Relationship classes if you are interested.

Hope that helps.

BradMead
New Contributor III

Hi Doug, I would be interested in seeing the work flow you mentioned for using relationship classes in Survey123.

We are trying to link polygons we collect in Collector with a single form filled out in Survey123, but haven't figured out a good system as of yet.

DougBrowning
MVP Esteemed Contributor
0 Kudos
AdamBourque
New Contributor III

Thanks Doug, I figured out the attribute pop-up; however, still stumped on how to get the points/icons to change color based on if the survey has been completed or not. Here are my questions, I will try to be brief and to the point.

1.) I know Survey123 can autogenerate existing attribute infromation into the survey form itself, can this work backwards? As in have a question at the end of the survey stating "Hydrant Flushed/Not Flushed" that automatically inputs into a field in the geodatabase table? Or do you have to do that manually in Collector? 

2.) My understanding is you're simply using a field that says if the action has been performed or not and symbolizing (Categorizing) the data based on this field. 

Thanks so much. 

0 Kudos
DougBrowning
MVP Esteemed Contributor

Do you want the symbol to change on the related "master" feature class or the form feature class itself?

0 Kudos
AdamBourque
New Contributor III

I was thinking the master feature class. 

Do you have a recommendation to do the form feature class itself? 

I have created a survey independently then attached an URL in the pop-up to the survey while auto-generating the ASSET ID I have created. I simply want a green halo or something to go around the hydrant to mark it has been flushed. I am wanting the easiest workflow for the water operator's, which I thought if possible would be to have a "Yes/No" question in the form that says hydrant has successfully been flushed with that somehow linking to the master feature class. I want all the other data to stay within the survey form itself. 

If it is much easier to do it for the form feature class itself, and have a separate web-map with just hydrants I will do that. Do you have to create the Survey123 form from an existing feature layer (that I would create beforehand -- a hydrant flushing feature layer)? 

Thanks Doug. 

0 Kudos
DougBrowning
MVP Esteemed Contributor

So assuming you did the relationship part there are 2 ways.  (You should have already made a new Hosted service that has the master and the form with a relationship class between them, then repoint the form).

Super easy way is just to map the forms with a symbol based on the Yes/No.  Like a big checkmark vs say an X.

If the relationship is 1:1 then you can often just use the relationships attributes that are built into the pop up.  Just scroll to the bottom and you will see things like {relationships\0\objectid}.  If it is 1:M then you can only get a count of the forms found.  But this may be enough for you.  (I also wonder if a 1:1 would even let you make 2)

If you want only the ones that are marked as Yes in the form you can use Arcade.

BUT I just remembered you can not change the symbol and use a related lookup yet.  I think cause it is too slow.  You can have it in the attribute table or in the popup however.  So you could have the master popup say in large Red type or something "Already Flushed".  Sorry forgot about the feature set not working there yet.

The arcade just uses the key to go look it up.

Here I have a popup with Red text.  Then if an error is found I see text in Red otherwise it is just blank and see nothing.

if ($feature.EvalStatus == "Eval") {
var sql = "PlotKey = '" + $feature.PlotKey + "'";
var tbl = Filter(FeatureSetByName($map,"Plot Char"), sql);

var tblCnt = count(tbl)
if (tblCnt < 1) {
    return "\n----No Plot Char form found!"
}
else if (tblCnt > 1) {
    return "\n----More than 1 Plot Char form found!"
}
else {
    return ''
}
}
else {
    return ''
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Inline image

Hope that helps.  See my other post below with links to more.

AdamBourque
New Contributor III

Hey Doug, 

So I got everything working from survey123 integration to webmap. However, all I want to do is edit the existing attribute information with new attribute information of the Fire Hydrants. Instead, Survey123 creates a new point using the same ASSET ID I have autopopulating from the pop-up configuration. Is there a way to avoid this? 

Thanks. 

0 Kudos
JamesTedrick
Esri Esteemed Contributor
0 Kudos