I'm having an issue with the Pull data function for calculating Geopoints. i have a pull data table with the list of coordinates for each station to minimize the GPS inaccuracy in the plant area. but i the calculation sometimes get overwritten by device GPS data. i found out that my excel data dump from Survey123 have an extra X and Y field at the end with Coordinates coming from the device location(and sometimes from the calculate function).
i don't understand what trigger the form to use the device location rather than the value in calculation field !?
below screen shots show how i collect the data in XLS form and the second screen shot shows the result of the data collection in data export from Survey123. the Locationcalculationfiled (R) clearly shows that pull data function works fine and but then i have x and y field at the end of the data export which are not always a match and sometimes use device gps location. the feature point layer in AGOL is also uses that X.Y coordinate and hence create a wrong feature point dataset.
i have the collected data then viewed in ArcGIS Operation Dashboard where i released the feature layer uses the X,Y field at the end of the data from Survey123 to create the point data.
Happy to attached XLS from if required.
Could you please share/attach your xlsx file so we can take a closer look? Also, what version of Survey123 field app are you using and on what device make/model and OS version do you see this issue?
You are correct in your above statements, if a geopoint question has a default or calculation, the GPS sensor data should no overwrite the default or calculation when the form is loaded. In that case only selecting the GPS button should cause the GPS sensor to be used.
We did some work to improve this in 3.9 and further work in 3.10 which will be released soon, you can test out the latest 3.10 RC builds on EAC.
Hi Phil,Philip Wilson
Thanks for your reply.
i'm using version 3.9.149 on Android Samsung phone. i found a workaround for now which is to turn of the GPS on the device.
attached (to the first post )is the form and also csv with location data also a excel sheet with showing the data collected by the application with the X and Y field at the end. you should be able to see that the data in the x and y field in most cases dosnt match the lat and long field which comes from csv form.
Please let me know if you need anythig else
Thanks for the additional information. I spent some time today looking at your form and the issue you reported. I think I understand the problem, and you can resolve it with better form configuration.
By design and default behaviour of the field app, if a geopoint question has a default or calculation set, the result of the default or calculation will always be used, and will not be over-written by the location sensor data. The user can choose to over-write the calculation with location sensor data, if they select the GPS button on the geopoint question. If you make the geopoint read-only, then this is not possible. There was a previous bug that used to exist around the calculation and geopoint behaviour with GPS data, but that was fixed back in the 3.6 release.
So looking at your form, there appears to be a state where the calculation on the geopoint is null and is not valid. If the user has entered and area, but not entered a Station No, the name field will show "TR1_NaN" for example. I made the hidden/calculate fields into text fields for testing, so I could display the results. The lat long for "TR1_NaN" does not exist in the csv file of course. Therefore the geopoint now has a location of 0 0 applied which we treat as null and do not apply. See below screenshots. In this case the user may see that the map is not loaded, and select to open map or select the GPS button, and therefore their location sensor data will be used. The only way to return to the calculated value after that is to select the re-calculation button.
In cases I tested where I had a valid name based on area and station number (second screenshot) being entered correctly, I saw that the location map was always set correctly based on the lat and long from csv file.
To improve your form to ensure the first case does not happen, you should set station number to have validation or a lookup choice list to ensure it is a number that is in the csv file, currently you can type any number such as 99999 which also doesn't work.
Secondly you could make the geopoint question, and even some of the other questions in the repeat relevant based on the area and name having a value. What you want to achieve is that for the calculation to run on the geopoint, all the fields that need a value should be populated first. If the name field and/or geopoint question is only relevant once area and station no is valid, the calculation will always be correct.
Thirdly, if you do not want the user to edit the geopoint question after it is set by calculation, make it read only.
Hope this helps.
Thanks for your time spent on my question and your detailed reply.
i have made the station number as a compulsory filed and i know that the user have always entered the station number before moving to the next question. this would avoid a creation of an Area with NaN which then would have resulted in 0,0 coordinates.
since i have posted the question i came up with a work around of "turning of the GPS on mobile phone" and it solved the issue - so i still think those value have been somehow added to the geopoint using the gps receiver and calculation field did not overwrite the geopoint location information from gps device.
i was more worried for those stations that return with the gps location than the one that has 0,0 and they are harder to detect.
saying that i have will go ahead and put station check and make my geopoint read only then will switch back the gps and see what the result will be.
i'm sure you will hear more from me (Chevron Australia)as we are using Survey123 and Dashboard a lot more these days.
i can either ask questions here or maybe somehow direct a service call to you via service support channel.