User: Drone pilots
https://github.com/precision-sustainable-ag/drone-pilot-upload
Purpose: Create a quick and easy way for the users to associate metadata with the images and enable a clean, self-managed folder structure.
...
List of associated metadata (mission)
Name | Purpose | Source |
---|---|---|
Pilot Name | To identify which pilot flew the |
UAV | pilot |
cloudiness | To identify weather conditions when the experiment was run. |
Clear, partly cloudy, overcast | pilot | |
Weather api fields | To be decided on later. Could be Metar or PSA | |
mission name | name of mission | folder name |
mission start datetime | start datetime of first image | image EXIF |
mission end datetime | end datetime of last image | image EXIF |
upload datetime | start datetime of image upload | os |
color representation | [RGB/MULTISPEC] | image EXIF |
sensor make | DJI/MicaSense/AgEagle manufacture of sensor | image EXIF |
sensor model | Altum-PT/ZenmuseP1 model of sensor | image EXIF |
mission extent | bounding box of mission (geom) | calculated |
comments | used to harvest possible new standard metadata |
List of associated metadata (images)
Name | Purpose | Source |
---|---|---|
(lat, long, alt) | latitude, longitude, altitude of the collected image (geom) | image EXIF |
name | original image name | image EXIF |
uuid name | new uuid name | code |
format | tiff/jpg | image EXIF |
datetime | datetime image was collected | image EXIF |
band | band number if single band multispectrial | image name |
size | size of image in MB | image EXIF |
Logic flow
When the user clicks the upload button, the folder with the images and associated metadata is sent to a flask app for processing.
The Flask app changes the file name for all the images using UUID to ensure uniqueness in the filenames.
The files are then stored in a folder with a unique name (generated using UUID). This folder name serves as an identifier of the flight/experiment.
Once each file is saved, their relative file paths and associated metadata are stored in a Postgres DB.
After this, the app's purpose is complete, and the user is notified that their files have been “uploaded.”
The actual upload happens at midnight using Globus.
...