ODK Collect v2022.2 Beta: select from map, geojson datasets

Whoops, it would certainly help if I put the map appearance! :woman_facepalming:t2: Let me try again.

Here are some samples for verifying the beta:

  • map-internal-select-localized - defines a map with choices from within the form
  • map-internal-select-advanced - defines a map with choices from within the form and shows filtering, using additional properties, etc. All of this can be done with a geojson or csv attachment as well.
  • geojson-1000.zip (36.7 KB) - defines a map with choices from a geojson file. I also included a little Python script that generates a random geojson file in case you want to build a file similar to one you might use for your purposes.
  • Select from osm data + sacre-coeur.geojson - defines a map with choices exported from OpenStreetMap and converted to geojson. Demonstrates using a property as a default to be updated.

This post has the most recent specification and usage. We'll be writing this up as formal documentation shortly.

For the last example, I pulled data from OpenStreetMap by opening this quadrant and clicking export in the upper left corner. I then filtered out all of the non-point features in a text editor and used https://tyrasd.github.io/osmtogeojson/ to get a geojson file. Because the OSM property used to name a feature is name, I added label=name to the parameters column of the XLSForm. This tells Collect to use the name property as the label. I also added value=id even though that's the default to demonstrate that the underlying value can also be configured. The result is that I can select an OSM feature, view all its properties, and provide an updated amenity type and name:

@Ivangayton, @danbjoseph, @Matt_Berg I want to make sure you see this as it's pretty close to supporting workflows OpenMapKit did. If the goal were to update the OSM record, a script would have to take form submissions and convert them to the OSM format. One of the challenges would be dealing with updates that might have happened while a data collector was offline (e.g. "Restaurant Délicia" gets an online update bumping it to version 3 while I'm using this form to also update it).

As I mentioned in the feature thread, we're interested in feedback on performance. We also want to hear from you how many additional properties you think you might want to include. Currently we show them all in an unstyled bottom sheet. This is likely what we'll release for v2022.2 and based on feedback we get around how people want to use this feature we'll work on how the bottom sheet looks.

2 Likes