One of the main long-term goals of the effort to improve geospatial functionality in ODK Collect is to support today's use cases for OMK (OpenMapKit) within ODK Collect and offer a smoother flow for users as well as a simpler setup procedure.
As I understand it, the use cases for OMK are about displaying an existing set of map features and letting the user select a feature to collect data about that feature using an ODK form. For example, one might want to label all the buildings in a given geometry collection as made of "brick", "stone", "wood", or "straw", where this label is selected from an ordinary ODK Collect question.
We're taking the first steps in that direction by supporting offline vector map layers in the geospatial widgets, which lets the user see a geometry collection while collecting data. The next step will be allowing the user to interact with that collection and make selections.
There are some open design questions here about exactly how the UX flow will work and how it will look. To inform our design, we'd like to work through some real-life use cases in detail, and make sure that the new design can support them well.
So, we'd like your help:
Does "launching a form associated with a selected map feature" cover the space of use cases, or are there other use cases beyond this description?
Could you provide us the details of previous OMK collection projects you've done? We'd like to know everything one would need to repeat your project, so we can do the exercise of determining whether our designs would be sufficient to successfully repeat the project. Ideally, that includes a description of the project and its goals, the map data you used and its format, the ODK forms you constructed and used, the resulting data you ended up with, and how that resulting data was used or meant to be used.
Very much appreciated!
Some folks I know to be experienced OMK implementors: @paul.uithol, @smit1678, @Iddy_Chazua, @ivangayton. Would love to have your input!
Thank you, @danbjoseph! We'd love to learn more details about the technical setup of these projects whenever you have time to share them. We're in the process of designing this, so now's the time for input. Thanks!
Before I begin please note that I've not actually deployed OMK in the field, though I do have experience with ODK Collect.
The use case I'd like to add is the ability to search for and select OSM features in a form, in order to relate those OSM features to the form data being collected.
Out here in eSwatini we are performing a country-wide survey on river crossings with the intention of building footbridges where they are needed. The process of which goes like this:
- Using satellite imagery for the target area, add waterways and nodes with ford=yes to locations where there exists a river crossing but no bridge
- Design a survey route to visit each of these crossings and perform site assessments
- At each site, we interview community leaders and record the data using ODK Collect
During these assessments, we record heaps of survey information related to each ford, including the destinations that people are going to when they cross at that location. In the past, we've recorded the names of the destinations but that isn't so helpful as relating it to a geospatial feature.
It would be massively helpful to be able to select OSM features (searching by name or selecting on a map) which are related to the particular waterway crossing. So, we aren't collecting data about these destinations but are instead relating the crossing to various other OSM features, such as a school, hospital, or town.
This use case isn't only useful for our scenario I believe, as I could see it being used for recording which communities are served by a particular water point, etc.
Do forgive me if this ability already exists in OMK, as I say I haven't yet deployed it myself and I'm running off the information I've found online. Also I'm happy to provide more details if that helps.
ODK Collect now has a select from map question type that enables much of what @zestyping and @danbjoseph described. More at Ability to load locations into the geowidget to guide data collection - #29 by LN. Please try it out and create new topics to discuss use cases that are not addressed well.