Hi:
I got a question from users about the ability to add tags/hashtags to the photos they are taking in the app. I have looked over the forum and documentation, but haven't found that info explicitly.
Which leads me to believe I am not thinking about this in a Survey123 Connect way!
What we would like to do is have the user take the photo and afterwards add some tags/labels (not sure what to call it) for common features ("habitat", "cached cone", "squirrel", etc.)...in the hopes that this would convey with the downloaded photos and help us sort photos eventually.
I figured out how to name the photos with the location as part of the name, but other info would be good to have. That is once I solve the "how to bulk download photos" part. I have all the tutorials bookmarked to hopefully figure that out 🙂
I have attached my survey as it stands now...I just got requests for even more changes...sigh...
Thanks for any thoughts on this.
Vicki
Feature service attachments (which Survey123 photos are stored as in ArcGIS Online) have optional values called "keywords" which are kind of like tags.
If you're using the REST API to query attachments from a service, you can query by keyword - so instead of getting all of the photos stored against your features, you can get the IDs of those photos with the keyword you're looking for, and download those photos specifically.
I believe in Survey123 the name of the question in your form will be stored as a keyword, but I don't know if there's a way to add more keywords, or a way to allow users to add their own keywords.
Not all applications support keywords - for example if you use something like the Map Viewer to look at your attachments, I don't think it will display keywords anywhere.
An alternative may be to generate a filename dynamically, and include a tag inside of it. For example, if you had a "select one" question that said "What are you looking at?" and it had two options, "Squirrel" or "Not a Squirrel", you could generate a filename like "squirrel_20241212_1910.jpg", or "not_squirrel_20241212_1910.jpg" based on that question's value.
We do something like this using the famous exif.exe writer with the corresponding Python package to write a comments field from the form into the Exif of the photo itself. This can then be seen in windows. I think there is even a Tags field in Exif that you could write too. It does require processing the photos in Python to add these tags as you export them from the GDB for long term storage. We dump these into a web accessible folder, build a simple index.html in script to create a gallery page with all the photos and comments. We then add this URL to the gallery in the feature class for direct linking in our web app or Pro. Bit more work but its super slick in the end.
See my post here with examples and the code. https://community.esri.com/t5/arcgis-survey123-blog/survey123-tricks-of-the-trade-download-survey-da...
A more simple approach which I used for one project: Rather than a multiline image, you could put the image within a repeat along with a select_multiple to text field. Then, any data added to those questions in the repeat will effectively be meta data to that image in the database.
Hi Mobius, Doug, and abureaux:
Thanks so much for your responses, I think one of these solutions will work for us. I got the filenames to include our MapID of data collection location with something along the line of what Mobius was suggesting.
I've got the "tackle the photo download problem" on the early 2025 to-do list, so I will be checking out these options. Though I will admit skimming the thread Doug linked scared me a little, I am barely a Python user (install it and paste other people's scripts in), but gives me something to learn in the new year 🙂
Thank You all again!
Vicki