The function build a virtual raster from a Sentinel2 SAFE product, eventually translating it in another spatial format. Output vrt is at 10m resolution.

s2_translate(
  infile,
  outdir = ".",
  subdirs = NA,
  tmpdir = NA,
  rmtmp = TRUE,
  prod_type = NULL,
  tiles = NA,
  res = "10m",
  method = "bilinear",
  format = "VRT",
  compress = "DEFLATE",
  bigtiff = FALSE,
  vrt_rel_paths = NA,
  utmzone = "",
  overwrite = FALSE
)

Arguments

infile

Full path of the input SAFE folder (alternatively, full path of the xml file of the product with metadata).

outdir

(optional) Full name of the output directory where the files should be created (default: current directory). outdir can bot be an existing or non-existing directory (in the second case, its parent directory must exists). If it is a relative path, it is expanded from the directory of infile.

subdirs

(optional) Logical: if TRUE, different output products are placed in separated outdir subdirectories; if FALSE, they are placed in outdir directory; if NA (default), subdirectories are created only if prod_type has length > 1.

tmpdir

(optional) Path where intermediate files (VRT) will be created. Default is a temporary directory. If tmpdir is a non-empty folder, a random subdirectory will be used.

rmtmp

(optional) Logical: should temporary files be removed? (Default: TRUE). This parameter takes effect only if the output files are not VRT (in this case temporary files cannot be deleted, because rasters of source bands are included within them).

prod_type

(optional) Vector of types to be produced as outputs (see safe_shortname for the list of accepted values). Default is reflectance ("TOA" for level 1C, "BOA" for level 2A).

tiles

(optional) Character vector with the desired output tile IDs (id specified IDs are not present in the input SAFE product, they are not produced). Default (NA) is to process all the found tiles.

res

(optional) Spatial resolution (one between '10m', '20m' or '60m'); default is '10m'. Notice that, choosing '10m' or '20m', bands with lower resolution will be rescaled to res. Band 08 is used with res = '10m', band 08A with res = '20m' and res = '60m'.

method

(optional) A resampling method used to generate products "SZA" (Sun Zenith Angles), "OZA" (Sun Azimuth Angles), "SAA" (averaged Viewing Incidence Zenith Angles) and "OAA" (averaged Viewing Incidence Azimuth Angles) from their original 5 km resolution. Accepted values are valid values accepted by -r option of gdalwarp. Default is "bilinear" (linear interpolation).

format

(optional) Format of the output file (in a format recognised by GDAL). Default value is "VRT" (Virtual Raster).

compress

(optional) In the case a GeoTIFF format is chosen, the compression indicated with this parameter is used.

bigtiff

(optional) Logical: if TRUE, the creation of a BigTIFF is forced (default is FALSE). This option is used only in the case a GeoTIFF format was chosen.

vrt_rel_paths

(optional) Logical: if TRUE (default on Linux), the paths present in the VRT output file are relative to the VRT position; if FALSE (default on Windows), they are absolute. This takes effect only with format = "VRT".

utmzone

(optional) UTM zone of output products (default: the first one retrieved from input granules), being a 3-length character (e.g. "32N"). Note that this function does not perform reprojections: if no granules refer to the specified UTM zone, no output is created.

overwrite

Logical value: should existing output files be overwritten? (default: FALSE)

Value

A vector with the names of the created output files (just created or already existing).

Note

License: GPL 3.0

References

L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020). "sen2r": An R toolbox for automatically downloading and preprocessing Sentinel-2 satellite data. Computers & Geosciences, 139, 104473. doi:10.1016/j.cageo.2020.104473 , URL: https://sen2r.ranghetti.info/.

Author

Luigi Ranghetti, phD (2019)

Examples

if (FALSE) {
s2_l1c_example <- file.path(
  "/existing/path",
  "S2A_MSIL1C_20170603T101031_N0205_R022_T32TQQ_20170603T101026.SAFE"
)
s2_l2a_example <- file.path(
  "/existing/path",
  "S2A_MSIL2A_20170603T101031_N0205_R022_T32TQQ_20170603T101026.SAFE"
)

# Create a single TOA GeoTIFF in the same directory
s2_translate(s2_l1c_example, format="GTiff")

# Create a single BOA VRT with a custom name
s2_translate(
  s2_l2a_example,
  "/new/path/example_sentinel2_sr.vrt",
  vrt_rel_paths = TRUE
)

# Create four products (ENVI) in the same directory at 60m resolution,
# using a cubic interpolation for "OAA"
s2_translate(
  s2_l2a_example, 
  format = "ENVI", 
  prod_type = c("BOA","TCI","SCL","OAA"),
  res = "60m", 
  method = "cubic",
  subdirs = TRUE
)

# Create all the four angle products from TOA in GeoTIFF format 
# in a temporary directory
s2_translate(
  s2_l1c_example, 
  format = "GTiff", 
  prod_type = c("SZA", "OZA", "SAA", "OAA"), 
  outdir = tempdir()
)
}