Record a geoline in the background

What is the general goal of the feature?
I'd like to be able to kick off a 'trace' at the beginning of a form or group and for it to collect location points automatically in the background while being able to complete the rest of the form. This would then be saved in a field (in a format that can be converted to a 'track' - maybe just lat/long pairs).

If its possible to set the time interval that would be a good way of reducing battery load (i.e. turn gps on and off between points if necessary / desired)

Might be a variant of the auto_gps idea: Auto-gps implementation on ODK Collect from @Raghu_Mittal

Alternatively being able to pull in a list of coordinates from another app (e.g. GPSlogger has a really simple and efficient function) would work...

These are probably two very different things!

What are some example use cases for this feature?
Any data collection that relates to a line or area, but can be done without intervention / interruption of collecting the other data.

What can you contribute to making this feature a reality?
Happy to discuss ways of implementing and testing - no real programming skills

Many thanks.

Hi all,
Was this ever resolved. i would like to be able to achieve the same with ODK collect

Hi @seewhy and @Beryl_Makori1,

You can capture a geotrace through the audit log: https://docs.getodk.org/form-audit-log/#audit-geolocation-tracking

This is available both in XLSForm and in ODK Build (under Form Properties).

Does this feature fit your needs?

Thanks for this suggestion @Florian_May. I might have misunderstood this feature when it was released, but I thought that the audit logging was based on specific events, rather than creating a geotrace (i.e. points recorded at regular time or distance intervals). Going back through the docs, I think that's still the case, but if there is a full geotrace tracking audit, then that would be a great find!

My situation(s) require locations along the route that the enumerator travelled rather than the location that specific form-based actions were performed - often many of the questions are answered at the end of a 'section' so I'd have points grouped in one spot, with big gaps (It might be anything from 100 - 1000m from the start point. This is part of the reason that I hadn't tried implementing the audit log approach.

Hopefully the ever helpful @LN can advise (sorry to drag you into this :slight_smile: )

The way that I (still) work with this is to run a GPS track in another app, then export the track to my device storage, and I have a question in my form for uploading a file. This works but is a bit clunky and I have found some enumerators struggle with switching between apps and finding where files are exported by another app.

So I'd still be pleased to see this feature developed. What with a little bit of knowledge being clearly dangerous in my hands, I was rethinking how it might work... if there was a specific trigger in the audit log (e.g. time based 'event') to fetch location, then append that to the 'new-value' field of the audit... which could result in a series of points that could be extracted / converted to a geotrace format. This would build on existing functionality (including handling the privacy issue of tracking enumerators) rather than some other background process to populate a geotrace question field...

Just a suggestion, but possibly a 'bloat' of the audit log?

@seewhy you are right about the audit location capture.
I just build a new form with all audit features enabled to include in ruODK and am looking at the various audit logs.
Audit location is indeed recorded only whenever an enumerator interacts with the form, not in fixed intervals as I believed. (I will have to adjust the help text in ODK Build about that.)

As for your request to track the enumerators' path travelled while filling the form, I can see no quick and easy way apart from recording a geotrace in the foreground while walking.

I feel this "background geotrace" is something similar to background audio - an audio widget that just keeps recording until stopped, even if other questions are filled, or Collect loses focus, or the screen is locked.

My very similar use case is that enumerators walk a precise path (in my inevitably turtle-flavoured case, the high water mark along a turtle nesting beach), record a tally of things (turtle tracks of different species) on paper, then transcribe the tally after completing a beach segment.

What I hear from your use case, and also could use myself, is the following:

  • A button "record background geotrace" that starts a background geotrace immediately.
  • New field parameters to define geotrace parameters (interval, accuracy) supported by both XForms and XLSForm standards, and ODK Build.
  • A control bar similar to the background-capable audio widget shown on top of the form.
  • Related to my use case, I could swap the paper for a grid of click counters to tally, discussed here. (The combination of click counters and location audit would in my case actually construct a representative geotrace.)

OR

  • A form property, similar to audit, to define a geotrace being captured over the entire duration of the form.

Would any of the above suit your needs, @seewhy?

1 Like

Hi @seewhy and @Florian_May. As a bonus I think enumerators would find very useful to see the geotrace on the map when they use a geowidget.

1 Like

Oh that's a great idea! Also on the submission map (that map icon next to the form name).

1 Like