mf_import_data {modisfast} | R Documentation |
Import datasets downloaded using modisfast
as a terra::SpatRaster
object
Description
Import datasets downloaded using modisfast
as a terra::SpatRaster
object
Usage
mf_import_data(
path,
collection,
output_class = "SpatRaster",
proj_epsg = NULL,
roi_mask = NULL,
vrt = FALSE
)
Arguments
path |
character string. mandatory. The path to the local directory where the data are stored. |
collection |
string. mandatory. Collection of interest (see details of mf_get_url). |
output_class |
character string. Output object class. Currently only "SpatRaster" implemented. |
proj_epsg |
numeric. EPSG of the desired projection for the output raster (default : source projection of the data). |
roi_mask |
|
vrt |
boolean. Import virtual raster instead of SpatRaster. Useful for very large files. (default : FALSE) |
Value
a terra::SpatRast
object
Note
Although the data downloaded through modisfast
could be imported with any netcdf-compliant R package (terra
, stars
, ncdf4
, etc.), care must be taken. In fact, depending on the collection, some “issues” were raised. These issues are independent from modisfast
: they result most of time of a lack of full implementation of the OPeNDAP framework by the data providers. Namely, these issues are :
for MODIS and VIIRS collections : CRS has to be provided
for GPM collections : CRS has to be provided + data have to be flipped
The function mf_import_data includes the processing that needs to be done at the data import phase in order to safely use the data as terra
objects.
Also note that reprojecting over large ROIs using the argument proj_epsg
might take long. In this case, setting the argument vrt
to TRUE might be a solution.
Examples
## Not run:
### Login to EOSDIS Earthdata with your username and password
log <- mf_login(credentials = c("earthdata_un","earthdata_pw"))
### Set-up parameters of interest
coll <- "MOD11A1.061"
bands <- c("LST_Day_1km","LST_Night_1km")
time_range <- as.Date(c("2017-01-01","2017-01-30"))
roi <- sf::st_as_sf(data.frame(
id = "roi_test",
geom="POLYGON ((-5.82 9.54, -5.42 9.55, -5.41 8.84, -5.81 8.84, -5.82 9.54))"),
wkt="geom",crs = 4326)
### Get the URLs of the data
(urls_mod11a1 <- mf_get_url(
collection = coll,
variables = bands,
roi = roi,
time_range = time_range
))
### Download the data
res_dl <- mf_download_data(urls_mod11a1)
### Import the data as terra::SpatRast
modis_ts <- mf_import_data(dirname(res_dl$destfile[1]), collection = coll)
### Plot the data
terra::plot(modis_ts)
## End(Not run)