Hi Cara,
in general, yes, it is possible to access the digiKam database directly, and there's some functions in camtrapR that do that already with the help of the RSQLite package (for extracting metadata from videos). But unfortunately it wasn't designed with your purpose in mind, and those functions are internal functions and not exported via the package namespace. That said, they can still be used with the prefix "camtrapR:::".
See the function library
here on github. The relevant functions for accessing and processing data directly from a digiKam database can be found there and include:
- accessDigiKamDatabase
- digiKamVideoHierarchicalSubject
- processVideoArgument (this function calls accessDigiKamDatabase)
- addVideoDateTimeOriginal
- addVideoHierachicalSubject
Since these functions were designed for extracting metadata from videos, I cannot guarantee they will work straight away for images. You can try but may need to adapt them a little.
A whole different solution for images stored in different locations would be to run the function recordTable() separately on each machine and then combine the resulting record tables (rbind). This should work as long as the different hard disks contain images from different camera trap stations. If they contain images from the same station there might be the possibility of duplicates or non-independent images showing up.
Best regards,
Jürgen