Restrict the coordinates of a location

1. What is the problem? Be very detailed.
Hello Community. i am trying to make an attendance form using ODK xlsform. i have designed the form capturing the date and time. but on top of that I need a little bit more functionality which is limiting the geo points/ coordinates.
I want , if my employees are punching the attendance from a different location ( obviously from a different coordinate which is not specified in system ) attendance should not be punched. if internet is needed for this functionality that's not a problem too as on all locations where attendance will be punched will have internet connection.

2. What app or server are you using and on what device and operating system? Include version numbers.
ODK aggregate i am using and server is Ona.io

3. What you have you tried to fix the problem?
I have tried many things but nothing is working for me.
timestampbutton.xls (25 KB)
4. What steps can we take to reproduce the problem?

5. Anything else we should know or have? If you have a test form or screenshots or logs, attach them below.

Questions about Ona should go to https://help.ona.io. Please note that Aggregate is no longer being updated. We recommend you check out Central as it is now the ODK server.

You might find this post relevant to your question:

Thanks, @danbjoseph this serves the purpose mostly. I need a little bit more functionality + understanding of the creation of the sheet.
geofence_v1.xls (29 KB)

  1. I will be going to implement this attendance onto 34 different offices, please tell me should first need to store the geopoints polygon on my XLSForm or use any other criteria for it? in both scenarios please help me with how would I did this.
  2. I need all this functionally to run behind the form and the user/Employees' just able to view the attendance check-in/out button.

how I will manage these two things in it. please help me out in this regard.

I must appreciate this community, as whenever I got stuck in work there are a bunch of people who are there for help. hats off

if my employees are punching the attendance from a different location ( obviously from a different coordinate which is not specified in system ) attendance should not be punched

I would probably suggest something along the lines of having all your legitimate locations labelled and select question to pick which (if your form doesnt already have this...). Then, for each location, having a dataset with the GPS lat+longitude of each location. Once they select their location you can have a geopoint question to determine the user's actual location, and use a distance() calculation constraint to check that their location it within a reasonable distance of where they are supposed to be; ie compare the required location vs their actual location and check it is, say, <100m distance.

Although I appreciate @danbjoseph's shoutout of my Totally-Awesome™ geofence XForm, using an arbitrary geofence is probably overkill for your needs; a simple (circular) distance check should suffice... :wink:

2 Likes