This accessory function extract some useful metadata from a vector of raster paths.

raster_metadata(raster_paths, meta = "all", format = "data.table")

Arguments

raster_paths

A vector of raster paths.

meta

Vector with the desired metadata: one or more values among 'res', 'size', 'bbox', 'proj', 'unit', 'outformat', 'type'. Alternatively meta = 'all' (default) allows to return all metadata.

format

One between data.table (default), data.frame and list.

Value

A data.table, data.frame or list of the output metadata.

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

# Define product names
examplenames <- c(
  system.file("tif/L7_ETMs.tif", package="stars"),
  system.file("extdata/out/S2A2A_20190723_022_Barbellino_BOA_10.tif",
    package = "sen2r")
)

# \donttest{
# Return metadata as data.table
raster_metadata(examplenames)
#>                                                                                                     path
#> 1:                              /home/lranghetti/R/x86_64-pc-linux-gnu-library/4.3/stars/tif/L7_ETMs.tif
#> 2: /tmp/RtmpYYDtly/temp_libpath2b43a87fec8ad7/sen2r/extdata/out/S2A2A_20190723_022_Barbellino_BOA_10.tif
#>    valid res.x res.y size.x size.y nbands     xmin    ymin     xmax    ymax
#> 1:  TRUE  28.5  28.5    349    352      6 288776.3 9110729 298722.8 9120761
#> 2:  TRUE  10.0  10.0     24     42     11 580560.0 5101700 580800.0 5102120
#>          proj  unit outformat   type
#> 1: EPSG:31985 metre     GTiff   Byte
#> 2: EPSG:32632 metre     GTiff UInt16
# }

# Return some metadata as data.table
raster_metadata(examplenames, c("res", "size", "bbox", "outformat"))
#>                                                                                                     path
#> 1:                              /home/lranghetti/R/x86_64-pc-linux-gnu-library/4.3/stars/tif/L7_ETMs.tif
#> 2: /tmp/RtmpYYDtly/temp_libpath2b43a87fec8ad7/sen2r/extdata/out/S2A2A_20190723_022_Barbellino_BOA_10.tif
#>    valid res.x res.y size.x size.y     xmin    ymin     xmax    ymax outformat
#> 1:  TRUE  28.5  28.5    349    352 288776.3 9110729 298722.8 9120761     GTiff
#> 2:  TRUE  10.0  10.0     24     42 580560.0 5101700 580800.0 5102120     GTiff

