Geo: Setting an accuracy threshold and collection interval in the form definition

#1

(This item is moved here from the ODK Geo roadmap document.)

Currently, the user of ODK Collect can set a GPS accuracy threshold when collecting points for a GeoTrace or GeoShape (e.g. only record points with an accuracy value < 5 m). They can also set a collection interval (e.g. collect a point every 10 seconds).

We're considering letting the form designer configure both of these things in the form definition, for all the geo widgets, so that the enumerator doesn't have to choose them. With such a capability, the form designer could set a consistent accuracy threshold and collection interval for a survey project involving many items of geographic data and many surveyors, and surveyor training could be simplified.

The names of the configuration parameters are yet to be determined.

Most likely, if both parameters are set, then the "Input Method" dialog is skipped and data collection goes straight to "Automatic" mode with the accuracy threshold and collection interval set by the form definition. If only one parameter (accuracy or interval) is set in the form, then we'd presumably provide the user with the opportunity to set the other one.

Your feedback and thoughts on this are welcome!

#2

Is it set once for all geo-widgets? Or set per question?

What column(s) would this be set with in the form definition?

#3

Per question. The names of the attributes aren't chosen yet, but they'd be attributes on the question.

#4

All this seems fine to me.

Just to add a bit more meat to these bones, what about a parameter on geo all the geo widgets called min-accuracy and interval.

Note that we already have an accuracyThreshold attribute and as part of this effort, maybe we could start deprecating that.

#5

interval makes sense; possibly interval-seconds if measured in seconds. (What do other parameter names do with their units?)

min-accuracy is confusing because this isn't a minimum bound on the accuracy value, it's a maximum — but that's because a more accurate reading has a lower accuracy value. max-accuracy would be equally confusing. (This is why I want to rename "accuracy" to "standard deviation" or "standard error", but that's a bit of a diversion here.)

Given that we already have accuracyThreshold, why wouldn't we want to continue to use that as the name of the parameter, and use it across all the geo widgets?

#6

We haven't used units in the parameters in the past because typing interval-seconds is more annoying that just interval. I'd rather not change that, but I'm open to being convinced.

I'm not sure threshold or std dev are that clarifying. I like to think what I'd write in the docs and then pick based on that. Based on that metric, max-accuracy isn't too bad...

max-accuracy - The maximum accuracy allowed in meters. For example, if set to 5.0, only points with accuracy between 0.0 and 5.0 meters will be recorded.