The main purpose of waterquality is to quickly and
easily convert satellite-based reflectance imagery into one or many
well-known water quality indices designed for the detection of Harmful
Algal Blooms (HABs) using the following pigment proxies: chlorophyll-a,
blue-green algae (phycocyanin), and turbidity. Currently, this package
is able to process 40
algorithms for the following satellite-based imagers: WorldView-2,
Sentinel-2, Landsat-8, MODIS, MERIS, and OLCI. In order to improve the
aesthetics of the wq_calc()
output, a series of
Map_WQ()
functions were developed to help reduce technical
barriers and simplify the complexities in selecting a map layout.
Additional functionality of the package includes a series of
extract_lm()
functions that wrap the “Fitting
Linear Models” and “caret” packages to
quickly generate crossvalidated linear models and standardized outputs
(r2, p-value, slope, intercept of the global lm model &
average r2, average RMSE, average MAE of crossvalidated
model) for any number of algorithm and water quality parameter
combinations. It is important to note that the extract_lm()
functions require ground-truth data in order to develop the models. For
a more detailed look into the full functionality of
waterquality, please view “Introduction
to the waterquality package”. For a broader look into how to apply
this tool into a research workflow or for more information on topics
such as data acquisition, image pre-processing, or results, see our
publication entitled “Waterquality:
An Open-Source R Package for the Detection and Quantification of
Cyanobacterial Harmful Algal Blooms and Water Quality”.
Additionally, we have recently developed and published a complementary python-based version of waterquality compatible with ESRI ArcGIS and ArcPro. For more information please visit “waterquality for ArcGIS Pro Toolbox”.
You can install the released version from CRAN with:
install.packages("waterquality")
You can install waterquality from github with:
# install.packages("devtools")
::install_github("RAJohansen/waterquality") devtools
The main function in this package is wq_calc()
:
library(waterquality)
library(terra)
= terra::rast(system.file("raster/S2_Harsha.tif", package = "waterquality"))
s2 = wq_calc(s2, alg = "MM12NDCI", sat = "sentinel2") MM12NDCI
Map_WQ_raster(WQ_raster = MM12NDCI,
map_title= "Water Quality Map",
raster_style = "quantile",
histogram = TRUE)
#> The legacy packages maptools, rgdal, and rgeos, underpinning the sp package,
#> which was just loaded, will retire in October 2023.
#> Please refer to R-spatial evolution reports for details, especially
#> https://r-spatial.org/r/2023/05/15/evolution4.html.
#> It may be desirable to make the sf package available;
#> package maintainers should consider adding sf to Suggests:.
#> The sp package is now running under evolution status 2
#> (status 2 uses the sf package in place of rgdal)
To cite waterquality in publications, please use:
Johansen R, Nowosad J, Reif M, Emery E (2023). waterquality: Satellite Derived Water Quality Detection Algorithms. U.S Army Engineer Research and Development Center, Vicksburg, MS, USA. R package version 1.0.0, https://github.com/RAJohansen/waterquality/.
We encourage users to submit issues and enhancement requests so we may continue to improve our package.
Furthermore, if you have a water quality algorithm that was not on our list, and you would like for it to be included in our package please email Richard.A.Johansen@erdc.dren.mil.