I am creating a survey to collect locations of sensitive data using Survey123 Connect and XLSForms.
We need to share the data with partners, but locations need to be modified so that lats and longs are rounded to 3 decimal degrees.
So far, I have a working model that does almost everything I need: In my Survey123 XLSForm, I specified a repeat that takes its geometry from the geopoint question earlier in the survey - so in the repeat, there is a geopoint question where the calculation is:
concat(round(number(pulldata("@geopoint",${location_specimen},"y")),3)," ",round(number(pulldata("@geopoint",${location_specimen},"x")),3))
I've added other relevant fields to the repeat section, using calculations such as ${specimen_no} and ${status} so that the second layer associated with my data has all the information my partners might need.
Editing records one-by-one in the Survey123 webapp works nicely and updates to the "parent" layer populate the "child" layer, since I have the field bind::esri:parameters set to 'calculationMode=always'.
Users of this survey will occasionally need to batch-edit data in ArcGIS Pro, e.g., setting "status" of 150 records from "active" to "inactive". When they batch-edit data, the data in the child layer from the repeat are not updated.
Is there any way to achieve this? I always want data in the child layer to reflect exactly the data in the parent layer. There would never be a time I don't want the data there to reflect what's in the parent layer.
I created a child layer with ONLY the modified geopoint ("rounded" locations), and then tried to create a joined feature layer view with the parent layer, with only certain fields from the parent layer selected, but the fields still show up in the "Data" tab - I don't want those fields in my view layer at all.
I also tried creating a hosted view layer of the parent feature class, and joining it to the child layer, but the parent view layer doesn't show up when I try to search for a join layer.
Is there any way to force the child layer to always update?
Or - any way to batch edit values in the parent layer, and have them update in the child layer?