ODK Collect is broadly used to conduct mapping exercises. There's a lot of potential for user experience and code quality changes for the existing geo widgets that would make them even more useful.
This isn't a single feature but I think it's important to think through proposed changes together. This will make sure the improvements are coherent and broadly useful. I have started to collect proposed changes in this Google doc and shared the document with a few users already. In particular, @ivangayton and colleagues have already implemented some of these changes in their fork. Commenting is on for everyone and if you'd like edit privileges, please message me with your email address. You can also make comments or suggestions by responding to this thread. Please share which of these changes are priorities for you and highlight any that you disagree with. Of course, please also share any items on your ODK geo wishlist!
Currently, @jamesknight is working on improving test coverage of all the widgets. This will then allow him to refactor the geo widgets to reduce redundancy and make them more consistent with each other.
One major issue that needs discussion is that the values produced by the
geoshape widgets in Collect don't match the ODK XForms specification. Specifically,
geotrace is defined as "Semi-colon-separated list of at least 2 geopoints, where the last geopoint’s latitude and longitude is not equal to the first" and
geoshape is defined as "Semi-colon-separated list of at least 3 geopoints, where the last geopoint’s latitude and longitude is equal to the first". Unfortunately, the
geotrace widget currently produces either a line or a polygon using points based on the device's location. The
geoshape widget produces a polygon using manually-entered points. I think this is an important thing to redress as soon as possible.
Related GitHub issues: