I am using ODK Collect on a Samsung Galaxy Tab A tablet. I have loaded an mbtiles file into the layers folder (i.e. /sdcard/Android/data/org.odk.collect.android/layers/test.mbtiles) as a reference layer and have selected the basemap as mapbox. When I start my geopoint, geoshape, or geotrace questions, the reference layer is not displaying. Any guesses as to why I have this problem? Does the Mapbox map style need to be set to any particular style for the reference layer to show?
If you are using a recent Collect version I think you are using an old dirrctory.
Collect now use a device directory and can't use th sdcard :
You should find the directory on the phone storage.
Hello,
I'm facing the same issue that dbk
@mathieubossaert : I read the thread you mentionned. Tell me if I'm wrong but I don't understand the same thing. In this response Collect will need to stop using /sdcard/odk for files - #10 by LN LN said that it's still possible to you a SD card to store mbtiles, but the path to access it has changed.
As @dbk , I store my mbtiles in /sdcard/Android/data/org.odk.collect.android/layers/ and I can't read them from "Settings -> Map". But if I put them in the phone internal memory ("Stockage_interne/Android/data/org.odk.collect.android/files"), the mbtiles show up. The settings screen tell me that it founds in : "/sdcard/Android/data/org.odk.collect.android/layers/ " ...
I'm a bit lost !
Is somebody successfully load mbtiles from an sd card ?
How odd! Do you mean you put them in the layers
folder in Stockage_interne/Android/data/org.odk.collect.android/files
? If so, it may be that your device organizes storage a little differently for whatever reason. What brand is it?
If it's working, I don't really think you need to look further. The /sdcard
prefix is quite misleading. These days it generally corresponds to internal storage but still has the name for legacy reasons. Does your device actually have an sd card slot?
We are working on a more direct way to select mbtiles which will be available in the next Collect version.
Hello,
Thanks for your quick answer.
Yes my mbtiles is in the layers
folder of my device storage : Stockage_interne/Android/data/org.odk.collect.android/files/layers/ortho.mbtiles
If it's working, I don't really think you need to look further.
My mbtiles is very big and in my context (~50 devices, with no internaly space), it is not an option to put the layer in the internal storage.
I do have a SD card in my device and it is a Samsung A22
But do you confirm that is it possible to read a layer from a SD Card ? If yes, I'll keep looking forward !
Thanks again.
Edit : I have the same behaviour on a old Samsung Galaxy S5 (ODK v2024.1.3)