...
List of associated metadata (mission)
Name | Purpose | Source |
---|---|---|
Pilot Name | To identify which pilot flew the planeUAV | pilot |
Weather Conditions | To identify weather conditions when the experiment was run. This can be potentially auto-filled using weather data. | pilot |
mission name | name of mission | folder name |
mission datetime | start datetime of first 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 |
List of associated metadata (images)
Name | Purpose | Source |
---|---|---|
(lat, long, alt) | latitude, longitude, altitude of the collected image | 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.
...