Drone mapping takes a lots of images…
…but it’s not just images that you have to keep track of!
flight logs
study area outline
GCP coordinates
telemetry files
field data
other photos
video files basemap layers
“I know it’s here somewhere.”
“ Yeah, I remember hearing
someone
from UCSB flew that site.”
“Did you ask Brandon?”
“I found the images, but I can’t
reproduce the stitching. It looks funny.”
“Maybe your overlap was too low?”
“ We have to report how many acres
we’ve flown with each type of camera for the USDA
report.
Whatdyathink? ”
How do we get our drone data to be FAIR compliant?
uasimg
OverviewR package with functions to help you:
UC Merced Vernal Pool and Grassland Reserve
Point Pinole Regional Shortline Eucalyptus Grove
Hopland River Fire Revegetation Study
https://is.gd/uas_data_aag2019
Image metadata
Flight metadata
uasimg
uses flight metadata for i)
cataloging, ii) searching, and iii)
creating directory trees
This will:
You can process multiple directories at once
A “Flight Info” object by itself is not very useful!
Recommended way to record flight metadata - text editor
You don’t have to start from scratch!
uas_setflds()
TIP: Re-run uas_info()
after you edit
flight metadata text files!
Create separate Flight Info objects if you have:
Multiple flights in one folder
One flight spread across multiple folders
Rename files based on a template, such as:
{proj}-{loc}_{camera_abbrev}_{Y}{m}{d}_{H}{M}{S}
Fields available:
{i}
an integer starting from 1 and going up, padded
with enough leading zeros to accommodate all values{Y}
year (4-digit){y}
year (2-digit){m}
month (2-digit){d}
day (2-digit){j}
Julian day{H}
hour (2-digits){M}
minutes (2-digits){S}
seconds (2-digits){camera_abbrev}
an abbreviated name of the camera{alt_agl}
altitude above the launch point
You can move your data by hand or with a function:
Options:
{proj}/{loc}/{subloc}/imgs/{flt_date}/{flt_start}-{flt_end}_{camera_abbrev}
{proj}/{loc}/{subloc}/gis
{proj}/{loc}/{subloc}/p4d
{proj}/{loc}/{subloc}/documents
Geometries you can export:
Create HTML flight summary for one or more Flight Info object(s):
Report options:
Feed a list of Flight Summary HTML files.
It will extract flight metadata fields from the HTML file for the table-of-contents.
Function options:
library(uasimg)
## Define the subdirectories that have the images
hrec_dirs <- c("D:/Pix4D/HREC/Watershed1/Data/2017-01-16_X5/Flight01_1514_1526_400ft",
"D:/Pix4D/HREC/Watershed1/Data/2017-01-16_X5/Flight02_1532_1540_400ft")
file.exists(hrec_dirs)
## Create/edit metadata text files
# uas_metadata_make(hrec_dirs, make_new = TRUE, overwrite = FALSE, open = TRUE, use_system_editor = TRUE)
## Extract image and flight metadata
hrec_info <- uas_info(hrec_dirs, fp = TRUE)
## Create image thumbnails (optional)
uas_thumbnails_make(hrec_info, rotate = TRUE, stats = TRUE, overwrite = FALSE)
## Create flight summary reports
hrec_rpts <- uas_report(hrec_info,
thumbnails = TRUE,
attachments = c("mcp_kml", "ctr_kml"),
footer_html = "D:/Pix4D/catalog/headers_footers/footer_igis.html",
tbm_use = TRUE,
tbm_src = "Google",
tbm_api_key = getOption("ANDYS_GOOGLE_STATIC_MAPS_KEY"),
tbm_overwrite = FALSE,
group_img = FALSE,
show_local_dir = TRUE,
overwrite_html = TRUE,
open_report = TRUE)
## Create a TOC
hrec_toc <- uas_toc(hrec_rpts,
toc_title = "HREC Watershed 1, January 2017",
output_dir = "D:/Data/uas.igis-data/hrec/watershed1",
gather = ".",
fltmap_base = list(list(kml_fn = "D:/Pix4D/HREC/Baselayers/hopland.kml",
color = "yellow",
weight = 2)),
fltmap_kml = TRUE,
footer_html = "D:/Pix4D/catalog/headers_footers/footer_igis.html",
open_toc = TRUE,
overwrite_toc = TRUE)
## Output: http://uas.igis-data.click/hrec/watershed1/
‘World Files’ are plain-text files (also called sidecar files) with location and projection info.
GIS software like ArcGIS Pro and QGIS use these files to display images in the proper place and size.
Generate with:
Options:
aux.xml
, wld
, or
prj
)Output:
With World files, your images will just “pop” into place (approximately) in your GIS software:
If your images can’t be stitched, life is not over!
This function will crop each image, keeping the center part (least distorted)
Function options:
Example Output:
Not great, but…
Open images with remote sensing tools for:
The need for data management tools and workflows increases as you:
We all stand to gain if we get better at this.