View source: R/addEEtoSpOcc_single.R
addEEtoSpOcc_single | R Documentation |
Google Earth Engine (GEE) data for each pentad can be extracted
to a data frame using ABAP's addVarEEcollection
and addVarEEimage
functions. addEEtoSpOcc_single
can then be used to add these types of data
to a list in order to fit single-species occupancy models using spPGOcc
(spatial) or PGOcc
(non-spatial) from the spOccupancy
package.
addEEtoSpOcc_single(spOcc, ee_data)
spOcc |
a list containing ABAP detection/non-detection data returned by
|
ee_data |
a data frame with GEE data extracted using |
The numeric ranges of various GEE data can be vastly different so it is advised that you scale your covariate data before running an occupancy model. See the example below for how to do this.
Dominic Henry dominic.henry@gmail.com
Pachi Cervantes
abapToSpOcc_single
, spPGOcc
,
PGOcc
, addVarEEimage
,
addVarEEcollection
## Not run:
library(rgee)
library(ABDtools)
library(dplyr)
## Extract ABAP pentad data
abap_pentads <- getRegionPentads(.region_type = "province",
.region = "Eastern Cape")
## Extract single season ABAP bird data
abap_single <- getAbapData(.spp_code = 212,
.region_type = "province",
.region = "Eastern Cape",
.years = 2012)
## Create spOcc list (with XY coordinates as site covariates)
spOcc_single <- abapToSpOcc_single(abap_single, abap_pentads)
str(spOcc_single)
## Start up GEE
ee_check()
ee_Initialize(drive = TRUE)
## Create assetId for pentads of interest
assetId <- file.path(ee_get_assethome(), 'EC_pentads')
## Upload to pentads to GEE (only run this once per asset)
uploadFeaturesToEE(pentads = abap_pentads,
asset_id = assetId,
load = FALSE)
## Load the remote asset into R session
pentads <- ee$FeatureCollection(assetId)
## Extract spatial mean NDVI for each pentad
ndvi_mean <- addVarEEcollection(ee_pentads = pentads,
collection = "MODIS/006/MOD13A2",
dates = c("2010-01-01", "2013-01-01"),
temp_reducer = "mean",
spt_reducer = "mean",
bands = "NDVI")
## Extract spatial standard deviation of NDVI for each pentad
ndvi_sd <- addVarEEcollection(ee_pentads = pentads,
collection = "MODIS/006/MOD13A2",
dates = c("2010-01-01", "2013-01-01"),
temp_reducer = "mean",
spt_reducer = "stdDev",
bands = "NDVI")
## Create a site covariate data frame for input into addEEtoSpOcc_single().
## Note the first column is called "pentad" which is a requirement for the
## function to work properly.
my_ee_data <- bind_cols(pentad = ndvi_mean$pentad,
ndvi_SD = ndvi_sd$NDVI_stdDev,
ndvi_MEAN = ndvi_mean$NDVI_mean)
## Add GEE covariates to spOcc list
spOcc_single_ee <- addEEtoSpOcc_single(spOcc = spOcc_single,
ee_data = my_ee_data)
str(spOcc_single_ee)
## Scale site covariates if necessary
spOcc_single_ee$occ.covs <- scale(spOcc_single_ee$occ.covs)
head(spOcc_single_ee$occ.covs)
summary(spOcc_single_ee$occ.covs)
## A slightly different example:
## Annotate ABAP data with multiple bands from a GEE collection
pentads_tc <- addVarEEcollection(ee_pentads = pentads,
collection = "IDAHO_EPSCOR/TERRACLIMATE",
dates = c("2010-01-01", "2011-01-01"),
temp_reducer = "mean",
spt_reducer = "mean",
bands = c("tmmx", "tmmn"))
## Select the variables to transfer to the spOcc list, making sure
## 'pentad' is amongst them
my_ee_data <- pentads_tc %>%
select(pentad, tmmx_mean, tmmn_mean)
## Add GEE covariates to spOcc list
spOcc_single_ee <- addEEtoSpOcc_single(spOcc = spOcc_single,
ee_data = my_ee_data)
str(spOcc_single_ee)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.