/
Image upload page (App1)

Image upload page (App1)

User: Drone pilots

GitHub - 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.

According to the design document, this would serve as Application 1

  • This web page should live on the Sandhills workstation and potentially other workstations at different research centers.

  • The aim is to enable drone pilots to select a folder of images to “upload” and associate some metadata with it.

  • This web application doesn’t upload the images to HPC or any other processing node to create orthomosaics. It relies on Globus to complete the upload.

 

List of associated metadata (mission)

Name

Purpose

Source

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

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.

.

Related content

App 2 details
App 2 details
More like this
APP 1.5 details
APP 1.5 details
Read with this
Drone pilot project software requirements
Drone pilot project software requirements
More like this
System Architecture
System Architecture
Read with this
AltaRes app
More like this
MongoDB notes
MongoDB notes
Read with this