| Title: | Interface to the 'MODIS Land Products Subsets' Web Services | 
| Version: | 1.1.5 | 
| Description: | Programmatic interface to the Oak Ridge National Laboratories 'MODIS Land Products Subsets' web services (https://modis.ornl.gov/data/modis_webservice.html). Allows for easy downloads of 'MODIS' time series directly to your R workspace or your computer. | 
| URL: | https://github.com/bluegreen-labs/MODISTools | 
| BugReports: | https://github.com/bluegreen-labs/MODISTools/issues | 
| Depends: | R (≥ 3.4) | 
| Imports: | httr, utils, sf, sp, terra, stats, memoise, jsonlite | 
| License: | AGPL-3 | 
| LazyData: | true | 
| ByteCompile: | true | 
| RoxygenNote: | 7.2.3 | 
| Suggests: | knitr, markdown, covr, testthat, ggplot2, dplyr | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | no | 
| Packaged: | 2023-09-16 13:33:29 UTC; khufkens | 
| Author: | Koen Hufkens | 
| Maintainer: | Koen Hufkens <koen.hufkens@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2023-09-17 00:10:05 UTC | 
arcachon_lai
Description
MODIS leaf area index (LAI) around the French town of Arcachon derived from the MODIS MOD15A2H product (band Lai_500m).
Usage
arcachon_lai
Format
A MODISTools tidy data frame
arcachon_lc
Description
MODIS land cover (IGBP) around the French town of Arcachon derived from the MODIS MCD12Q2 product (band LC_Type1).
Usage
arcachon_lc
Format
A MODISTools tidy data frame
Download all available bands
Description
Lists all available bands for a MODIS Land Products Subset product.
Usage
mt_bands(product)
Arguments
| product | a valid MODIS product name | 
Value
A data frame of all available bands for a MODIS Land Products Subsets products
See Also
Examples
# list all available MODIS Land Products Subsets products
bands <- mt_bands(product = "MCD12Q2")
head(bands)
Batch download MODIS Land Products subsets
Description
Lists all available dates for a MODIS Land Products Subset product at a particular location.
Usage
mt_batch_subset(
  df,
  product,
  band,
  start = "2000-01-01",
  end = format(Sys.time(), "%Y-%m-%d"),
  km_lr = 0,
  km_ab = 0,
  out_dir = tempdir(),
  internal = TRUE
)
Arguments
| df | a CSV file or data frame holding locations and their sitenames to batch process with column names site_name, lat, lon holding the respective sitenames, latitude and longitude. When providing a CSV make sure that the data are comma separated. | 
| product | a valid MODIS product name | 
| band | band to download | 
| start | start date | 
| end | end date | 
| km_lr | km left-right to sample | 
| km_ab | km above-below to sample | 
| out_dir | location where to store all data | 
| internal | should the data be returned as an internal data structure
 | 
Value
A data frame combining meta-data and actual data values, data from different sites is concatenated into one large dataframe. Subsets can be created by searching on sitename.
See Also
mt_sites
mt_dates mt_bands
mt_products
mt_subset
Examples
## Not run: 
# create data frame with a site_name, lat and lon column
# holding the respective names of sites and their location
df <- data.frame("site_name" = paste("test",1:2))
df$lat <- 40
df$lon <- -110
print(df)
# test batch download
subsets <- mt_batch_subset(df = df,
                        product = "MOD11A2",
                        band = "LST_Day_1km",
                        internal = TRUE,
                        start = "2004-01-01",
                        end = "2004-03-31")
# the same can be done using a CSV file with
# a data structure similar to the dataframe above
write.table(df, file.path(tempdir(),"my_sites.csv"),
 quote = FALSE,
 row.names = FALSE,
 col.names = TRUE,
 sep = ",")
# test batch download form CSV
subsets <- mt_batch_subset(df = file.path(tempdir(),"my_sites.csv"),
                        product = "MOD11A2",
                        band = "LST_Day_1km",
                        internal = TRUE,
                        start = "2004-01-01",
                        end = "2004-03-31"
                        )
head(subsets)
## End(Not run)
Converts lower-left sinusoidal coordinates to lat-lon sf bounding box
Description
Converts lower-left sinusoidal coordinates to lat-lon sf bounding box
Usage
mt_bbox(xllcorner, yllcorner, cellsize, nrows, ncols, transform = TRUE)
Arguments
| xllcorner | lower left x coordinate as provided by
 | 
| yllcorner | lower left y coordinate as provided by
 | 
| cellsize | cell size provided by  | 
| nrows | cell size provided by  | 
| ncols | cell size provided by  | 
| transform | transform the bounding box from sin to lat long coordinates,
 | 
See Also
Examples
# Download some test data
subset <- mt_subset(product = "MOD11A2",
                        lat = 40,
                        lon = -110,
                        band = "LST_Day_1km",
                        start = "2004-01-01",
                        end = "2004-03-31",
                        progress = FALSE)
# convert sinusoidal to lat / lon
lat_lon <- sin_to_ll(subset$xllcorner, subset$yllcorner)
# bind with the original dataframe
subset <- cbind(subset, lat_lon)
# convert to bounding box
bb <- apply(subset, 1, function(x){
  mt_bbox(xllcorner = x['xllcorner'],
          yllcorner = x['yllcorner'],
          cellsize = x['cellsize'],
          nrows = x['nrows'],
          ncols = x['ncols'])
})
head(bb)
Download all available dates
Description
Lists all available dates for a MODIS Land Products Subset product at a particular location.
Usage
mt_dates(product, lat, lon, site_id, network)
Arguments
| product | a valid MODIS product name | 
| lat | latitude in decimal degrees | 
| lon | longitude in decimal degrees | 
| site_id | site id (overides lat / lon) | 
| network | the network for which to generate the site list, when not provided the complete list is provided | 
Value
A data frame of all available dates for a MODIS Land Products Subsets products at the given location.
See Also
Examples
# list all available MODIS Land Products Subsets products
bands <- mt_dates(product = "MOD11A2", lat = 40, lon = -110)
head(bands)
Download all available products
Description
Lists all available MODIS Land Products Subset products.
Usage
mt_products()
Value
A data frame of all available MODIS Land Products Subsets products
See Also
Examples
# list all available MODIS Land Products Subsets products
products <- mt_products()
head(products)
Download all available fixed sites
Description
Lists all available MODIS Land Products Subset pre-processed sites
Usage
mt_sites(network)
Arguments
| network | the network for which to generate the site list, when not provided the complete list is provided | 
Value
A data frame of all available MODIS Land Products Subsets pre-processed sites
See Also
Examples
# list all available MODIS Land Products Subsets products
sites <- mt_sites()
print(head(sites))
Download MODIS Land Products subsets
Description
Download a MODIS Land Products Subset product for a given point location buffered with a given amount of kilometers left-right, top-bottom for a given location (provided as latitude and longitude values).
Usage
mt_subset(
  product,
  band,
  lat,
  lon,
  start = "2000-01-01",
  end = format(Sys.time(), "%Y-%m-%d"),
  km_lr = 0,
  km_ab = 0,
  site_id,
  network,
  site_name = "sitename",
  out_dir = tempdir(),
  internal = TRUE,
  progress = TRUE
)
Arguments
| product | a valid MODIS product name | 
| band | band or bands (as a character vector) to download | 
| lat | latitude in decimal degrees | 
| lon | longitude in decimal degrees | 
| start | start date | 
| end | end date | 
| km_lr | km left-right to sample (rounded to the nearest integer) | 
| km_ab | km above-below to sample (rounded to the nearest integer) | 
| site_id | site id (overides lat / lon) | 
| network | the network for which to generate the site list, when not provided the complete list is provided | 
| site_name | arbitrary site name used in writing data to file (default = sitename) | 
| out_dir | path where to store the data if writing to disk (default = tempdir()) | 
| internal | should the data be returned as an internal data structure
 | 
| progress | show download progress | 
Value
A data frame combining meta-data and actual data values.
See Also
mt_sites
mt_dates mt_bands
mt_products
mt_batch_subset
Examples
# list all available MODIS Land Products Subsets products
# download data
subset <- mt_subset(product = "MOD11A2",
                        lat = 40,
                        lon = -110,
                        band = "LST_Day_1km",
                        start = "2004-01-01",
                        end = "2004-03-31",
                        progress = FALSE)
 head(subset)
Convert tidy MODISTools data to terra SpatRaster
Description
Convert tidy MODISTools data to a terra SpatRaster for easy spatial processing and plotting.
Usage
mt_to_terra(df, reproject = FALSE, method = "bilinear")
Arguments
| df | a valid MODISTools data frame with a single band (filter for a
particular band using the dplyr  | 
| reproject | reproject output to lat / long (default =  | 
| method | character. Method used for estimating the new cell values of a SpatRaster. One of: near: nearest neighbor. This method is fast, and it can be the preferred method if the cell values represent classes. It is not a good choice for continuous values. This is used by default if the first layer of x is categorical. bilinear: bilinear interpolation. This is the default if the first layer of x is numeric (not categorical). cubic: cubic interpolation. cubicspline: cubic spline interpolation. | 
Value
A terra SpatRaster populated with the tidy dataframe values
See Also
Examples
# list all available MODIS Land Products Subsets products
# download data
LC <- mt_subset(product = "MCD12Q1",
 lat = 48.383662,
 lon = 2.610250,
 band = "LC_Type1",
 start = "2005-01-01",
 end = "2005-12-30",
 km_lr = 2,
 km_ab = 2,
 site_name = "testsite",
 internal = TRUE,
 progress = FALSE)
head(LC)
# convert to raster
LC_r <- mt_to_terra(df = LC)
Convert sinusoidal coordinates to lat / lon
Description
A full description of the sinusoidal projection is provided on the lpdaac page: https://lpdaac.usgs.gov/dataset_discovery/modis and wikipedia: https://en.wikipedia.org/wiki/Sinusoidal_projection
Usage
sin_to_ll(x, y)
Arguments
| x | sinusoidal x coordinate (vector) | 
| y | sinusoidal y coordinate (vector) | 
See Also
Examples
# Download some test data
subset <- mt_subset(product = "MOD11A2",
                        lat = 40,
                        lon = -110,
                        band = "LST_Day_1km",
                        start = "2004-01-01",
                        end = "2004-03-31",
                        progress = FALSE)
# convert sinusoidal to lat / lon
lat_lon <- sin_to_ll(subset$xllcorner, subset$yllcorner)
# bind with the original dataframe
subset <- cbind(subset, lat_lon)
head(subset)