New geo widget (question type) - let's call it getmultipoint: like geotrace, but without the line

1. What is the general goal of the feature?
To be able to enter multiple points on a map - not connected with a line, but rather individual points on a map

2. What are some example use cases for this feature?
Inputting multiple points with a single question, instead of a separate question for each point. For example:

  • list all the houses you visited on the current vaccination drive
  • list all the stops on your trip in Central America (this would complement a separate question - for example, list locations where you suffered insect bites)

3. What can you contribute to making this feature a reality?
Sadly, not much - I can test it.

Right now, to enter several locations I use a geotrace widget, and then write a script or use a spreadsheet macro to separate the points, which are stored IIRC as a long string with commas or semicolons separating line segments (edge points). The line on the map can be confusing, esp. if the points are not entered in order. I can add more specification - such as selecting ordered vs. unordered points, adding a 'new point' prompt after a point is entered, or 'last point' prompt to know when there are no more points, etc.

This might help you without a new feature.

It uses the example that @mathieubossaert posted here, extending the KML/geojson export from @Xiphware & @detrygeoffroy.

I put the geopoint inside a repeat to allow selection of 1 to many points, these then get converted to WKT as POINT / POINT Z strings inside the repeat and finally rolled up into a MULTIPOINT () / MULTIPOINT Z string outside the repeat.

Being inside a repeat, you can also add additional questions related to each point there as needed.

multipoint_example.xlsx (19.7 KB)


Hi Andrew,

Thanks for your response - this script gets the job of collecting multiple points done, and taught me a thing or five about ODK-Collect and XLSForms.

Still, it would be also nice to have a multi-point widget, since:
a) it will be faster/easier to enter all points in one map, rather than one map per point
b) a multi-point widget can be used with beginner's level of skill (I put myself in that category)
c) ODK documentation is exemplary!

Your note made me think of another 'spec' or requirement for the feature - it should provide an output of multiple single points - perhaps a list of points (lon,lat,Z, accuracy), or a text file with each point as a separate line.

One problem I have with the way data is parsed is that it requires text processing to use in GIS software - using either spreadsheet macros or code scripts to convert the outcome into lon/lat pairs that can be uploaded to QGIS.