# Return some metadata as list
raster_metadata(examplenames, c("res", "size", "bbox", "proj"), format = "list")
#> [[1]]
#> [[1]]$path
#> [1] "/home/lranghetti/R/x86_64-pc-linux-gnu-library/4.3/stars/tif/L7_ETMs.tif"
#> 
#> [[1]]$valid
#> [1] TRUE
#> 
#> [[1]]$res
#>    x    y 
#> 28.5 28.5 
#> 
#> [[1]]$size
#>   x   y 
#> 349 352 
#> 
#> [[1]]$bbox
#>      xmin      ymin      xmax      ymax 
#>  288776.3 9110728.8  298722.8 9120760.8 
#> 
#> [[1]]$proj
#> Coordinate Reference System:
#>   User input: SIRGAS 2000 / UTM zone 25S 
#>   wkt:
#> PROJCRS["SIRGAS 2000 / UTM zone 25S",
#>     BASEGEOGCRS["SIRGAS 2000",
#>         DATUM["Sistema de Referencia Geocentrico para las AmericaS 2000",
#>             ELLIPSOID["GRS 1980",6378137,298.257222101,
#>                 LENGTHUNIT["metre",1]]],
#>         PRIMEM["Greenwich",0,
#>             ANGLEUNIT["degree",0.0174532925199433]],
#>         ID["EPSG",4674]],
#>     CONVERSION["UTM zone 25S",
#>         METHOD["Transverse Mercator",
#>             ID["EPSG",9807]],
#>         PARAMETER["Latitude of natural origin",0,
#>             ANGLEUNIT["degree",0.0174532925199433],
#>             ID["EPSG",8801]],
#>         PARAMETER["Longitude of natural origin",-33,
#>             ANGLEUNIT["degree",0.0174532925199433],
#>             ID["EPSG",8802]],
#>         PARAMETER["Scale factor at natural origin",0.9996,
#>             SCALEUNIT["unity",1],
#>             ID["EPSG",8805]],
#>         PARAMETER["False easting",500000,
#>             LENGTHUNIT["metre",1],
#>             ID["EPSG",8806]],
#>         PARAMETER["False northing",10000000,
#>             LENGTHUNIT["metre",1],
#>             ID["EPSG",8807]]],
#>     CS[Cartesian,2],
#>         AXIS["(E)",east,
#>             ORDER[1],
#>             LENGTHUNIT["metre",1]],
#>         AXIS["(N)",north,
#>             ORDER[2],
#>             LENGTHUNIT["metre",1]],
#>     USAGE[
#>         SCOPE["Engineering survey, topographic mapping."],
#>         AREA["Brazil - between 36°W and 30°W, northern and southern hemispheres, onshore and offshore."],
#>         BBOX[-23.8,-36,4.19,-29.99]],
#>     ID["EPSG",31985]]
#> 
#> 
#> [[2]]
#> [[2]]$path
#> [1] "/tmp/RtmpYYDtly/temp_libpath2b43a87fec8ad7/sen2r/extdata/out/S2A2A_20190723_022_Barbellino_BOA_10.tif"
#> 
#> [[2]]$valid
#> [1] TRUE
#> 
#> [[2]]$res
#>  x  y 
#> 10 10 
#> 
#> [[2]]$size
#>  x  y 
#> 24 42 
#> 
#> [[2]]$bbox
#>    xmin    ymin    xmax    ymax 
#>  580560 5101700  580800 5102120 
#> 
#> [[2]]$proj
#> Coordinate Reference System:
#>   User input: WGS 84 / UTM zone 32N 
#>   wkt:
#> PROJCRS["WGS 84 / UTM zone 32N",
#>     BASEGEOGCRS["WGS 84",
#>         DATUM["World Geodetic System 1984",
#>             ELLIPSOID["WGS 84",6378137,298.257223563,
#>                 LENGTHUNIT["metre",1]]],
#>         PRIMEM["Greenwich",0,
#>             ANGLEUNIT["degree",0.0174532925199433]],
#>         ID["EPSG",4326]],
#>     CONVERSION["UTM zone 32N",
#>         METHOD["Transverse Mercator",
#>             ID["EPSG",9807]],
#>         PARAMETER["Latitude of natural origin",0,
#>             ANGLEUNIT["degree",0.0174532925199433],
#>             ID["EPSG",8801]],
#>         PARAMETER["Longitude of natural origin",9,
#>             ANGLEUNIT["degree",0.0174532925199433],
#>             ID["EPSG",8802]],
#>         PARAMETER["Scale factor at natural origin",0.9996,
#>             SCALEUNIT["unity",1],
#>             ID["EPSG",8805]],
#>         PARAMETER["False easting",500000,
#>             LENGTHUNIT["metre",1],
#>             ID["EPSG",8806]],
#>         PARAMETER["False northing",0,
#>             LENGTHUNIT["metre",1],
#>             ID["EPSG",8807]]],
#>     CS[Cartesian,2],
#>         AXIS["(E)",east,
#>             ORDER[1],
#>             LENGTHUNIT["metre",1]],
#>         AXIS["(N)",north,
#>             ORDER[2],
#>             LENGTHUNIT["metre",1]],
#>     USAGE[
#>         SCOPE["Engineering survey, topographic mapping."],
#>         AREA["Between 6°E and 12°E, northern hemisphere between equator and 84°N, onshore and offshore. Algeria. Austria. Cameroon. Denmark. Equatorial Guinea. France. Gabon. Germany. Italy. Libya. Liechtenstein. Monaco. Netherlands. Niger. Nigeria. Norway. Sao Tome and Principe. Svalbard. Sweden. Switzerland. Tunisia. Vatican City State."],
#>         BBOX[0,6,84,12]],
#>     ID["EPSG",32632]]
#> 
#> 

# Output with an invalid raster
examplenames <- c(
  examplenames, 
  system.file("extdata/settings/gdal_formats.json", package="sen2r")
)
raster_metadata(examplenames, c("bbox", "proj"))
#> trying to read file: /tmp/RtmpYYDtly/temp_libpath2b43a87fec8ad7/sen2r/extdata/settings/gdal_formats.json
#>                                                                                                     path
#> 1:                              /home/lranghetti/R/x86_64-pc-linux-gnu-library/4.3/stars/tif/L7_ETMs.tif
#> 2: /tmp/RtmpYYDtly/temp_libpath2b43a87fec8ad7/sen2r/extdata/out/S2A2A_20190723_022_Barbellino_BOA_10.tif
#> 3:                   /tmp/RtmpYYDtly/temp_libpath2b43a87fec8ad7/sen2r/extdata/settings/gdal_formats.json
#>    valid     xmin    ymin     xmax    ymax       proj
#> 1:  TRUE 288776.3 9110729 298722.8 9120761 EPSG:31985
#> 2:  TRUE 580560.0 5101700 580800.0 5102120 EPSG:32632
#> 3: FALSE       NA      NA       NA      NA       <NA>