Entity Search with Multiple Geopoints

1. What is the issue? Please be detailed.

I'm working with creating 'Entities' in ODK Central through an intake form. The form has options to record a farmer's household location (geopoint) as well as his cropland location (geopoint). Both the household location and cropland location are being saved to an entity.

From a second follow-up form, when I provide a map search option to autopopulate data, I am unable to see the geo points from either the household location or the cropland location. I looked around a few support groups and found that the entity MUST be labelled as a 'geometry' if it is to show up on a map.

Does this mean I cannot load more that one geometry entity type as a search option?

2. What steps can we take to reproduce this issue?
I've attached a sample form and a sample entity download
profiledb (2).csv (765 Bytes)

In the entity sample (profiledb.csv), the household location has been stored as 'geometry', and the cropland location I would also be able to display is stored as 'gps_farm1'

3. What have you tried to fix the issue?
I've tried renaming the columns, but that has not worked.

4. Upload any forms or screenshots you can share publicly below.

ODK_followup.xlsx (351.2 KB)

Yes, that is currently the case.

One idea to consider would be to have two separate entity lists: farmers and croplands. First, you would register the farmer using one form, then you would use a different form to first pick out the farmer, and then associate a cropland to that farmer. The major advantages of this approach are that it makes it what you want to do straightforward and that it leads to smaller, more focused entities. It would also allow you to do things like have forms that operate just on farmers or just on croplands without having to download the other list.

Here are some downsides to be aware of:

  • Currently, entities are only created and updated on the server. That means you would need connectivity to be able to select a farmer from the cropland registration form. This will be addressed by offline entities which are in active development. An alternative you could consider currently would be to display the entity id in the farmer registration form so that the user can copy it and paste it in the cropland registration form. It's not elegant but it could work for your needs!
  • The user would have to navigate between two forms during registration which could break the flow of an interview and will require more concentration to get right. Smaller forms are easier to design and test but generally less convenient to use with the current Collect interface.

Hopefully these give you some useful ideas for the short term. Longer term, we do know that creating multiple entities from a single form submission is important to many users. It's likely something we will start working on around the end of the year. That would let you create both a farmer and cropland entity with a single registration form.

One final note! There are many individuals in the Insiders program working on similar agricultural workflows. Insiders have started convening for office hours to discuss entities and we're looking at how we can help facilitate thematic working groups. If any of these ideas sound useful to you, consider looking into becoming an Insider! The post I linked to above has details on how to do so.


Thanks, thats good to know. The drawback with creating two forms, especially at the intake level is that the field survey process is disrupted.

I think it would be helpful to have a better/cleaner way of uploading 'entities'. I currently do not have the technical skill to upload them through the API, and the documentation is lacking steps to allow non-technical users to do so.

We'll soon be able to upload entities from files in Central :slightly_smiling_face:

1 Like

Here it is :slightly_smiling_face: