Our agency uses the Collector app to record groundwater level measurements in water wells. Everything works great, but would like to add one minor function. Our measurements are referenced from a "measuring point" which is different for each well. In order to get the proper measurement, the measuring point must be subtracted from the measurement so our reference point is at land surface. The attribute data in the collector app contains a field with the "measuring point" for each well. The attribute table also contains a field for "DepthFromMP" (measuring point) and a field for "DepthFromLSD" (land surface datum).
Ultimate goal: staff enters the value in "DepthFromMP"; when data are saved, the value is subtracted from the "measuring point" value and populated in the "DepthFromLSD" field in the collector app.
I know I can calculate the field after data collection, but it is beneficial to have the calculation happen in the collector app so our staff can record the measurement at the well site. Is this possible?
Build a COMMIT trigger on your database to run to do this for you. When the user saves the edits in the app it will trigger the procedure on the database side and populate the field. This only works if you are in a connected mode and even then the user may have to refresh their app after committing in order to see the calculated field updated. In a disconnected mode this can't be done because it would require everything to get syncd back and updated down to the users device.
A workaround is to use Survey123 if you need to do it offline. You could open Survey123 from Collector and in Survey123 you could do calculations.
Did you resolve this issue?
I'm currently setting up a nearly identical Collector application for water level collection. A similar issue has come up with us and I've been exploring the potential of Survey123. Did that work for you?
I believe it will work in Collector. Use the calculate field and this syntax in the calculation column - Formulas—Survey123 for ArcGIS | ArcGIS