Role of the layers folder in ODK Collect

What is the problem? Please be detailed.
I couldn't find a description of the role and use of the layers folder which is created by ODK Collect inside its odk data folder together with the forms, instances and metadata folders.

I think a short description of all 4 folders would be useful in

What ODK tool and version are you using? And on what device and operating system version?
ODK Collect 1.10.2

What steps can we take to reproduce the problem?
Not relevant.

What you have you tried to fix the problem?
I searched the forum, website and I googled it.

Anything else we should know or have? If you have a test form or screenshots or logs, attach here.

1 Like

Thank you for that highlighting those documentation needs, @Souirji_Abdelghani!

The following issues are currently open:

Hi @LN,

Thank you for replying and thank you for providing the 2 links.

From the first link you have provided I gathered that the layers folder has something to do with base maps but things are not clear.

From the second link, I saw indeed that @adammichaelwood has already identified the need to document ODK Collect's data stores. However, no description is as yet available.

Correct, the docs are a work in progress! You can track those issues to see when they are resolved, it should be quite soon. :blush: If you need to use offline layers today, there are a couple links in the issue where I wrote up a brief explanation. If you have follow-up questions please ask here and I'll try to clarify.

Hi @LN,

Could you kindly provide here those links where you've provided explanations?

You can find info here and here. The steps are:

  1. From settings, change the Mapping SDK to Google Maps SDK
  2. Build or acquire your mbtiles file. You can use e.g. TileMill. Note that pbf vector tiles are not supported.
  3. Push the tiles file to a folder in the /sdcard/odk/layers folder. For example, you want something like /sdcard/odk/layers/Foo/foo.mbtiles. The name of the folder will be shown in the interface (Foo in this case).
  4. Open a widget that displays a map (geoshape, geotrace, geopoint with certain appearances)
  5. Tap the 74452-200 icon and select your layer

@Pari maybe you can start by verifying and cleaning up this list of steps and including it in the docs? Then we will improve the functionality as part of general geo improvements described here, please share your thoughts on those!

In particular, from a user perspective, it doesn't make sense that Google Maps SDK has to be selected. There are also a few bugs such as the user has to move the map after selecting an offline layer before it is displayed.


Hi @LN,

Thank you so much for these crystal-clear explanations about the use of the layers folder in ODK Collect.

1 Like