From 17264378f5c260b21dcdd45667d87445c05b92c4 Mon Sep 17 00:00:00 2001 From: Zivan Karaman <30553159+zivankaraman@users.noreply.github.com> Date: Sat, 17 Aug 2024 22:17:52 +0200 Subject: [PATCH] vignettes --- vignettes/BeforeYouStart.Rmd | 100 +++++++++++ vignettes/CDSE.Rmd | 319 +++++++++++++++++++++++++++++++++++ vignettes/service_health.png | Bin 0 -> 113999 bytes 3 files changed, 419 insertions(+) create mode 100644 vignettes/BeforeYouStart.Rmd create mode 100644 vignettes/CDSE.Rmd create mode 100644 vignettes/service_health.png diff --git a/vignettes/BeforeYouStart.Rmd b/vignettes/BeforeYouStart.Rmd new file mode 100644 index 0000000..a7b8055 --- /dev/null +++ b/vignettes/BeforeYouStart.Rmd @@ -0,0 +1,100 @@ +--- +title: "Before you start" +output: + pdf_document: + df_print: tibble + toc: yes +urlcolor: blue +vignette: > + %\VignetteIndexEntry{Before you start} + %\VignetteEncoding{UTF-8} + %\VignetteEngine{knitr::rmarkdown} +--- + +```{r label = "knitr options", include = FALSE, purl = FALSE} +knitr::opts_chunk$set( + fig.width = 7, + fig.height = 4, + out.width = "100%", + fig.align = "center", + collapse = TRUE, + comment = "#>" +) +``` + +```{r label = "setup", include = FALSE} +library(CDSE) +``` + +# Introduction + +The `CDSE` package for R was developed to allow access to the '[Copernicus Data Space Ecosystem](https://dataspace.copernicus.eu/)' data and services from R. The `'Copernicus Data Space Ecosystem'`, deployed in 2023, offers access to the EO data collection from the Copernicus missions, with discovery and download capabilities and numerous data processing tools. In particular, the ['Sentinel Hub' API](https://documentation.dataspace.copernicus.eu/APIs/SentinelHub.html) provides access to the multi-spectral and multi-temporal big data satellite imagery service, capable of fully automated, real-time processing and distribution of remote sensing data and related EO products. Users can use APIs to retrieve satellite data over their AOI and specific time range from full archives in a matter of seconds. When working on the application of EO where the area of interest is relatively small compared to the image tiles distributed by Copernicus (100 x 100 km), it allows to retrieve just the portion of the image of interest rather than downloading the huge tile image file and processing it locally. The goal of the `CDSE` package is to provide easy access to this functionality from R. + +The main functions allow to search the catalog of available imagery from the Sentinel-1, Sentinel-2, Sentinel-3, and Sentinel-5 missions, and to process and download the images of an area of interest and a time range in various formats. Other functions might be added in subsequent releases of the package. + +# Accessing CDSE data and services + +Access to the `'Copernicus Data Space Ecosystem'` is free, but you have to register to use the API. You can create a free account as explained in [User registration and authentication](https://documentation.dataspace.copernicus.eu/Registration.html). The free account has some limitations and quotas applied to it, but it should be sufficient for most individual users. The details are provided in [Quotas and Limitations](https://documentation.dataspace.copernicus.eu/Quotas.html). + +# API authentication + +Most of the API functions require a specific authentication. The API uses OAuth2 Authentication and requires that you have an access token. In essence, this is a piece of information you add to your requests so the server knows it's you. To be able to request a token, you need to register an OAuth Client in your [account settings](https://shapps.dataspace.copernicus.eu/dashboard/#/account/settings). Here you will obtain your client credentials - client id and client secret. You will use these client credentials to authenticate with the API. **Make sure to copy your personal OAuth secret, as you will not be able to see it again!** You can find more details on the documentation page dedicated to [API authentication](https://documentation.dataspace.copernicus.eu/APIs/SentinelHub/Overview/Authentication.html). + +# Storing client credentials + +You should store your client credentials securely. Do not hard-code them (include as clear text) in scripts, particularly in the scripts shared with others. Don't save them to a repository (like Git) or to a shared folder.\ +You can of course provide the credentials every time they are needed, but this is a very cumbersome approach.\ +A simple way to keep them persistently available is to store them as system environment variables. This can be achieved by defining them in your personal or project-level `.Renviron` file. We recommend this method for its simplicity and use it in our examples. You could also set the environment variables with `Sys.setenv()`, but you should note that is not persistent; the values are lost when the R session terminates. Another option is to store them in the global `options()`, typically in your personal `.Rprofile`. These two options require the name-value pairs, for example, `CDSE_ID = "yourid"` and `CDSE_SECRET = "yoursecret"`. You can find more information about dealing with sensitive information in R at [Managing secrets](https://cran.r-project.org/web/packages/httr/vignettes/secrets.html). + +# OAuth authentication client + +The recommended way to authenticate with the CDSE API is to use the `httr2_oauth_client` object (from the `httr2` package) returned by the `GetOAuthClient` function, as shown below. You have to provide your client credentials as arguments to the function. The returned object should be passed as the `client` argument to the functions requiring the authentication. The underlying services in the `httr2` package will automatically take care of the authentication lifecycle management (refreshing token, etc.). + +*The credentials have been obfuscated in the output.* + +```{r label = "GetOAuthClient", eval = FALSE} +id <- Sys.getenv("CDSE_ID") +secret <- Sys.getenv("CDSE_SECRET") +OAuthClient <- GetOAuthClient(id = id, secret = secret) +class(OAuthClient) +#> [1] "httr2_oauth_client" +OAuthClient +#> +#> name: x9x99xx99x9xx99xx99xx9xx99x99x99 +#> id: xx-9x999x9x-9999-999x-xxxx-x9999x99x99x +#> secret: +#> token_url: https://identity.dataspace.copernicus.eu/auth/realms/CDSE/protocol/openid-connect/token +#> auth: oauth_client_req_auth_header +``` + +However, it should be noted that the object returned by the `GetOAuthClient` function has not been validated against the backend. The credentials provided will only be checked the first time this object is used in a query. Therefore, even if the `GetOAuthClient` function does not raise an error you cannot assume that your credentials have been accepted by the backend. To demonstrate it, you can provide a dummy id, secret, and URL, and no error will be raised at this stage. + +```{r label = "Dummy OAuthClient", eval = TRUE} +id <- "my_dummy_id" +secret <- "my_dummy_secret" +OAuthClient <- GetOAuthClient(id = id, secret = secret, url = "https://my_dummy_url.org") +class(OAuthClient) +OAuthClient +``` + +# OAuth authentication token + +In order to be able to check immediately if your credentials work correctly, we have provided another authentication function called `GetOAuthToken`. It takes the same arguments as the above mentioned `GetOAuthClient` function, but it verifies the credentials immediately. If successful, it returns a connection token, (very long) string that can be be passed as the `token` argument to the functions requiring the authentication. If your credentials have been refused by the backend, an error is raised. Please not that in this case you must explicitly take care yourself of the token lifecycle management. We therefore recommend that you use this function only to test that your credentials work, but to prefer passing the object returned by the `GetOAuthClient` as the `client` argument to the functions from the `CDSE` package that require authentication. + +*The token has been obfuscated and shortened in the output.* + +```{r label = "GetOAuthToken", eval = FALSE} +id <- Sys.getenv("CDSE_ID") +secret <- Sys.getenv("CDSE_SECRET") +OAuthToken <- GetOAuthToken(id = id, secret = secret) +class(OAuthToken) +#> [1] "character" +OAuthToken +#> [1] "xxXxxXxxXxXXXxX9XxXxXxX9xXXxXxXxxXXxxxx9xxXxX9XXXXx9X9xXxX9XxXXXxxX9xXXXxx......" +``` + +# Note for Windows users + +On some Windows systems, depending on the network and security settings, the things might not work out of the box. If you get an error while connecting to the CDSE API complaining about SSL/TLS handshake problem, try setting the environment variable `CURL_SSL_BACKEND` to `openssl` **before** using the functions from the `CDSE` package. You can restart R session, and type `Sys.setenv(CURL_SSL_BACKEND = "openssl")` before using the `CDSE` package. Even better, you can permanently set this environment variable in your `.Renviron` file (by adding the line `CURL_SSL_BACKEND = "openssl"`) or setting it in your Windows system settings environment variables. + +You can find more information about this issue [here](https://cran.r-project.org/web/packages/curl/vignettes/windows.html). diff --git a/vignettes/CDSE.Rmd b/vignettes/CDSE.Rmd new file mode 100644 index 0000000..5d8aa9e --- /dev/null +++ b/vignettes/CDSE.Rmd @@ -0,0 +1,319 @@ +--- +title: "Using 'Copernicus Data Space Ecosystem' API Wrapper" +output: + pdf_document: + df_print: tibble + toc: yes + toc_depth: '2' + fig_caption: yes +urlcolor: blue +vignette: > + %\VignetteIndexEntry{Worked examples using CDSE API wrapper} + %\VignetteEncoding{UTF-8} + %\VignetteEngine{knitr::rmarkdown} +--- + +```{r label = "knitr options", include = FALSE, purl = FALSE} +knitr::opts_chunk$set( + fig.width = 7, + fig.height = 4, + out.width = "100%", + fig.align = "center", + collapse = TRUE, + comment = "#>" +) +``` + +```{r label = "setup", include = FALSE} +library(CDSE) +options(warn = -1) +``` + +\newpage + +# Introduction + +The `CDSE` package for R was developed to allow access to the '[Copernicus Data Space Ecosystem](https://dataspace.copernicus.eu/)' data and services from R. The `'Copernicus Data Space Ecosystem'`, deployed in 2023, offers access to the EO data collection from the Copernicus missions, with discovery and download capabilities and numerous data processing tools. In particular, the ['Sentinel Hub' API](https://documentation.dataspace.copernicus.eu/APIs/SentinelHub.html) provides access to the multi-spectral and multi-temporal big data satellite imagery service, capable of fully automated, real-time processing and distribution of remote sensing data and related EO products. Users can use APIs to retrieve satellite data over their AOI and specific time range from full archives in a matter of seconds. When working on the application of EO where the area of interest is relatively small compared to the image tiles distributed by Copernicus (100 x 100 km), it allows to retrieve just the portion of the image of interest rather than downloading the huge tile image file and processing it locally. The goal of the `CDSE` package is to provide easy access to this functionality from R. + +The main functions allow to search the catalog of available imagery from the Sentinel-1, Sentinel-2, Sentinel-3, and Sentinel-5 missions, and to process and download the images of an area of interest and a time range in various formats. Other functions might be added in subsequent releases of the package. + +# API authentication + +Most of the API functions require OAuth2 authentication. The recommended procedure is to obtain an authentication client object from the `GetOAuthClient` function and pass it as the `client` argument to the functions requiring the authentication. For more detailed information, you are invited to consult the "`Before you start`" document. + +```{r label = "GetOAuthClient"} +id <- Sys.getenv("CDSE_ID") +secret <- Sys.getenv("CDSE_SECRET") +OAuthClient <- GetOAuthClient(id = id, secret = secret) +``` + +## *Note* + +*In this document, the data.frames are output as tibbles since it renders better in PDF. However, all the functions produce standard data.frames.* + +# Collections + +We can get the list of all the imagery collections available in the `'Copernicus Data Space Ecosystem'`. By default, the list is formatted as a data.frame listing the main collection features. It is also possible to obtain the raw list with all information by setting the argument `as_data_frame` to `FALSE`. + +```{r label = "get collections"} +collections <- GetCollections(as_data_frame = TRUE) +collections +``` + +\newpage + +# Catalog search + +The imagery catalog can be searched by spatial and temporal extent for every collection present in the `'Copernicus Data Space Ecosystem'`. For the spatial filter, you can provide either a `sf` or `sfc` object from the `sf` package, typically a (multi)polygon, describing the Area of Interest, or a numeric vector of four elements describing the bounding box of interest. For the temporal filter, you must specify the time range by either `Date` or `character` values that can be converted to date by `as.Date` function. Open intervals (one side only) can be obtained by providing the `NA` or `NULL` value for the corresponding argument. + +```{r label = "search catalog"} +dsn <- system.file("extdata", "luxembourg.geojson", package = "CDSE") +aoi <- sf::read_sf(dsn, as_tibble = FALSE) +images <- SearchCatalog(aoi = aoi, from = "2023-07-01", to = "2023-07-31", + collection = "sentinel-2-l2a", with_geometry = TRUE, client = OAuthClient) +images +``` + +We can visualize the coverage of the area of interest by the satellite image tiles by plotting the footprints of the available images and showing the region of interest in red. + +```{r label = "turn off global device", include = FALSE} +knitr::opts_knit$set(global.device = FALSE) +``` + +```{r label = "plot AOI coverage", fig.cap = "Luxembourg image tiles coverage"} +library(maps) +days <- range(as.Date(images$acquisitionDate)) +maps::map(database = "world", col = "lightgrey", fill = TRUE, mar = c(0, 0, 4, 0), + xlim = c(3, 9), ylim = c(47.5, 51.5)) +plot(sf::st_geometry(aoi), add = TRUE, col = "red", border = FALSE) +plot(sf::st_geometry(images), add = TRUE) +title(main = sprintf("AOI coverage by image tiles for period %s", + paste(days, collapse = " / ")), line = 1L, cex.main = 0.75) +``` + +Some tiles cover only a small fraction of the area of interest, while others cover almost the entire area. + +```{r label = "summary AOI coverage"} +summary(images$areaCoverage) +``` + +The tile number can be obtained from the image attribute `sourceId`, as explained [here](https://sentiwiki.copernicus.eu/web/s2-products). We can therefore summarize the distribution of area coverage by tile number, and see which tiles provide the best coverage of the AOI. + +```{r label = "by tileNumber"} +tileNumber <- substring(images$sourceId, 39, 44) +by(images$areaCoverage, INDICES = tileNumber, FUN = summary) +``` + +## Catalog by season + +Sometimes one can be interested in only a given period of each year, for example, the images taken during the summer months (June to August). We can filter an existing image catalog *a posteriori* using the `SeasonalFilter` function. + +```{r label = "seasonal filter on catalog"} +dsn <- system.file("extdata", "centralpark.geojson", package = "CDSE") +aoi <- sf::read_sf(dsn, as_tibble = FALSE) +images <- SearchCatalog(aoi = aoi, from = "2021-01-01", to = "2023-12-31", + collection = "sentinel-2-l2a", with_geometry = FALSE, filter = "eo:cloud_cover < 5", + client = OAuthClient) +dim(images) +summer_images <- SeasonalFilter(images, from = "2021-06-01", to = "2023-08-31") +dim(summer_images) +``` + +It is also possible to query the API directly on the desired seasonal periods by using a vectorized version of the `SearchCatalog` function. The vectorized versions allow running a series of queries having the same parameter values except for either time range, AOI, or the bounding box parameters, using `lapply` or similar function, and thus potentially also using the parallel processing. + +```{r label = "seasonal query on catalog"} +dsn <- system.file("extdata", "centralpark.geojson", package = "CDSE") +aoi <- sf::read_sf(dsn, as_tibble = FALSE) +seasons <- SeasonalTimerange(from = "2021-06-01", to = "2023-08-31") +lst_summer_images <- lapply(seasons, SearchCatalogByTimerange, aoi = aoi, + collection = "sentinel-2-l2a", filter = "eo:cloud_cover < 5", with_geometry = FALSE, + client = OAuthClient) +summer_images <- do.call(rbind, lst_summer_images) +dim(summer_images) +summer_images <- summer_images[rev(order(summer_images$acquisitionDate)), ] +row.names(summer_images) <- NULL +summer_images +``` + +\newpage + +# Scripts + +As we shall see in the examples below, we have to provide a `script` argument to the `GetArchiveImage` function. + +An evalscript (or "custom script") is a piece of JavaScript code that defines how the satellite data shall be processed by the API and what values the service shall return. It is a required part of any request involving data processing, such as retrieving an image of the area of interest. + +The evaluation scripts can use any JavaScript function or language structures, along with certain utility functions provided by the API for user convenience. Chrome V8 JavaScript engine is used for running the evalscripts. + +The evaluation scripts are passed as the `script` argument to the `GetArchiveImage` function. It has to be either a character string containing the evaluation script or the name of the file containing the script. The `scripts` folder of this package contains a few examples of evaluation scripts. + +It is beyond the scope of this document to provide guidance for writing scripts, we encourage users to consult the API [Beginners Guide](https://docs.sentinel-hub.com/api/latest/user-guides/beginners-guide/) and [Evalscript (custom script)](https://docs.sentinel-hub.com/api/latest/evalscript/) documentation. You can find a big collection of custom scripts that you can readily use in this [repository](https://custom-scripts.sentinel-hub.com/). + +\newpage + +# Retrieving images + +## Retrieving AOI satellite image as a raster object + +One of the most important features of the API is its ability to extract only the part of the images covering the area of interest. If the AOI is small as in the example below, this is a significant gain in efficiency (download, local processing) compared to getting the whole tile image and processing it locally. + +```{r label = "search catalog to select image"} +dsn <- system.file("extdata", "centralpark.geojson", package = "CDSE") +aoi <- sf::read_sf(dsn, as_tibble = FALSE) +images <- SearchCatalog(aoi = aoi, from = "2021-05-01", to = "2021-05-31", + collection = "sentinel-2-l2a", with_geometry = TRUE, client = OAuthClient) +images +summary(images$areaCoverage) +``` + +As the area is small, it is systematically fully covered by all available images. We shall select the date with the least cloud cover, and retrieve the NDVI values as a `SpatRaster` from package `terra`. This allows further processing of the data, as shown below by replacing all negative values with zero. The size of the pixels is specified directly by the `resolution` argument. We are also adding a 100-meter `buffer` around the area of interest and `mask`ing the pixels outside of the AOI. + +```{r label = "retrieve the NDVI image", fig.cap = "Central Park NDVI raster"} +day <- images[order(images$tileCloudCover), ]$acquisitionDate[1] +script_file <- system.file("scripts", "NDVI_float32.js", package = "CDSE") +ras <- GetImage(aoi = aoi, time_range = day, script = script_file, + collection = "sentinel-2-l2a", format = "image/tiff", mosaicking_order = "leastCC", + resolution = 10, mask = TRUE, buffer = 100, client = OAuthClient) +ras +ras[ras < 0] <- 0 +terra::plot(ras, main = paste("Central Park NDVI on", day), cex.main = 0.75, + col = colorRampPalette(c("darkred", "yellow", "darkgreen"))(99)) + +``` + +## Retrieving AOI satellite image as an image file + +If we don't want to process the satellite image locally but simply use it as an image file (to include in a report or a Web page, for example), we can use the appropriate script that will render a three-band raster for RGB layers (or one for black-and-white image). Here we specify the area of interest by its bounding box instead of the exact geometry. We also demonstrate that the evaluation script can be passed as a single character string, and provide the number of pixels in the output image rather than the size of individual pixels - it makes more sense if the image is intended for display and not processing. + +```{r label="retrieve RGB image", fig.cap="Central Park image as PNG file", fig.width=5, fig.height=3, warning=FALSE} +bbox <- as.numeric(sf::st_bbox(aoi)) +script_text <- paste(readLines(system.file("scripts", "TrueColorS2L2A.js", + package = "CDSE")), collapse = "\n") +cat(c(readLines(system.file("scripts", "TrueColorS2L2A.js", package = "CDSE"), n = 15), + "..."), sep = "\n") +png <- tempfile("img", fileext = ".png") +GetImage(bbox = bbox, time_range = day, script = script_text, + collection = "sentinel-2-l2a", file = png, format = "image/png", + mosaicking_order = "leastCC", pixels = c(600, 950), client = OAuthClient) +terra::plotRGB(terra::rast(png)) +``` + +## Retrieving a series of images in a batch + +It often happens that one is interested in acquiring a series of images of a particular zone (AOI or bounding box) for several dates, or the images of different areas of interest for the same date (probably located close to each other so that they are visited on the same day). The `GetImageBy*` functions (`GetImageByTimerange`, `GetImageByAOI`, `GetImageByBbox`) facilitate this task as they are specifically crafted for being called from a `lapply`-like function, and thus potentially be executed in parallel. We shall illustrate how to do this with an example. + +```{r label="retrieve images in parallel", fig.cap="Central Park monthly NDVI"} +dsn <- system.file("extdata", "centralpark.geojson", package = "CDSE") +aoi <- sf::read_sf(dsn, as_tibble = FALSE) +cloudless_images <- SearchCatalog(aoi = aoi, from = "2023-01-01", to = "2023-12-31", + collection = "sentinel-2-l2a", with_geometry = TRUE, filter = "eo:cloud_cover < 0.8", + client = OAuthClient) +script_file <- system.file("scripts", "NDVI_float32.js", package = "CDSE") +days <- rev(cloudless_images$acquisitionDate) +tmp_folder <- tempfile("dir") +if (!dir.exists(tmp_folder)) dir.create(tmp_folder) +cl <- parallel::makeCluster(4) +ans <- parallel::clusterExport(cl, list("tmp_folder"), envir = environment()) +ans <- parallel::clusterEvalQ(cl, {library(CDSE)}) +lstRast <- parallel::parLapply(cl, days, fun = function(x, ...) { + GetImageByTimerange(x, file = sprintf("%s/img_%s.tiff", tmp_folder, x), ...)}, + aoi = aoi, collection = "sentinel-2-l2a", script = script_file, + format = "image/tiff", mosaicking_order = "mostRecent", resolution = 10, + buffer = 0, mask = TRUE, client = OAuthClient) +parallel::stopCluster(cl) +par(mfrow = c(3, 4)) +ans <- sapply(seq_along(days), FUN = function(i) { + ras <- terra::rast(lstRast[[i]]) + day <- days[i] + ras[ras < 0] <- 0 + terra::plot(ras, main = paste("Central Park NDVI on", day), range = c(0, 1), + cex.main = 0.7, pax = list(cex.axis = 0.5), plg = list(cex = 0.5), + col = colorRampPalette(c("darkred", "yellow", "darkgreen"))(99)) + }) +``` + +In this particular example, parallelization is not necessarily beneficial as we are retrieving only 12 images, but for a large number of images, it can significantly reduce the execution time. + +\newpage + +# Retrieving statistics + +If you are only interested in calculating the average value (or some other statistic) of some index or just the raw band values, the [Statistical API](https://documentation.dataspace.copernicus.eu/APIs/SentinelHub/Statistical.html) enables you to get statistics calculated based on satellite imagery without having to download images. You need to specify your area of interest, time period, evalscript, and which statistical measures should be calculated. The requested statistics are returned as a `data.frame` or as a `list`. + +## Statistical evalscripts + +All general rules for building evalscripts apply. However, there are some specifics when using evalscripts with the Statistical API: + +- The `evaluatePixel()` function must, in addition to other output, always return also `dataMask` output. This output defines which pixels are excluded from calculations. For more details and an example, see here. + +- The default value of `sampleType` is `FLOAT32`. + +- The output.bands parameter in the `setup()` function can be an array. This makes it possible to specify custom names for the output bands and different output `dataMask` for different outputs. + +## Retrieving simple statistics + +Besides the time range, you have to specify the way you want the values to be aggregated over time. For this you use the `aggregation_period` and `aggregation_unit` arguments. The `aggregation_unit` must be one of `day`, `week`, `month` or `year`, and the `aggregation_period` providing the number of `aggregation_units` (days, weeks, ...) over which the statistics are calculated. The default values are "1" and "day", producing the daily statistics. If the last interval in the given time range isn't divisible by the provided aggregation interval, you can skip the last interval (default behavior), shorten the last interval so that it ends at the end of the provided time range, or extend the last interval over the end of the provided time range so that all intervals are of equal duration. This is controlled by the value of the `lastIntervalBehavior` argument. + +```{r label="simple statistics"} + +dsn <- system.file("extdata", "centralpark.geojson", package = "CDSE") +aoi <- sf::read_sf(dsn, as_tibble = FALSE) +script_file <- system.file("scripts", "NDVI_CLOUDS_STAT.js", package = "CDSE") +daily_stats <- GetStatistics(aoi = aoi, time_range = c("2023-07-01", "2023-07-31"), + collection = "sentinel-2-l2a", script = script_file, mosaicking_order = "leastCC", + resolution = 100, aggregation_period = 1, client = OAuthClient) +weekly_stats <- GetStatistics(aoi = aoi, time_range = c("2023-07-01", "2023-07-31"), + collection = "sentinel-2-l2a", script = script_file,mosaicking_order = "leastCC", + resolution = 100, aggregation_period = 7, client = OAuthClient) +weekly_stats_extended <- GetStatistics(aoi = aoi, + time_range = c("2023-07-01", "2023-07-31"), collection = "sentinel-2-l2a", + script = script_file, mosaicking_order = "leastCC", resolution = 100, + aggregation_period = 1, aggregation_unit = "w", lastIntervalBehavior = "EXTEND", + client = OAuthClient) +daily_stats +weekly_stats +weekly_stats_extended +``` + +In this example we have demonstrated that a week can be specified as either 7 days or 1 week. + +## Retrieving statistics with percentiles + +Besides the basic statistics (min, max, mean, stDev), one can also request to compute the percentiles. If the percentiles requested are 25, 50, and 75, the corresponding output is renamed 'q1', 'median', and 'q3'. + +```{r label="simple statistics and percentiles"} +daily_stats <- GetStatistics(aoi = aoi, time_range = c("2023-07-01", "2023-07-31"), + collection = "sentinel-2-l2a", script = script_file, mosaicking_order = "leastCC", + resolution = 100, aggregation_period = 1, percentiles = c(25, 50, 75), + client = OAuthClient) +head(daily_stats, n = 10) +weekly_stats <- GetStatistics(aoi = aoi, time_range = c("2023-07-01", "2023-07-31"), + collection = "sentinel-2-l2a", script = script_file,mosaicking_order = "leastCC", + resolution = 100, aggregation_period = 7, percentiles = seq(10, 90, by = 10), + client = OAuthClient) +head(weekly_stats, n = 10) +``` + +## Retrieving a series of statistics in a batch + +Just as when retrieving satellite images, one can be interested in acquiring a series of statistics for a particular zone (AOI or bounding box) for several dates, or the statistics of different zones for the same periods. The `GetStatisticsBy*` functions (`GetStatisticsByTimerange`, `GetStatisticsByAOI`, `GetStatisticsByBbox`) facilitate this task as they are specifically crafted for being called from a `lapply`-like function, and thus potentially be executed in parallel. The following example illustrates how to do this. + +```{r label="series of statistics"} +dsn <- system.file("extdata", "centralpark.geojson", package = "CDSE") +aoi <- sf::read_sf(dsn, as_tibble = FALSE) +script_file <- system.file("scripts", "NDVI_dataMask_float32.js", package = "CDSE") +seasons <- SeasonalTimerange(from = "2020-06-01", to = "2023-08-31") +lst_stats <- lapply(seasons, GetStatisticsByTimerange, aoi = aoi, + collection = "sentinel-2-l2a", script = script_file, mosaicking_order = "leastCC", + resolution = 100, aggregation_period = 7L, client = OAuthClient) +weekly_stats <- do.call(rbind, lst_stats) +weekly_stats <- weekly_stats[order(weekly_stats$from), ] +row.names(weekly_stats) <- NULL +head(weekly_stats) +``` + +# Copernicus Data Space Ecosystem services status + +If you encounter any connection issues while using this package, please check your internet connection first. If your internet connection is working fine, you can also check the status of the Copernicus Data Space Ecosystem services by visiting [this](https://dashboard.dataspace.copernicus.eu/#/service-health) webpage. It provides a quasi real-time status of the various services provided. Once you are on the webpage, scroll down to Sentinel Hub, and pay particular attention to the Process API (used for retrieving images), Catalog API (used for catalog searches), and Statistical API (used for retrieving statistics). + +[![Copernicus Data Space Ecosystem Service Health](service_health.png)](https://dashboard.dataspace.copernicus.eu/#/service-health) diff --git a/vignettes/service_health.png b/vignettes/service_health.png new file mode 100644 index 0000000000000000000000000000000000000000..2d38747dc82ac4ba66238ef3a36484fb763737f9 GIT binary patch literal 113999 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