Use of Plus codes for GPS capture in ODK Collect

odk-collect
form-design

(Anup Krishna) #1

What is the general goal of the feature?
Enabling ODK Collect in offline GPS capturing to an accuracy of 3X3 mtrs. Using plus codes
https://plus.codes/

What are some example use cases for this feature?
Capturing GPS in remote places
Enhancing speed of GPS capture
Providing a new method of location identification
@yanokwa and @LN can this be done.

What can you contribute to making this feature a reality?
Details about plus codes
Feature Testing
Feature Modifications


(Yaw Anokwa) #2

GPS accuracy is determined by the device hardware. There’s nothing we can do in Collect to increase accuracy.


(Waylon Brunette) #3

@yanokwa is correct that the accuracy is based on the hardware. Factors that influence the accuracy as well are the number of GPS satellites, etc.

However, that is not the end of the story, ODK can help you to require higher accuracy. If you want to require your form to have more accurate GPS coordinates then you can set the accuracyThreshold higher. For example in an XLSform you can do it this way: http://xlsform.org/#gps-accuracy-threshold

WARNING: increasing the accuracy requirements might be beyond the ability of the smart device hardware in the terrain/ground cover you are operating in. You should test the accuracy requirements as if you increase the accuracyThreshold enumerators might have a harder time obtaining GPS coorindates.


(Anup Krishna) #4

@yanokwa, I feel the point I was trying to explain is not.clear.
I am not trying to improve the accuracy of GPS, I Know it's dependent on the device and many other factors, I am trying to suggest an offline/indirect GPS capturing method by using plus codes.(https://plus.codes) as we don't need to depend anymore on location service to know the lat and long of our place if we are familiar to.plus codes

Is there a way we can use plus codes in Google map sdk or open street map sdk in ODK Collect


(Hélène Martin) #5

@mistcrrgpsa If I understand correctly, you would like data collectors to provide location information by filling out plus codes instead of capturing GPS coordinates, is that right? Is there any reason you can't do that today with a text field?

Alternately, could the data collectors use an offline basemap (https://github.com/opendatakit/docs/issues/3) and select coordinates from there?

There was another request for plus codes recently at https://github.com/opendatakit/collect/issues/1850 so there is interest.

If you could say a little bit more about how you imagine this working and why the two approaches I suggested above might not work, it would be very helpful.


(Anup Krishna) #6

Hi Helen,

My Intention behind the suggestion was to have an accurate offline GPS
capturing mechanism, but i have my own doubts in the possibilities of
getting the exact coordinates at the ground level using Plus Codes /
Offline base maps, as for both the above ways, the accuracy of the location
depends on the ability of the user in accurately identifying the Placemark
in the offline map. Hence i feel further explorations in terms of ideology
and future data capture perspectives need to be envisaged before planning
for the same.

Is there a provision to have an offline satellite map SDK for ODK Collect
to capture GPS Cordinates?

Thanks & Regards,Anup Krishna P,Specialist MIS,State Program Management
Unit(SPMU),Rasthriya Gram Swaraj Abhiyan (RGSA),Local Self Government
Department,Govt. of KeralaPh: 94960 46910


(Hélène Martin) #7

Yes, you can use an offline base with the steps described here: https://github.com/opendatakit/docs/issues/3

GPS doesn't need data connectivity to work so you can capture coordinates even when you are offline. What you can't do is capture GPS location when the sky is obstructed (indoors, in thick forest, etc).

It seems to me that plus codes are useful as an alternative to addresses in a location where not all structures have existing identifiers.


#8

I actually dropped by to post about Plus Codes. I think they may end up being useful, but not 100% sure yet. We currently identify buildings like churches, health clinics, etc via satellite in more inaccessible areas to collect data on and I think having a global address that's a little bit more sensible than lat,lng for places that have no addresses would be great. My larger concern with Plus Codes are, will they actually be helpful. :laughing:

I just wanted to hear some feedback from others in this community on the whole Plus Codes implementation and if it should be implemented into the larger system.


(Nikhil VJ) #9

Hi, I wanted to clarify for readers that plus codes (previously named open location code, published by google) are not dependent on an external API. It is an open source calculation library available in multiple coding languages and can be integrated as a library into another application like ODK Collect. I have also come across another such computation, geohash that looks just as good and is open source too.

IMHO Instead of a geo-point, pluscodes / geohash can be used to capture geo-area as a predefined square on the map. User can choose smaller or bigger squares, choose neighboring ones, but cannot move the square around.

How I foresee it being implemented: check out this geohash implemented map: http://geohash.gofreerange.com/


(Hélène Martin) #10

Thanks for that extra information, @Nikhil_VJ!

Can you describe the use case for this in more detail? I can see the value of selecting features like buildings or roads but I'm less clear on the value of selecting a predefined bounding box. Are there systems that you might want to cross-reference that are indexed by plus code?

If really the desired output is a plus code, it seems to me that the enumerator could still select a specific point and the conversion to plus code could be done on the backend.


(Nikhil VJ) #11

Sample use case: "It was somewhere here, within this 200 metre wide area".

Some advantages:

  1. The user doesn't have to take extra efforts to draw the bounding box each time just to show the area.
  2. Set the grid size (aka the degree of precision, corresponding to number of letters in the code), tap a box on the grid (which we can hopefully overlay on the map) and carry on.
  3. Makes room for approximations and ends the eternal "but you said it would be exactly here!" quagmire.
  4. Makes room for ground movements like earthquakes, subsiding bedrock, tectonic shifts.
  5. Simplifies finding repeat-records or clustering of data. Just search the column for duplicates (or where first 4 chars match, for example), no gis expert needed.
  6. Suitable for low-resolution cases where anyways one needed approximate and not precise location to be recorded. Lookup 'pixellating' of images. So we pixellate the map and choose a pixel.

(Nikhil VJ) #12

Update: Plus codes has released grid overlay in a tile layers url that can show the plus code on the map.

https://grid.plus.codes