getodk / javarosa

The core library that many of the ODK tools are built around. It's written in Java, implements the ODK XForms spec, and runs on mobile devices and cloud servers. ✨🏗✨
Other
54 stars 107 forks source link

Area and geofence functions: accept literal string argument and check for valid geoshape #769

Open lognaturel opened 5 months ago

lognaturel commented 5 months ago

Distance now accepts a literal string: https://github.com/getodk/javarosa/pull/761

It's definitely useful to be able to specify a literal shape to geofence: a form could have exactly one simple fence if all data capture is intended to be done in a small area and in that case it could be specified inline.

I can't think of a reason to use a literal shape for area but we might as well support it for consistency.

I think we should also consider verifying that the first and last point are the same and throwing an error otherwise. I think it's generally going to be more helpful to users to get an explicit failure than to get false/unusable results.