Inspiration
Something clear to do, "Integrate geospatial field data collection and camera trap workflows", and once the hackathon got started, a thorough briefing of the problem (https://youtu.be/fyAPdX814Uo?t=1804), are inspiration by themselves. This was also a chance to help a non-profit.
What it does
When JGI staff are uploading camera trap images to MediaValet, it lets them choose the camera trap and date the images were taken on, makes a category (folder) on MediaValet with the established naming format, then uploads the images to that folder. It also brings the data for that Survey123 camera trap form entry across from ArcGIS, and kicks off requests to stakeholders to approve or decline images for their sensitivity. This is then fed back to MediaValet, updating image metadata as approved or declined.
How we built it
- Made sure that the APIs could do what we wanted them to do. For example, made sure MediaValet API could create create a folder and name it, upload images to that folder, and alter the images' metadata.
- Used APIs manually, to walk through the app's workflow, copying and pasting data between API calls.
- Wrote a program to call the APIs in sequence, and pass the data between the calls, rather than doing it manually.
- Wrote a graphical user interface for the program, so JGI staff can use it.
Accomplishments that we're proud of
- Coming up with way to save JGI staff having to manually label image folders on MediaValet.
- Realising that doing the Docusign image approval workflow AFTER the ArcGIS data is brought across to MediaValet means that if JGI decides that field workers could collect the images at the same time as the Survey123 data is entered (eg they give their field workers the capability to read the camera's images to their smartphone, making our web app unnecessary), they won't have to rework the image approval workflow.
Built With
- arcgis-api
- docusign-api.-docusign-node.js-sdk/no-libraries-were-used.-javascript
- elm
- javascript
- mediavalet-api
Log in or sign up for Devpost to join the conversation.