Title: | Client for Web Time-Series Service |
Version: | 0.9.2 |
Maintainer: | Felipe Souza <lipecaso@gmail.com> |
Description: | Allows remote access to satellite image time series provided by the web time series service (WTSS) available at servers such as https://brazildatacube.dpi.inpe.br/wtss/. The functions include listing the data sets available in WTSS servers, describing the contents of a data set, and retrieving a time series based on spatial location and temporal filters. |
URL: | https://github.com/e-sensing/Rwtss/ |
BugReports: | https://github.com/e-sensing/Rwtss/issues |
ByteCompile: | true |
LazyData: | true |
License: | GPL-3 |
Encoding: | UTF-8 |
Depends: | R (≥ 3.6.0) |
Imports: | assertthat, dplyr, geosphere, ggplot2, reshape2, jsonlite, lubridate, magrittr, purrr, httr, stats, stringr, tibble, zoo |
RoxygenNote: | 7.1.2 |
Suggests: | bfast, knitr, rmarkdown, roxygen2, testthat, spelling, vcr |
VignetteBuilder: | knitr |
Language: | en-US |
NeedsCompilation: | no |
Packaged: | 2022-04-22 19:40:29 UTC; sits |
Author: | Gilberto Queiroz |
Repository: | CRAN |
Date/Publication: | 2022-04-25 08:50:05 UTC |
Rwtss
Description
An R client to the web time series service (WTSS)
Rwtss API
Implements an R interface to a web time series service (WTSS) that offers time series of remote sensing data using a simple API. A WTSS server takes as input an Earth observation data cube, that has a spatial and a temporal dimension and can be multidimensional in terms of its attributes.
The WTSS API has four commands:
'wtss': given an URL, creates a connection to a WTSS service
'list_coverages': returns a list of coverages (cubes) available in the WTSS server.
'describe_coverage': returns the metadata for a given coverage.
'time_series': returns a time series for a spatio-temporal location.
Author(s)
Maintainer: Felipe Souza lipecaso@gmail.com
Authors:
Gilberto Queiroz gilberto.queiroz@inpe.br (ORCID)
Gilberto Camara gilberto.camara@inpe.br (ORCID)
Pedro Andrade pedro.andrade@inpe.br (ORCID)
Luiz Assis luiz.assis@inpe.br
See Also
Useful links:
Pipe
Description
Magrittr compound assignment pipe-operator.
Arguments
lhs , rhs |
A visualisation and a function to apply to it. |
Decodes the description from a WTSS coverage
Description
creates a tibble to store the description of the WTSS coverage
Usage
.wtss_coverage_description(URL, cov)
Arguments
URL |
URL of the coverage |
cov |
coverage response provided by WTSS service |
Get a response to the WTSS server
Description
Sends a request to the WTSS server and gets a response
Usage
.wtss_get_response(request, ...)
Arguments
request |
valid request according to the WTSS protocol |
... |
additional parameters that can be added in httr. |
Value
response from the server
Plot one timeSeries using ggplot
Description
Plots a set of time series using ggplot. This function is used for showing the same lat/long location in a series of time steps.
Usage
.wtss_ggplot_series(row, colors = "Dark2")
Arguments
row |
A row of a sits tibble with the time series to be plotted. |
colors |
The set of Brewer colors to be used for plotting. |
Try a best guess for the type of sensor/satellite
Description
Based on resolution, tries to guess what is the satellite.
Usage
.wtss_guess_satellite(xres)
Arguments
xres |
xres of the coverage |
Value
Satellite sensor pair
Author(s)
Gilberto Camara, gilberto.camara@inpe.br
Retrieves the list of cubes from the URL server
Description
Use the WTSS protocol to find out available coverages
Usage
.wtss_list_coverages(URL)
Arguments
URL |
URL of the WTSS service |
Value
updated WTSS object.
Parse a JSON response from the WTSS server
Description
Parse a JSON response from the WTSS service
Usage
.wtss_parse_json(response)
Arguments
response |
valid JSON response from the WTSS service |
Value
parsed JSON document
Process a request to the WTSS server
Description
Process a request
Usage
.wtss_process_request(request)
Arguments
request |
valid request to the WTSS service |
Value
parsed JSON document
Remove trailing dashes from a WTSS server address
Description
The WTSS URL cannot have a trailing dash. This functions checks and removes it, if present.
Usage
.wtss_remove_trailing_dash(URL)
Arguments
URL |
A WTSS URL |
Value
URL without trailing dash
Send a request to WTSS server
Description
Sends a request to the WTSS server and times out after 10 tries
Usage
.wtss_send_request(request, ...)
Arguments
request |
valid request according to the WTSS protocol |
... |
additional parameters that can be added in httr. |
Value
response from the server
Create a sits tibble to store the time series information
Description
This function returns an empty tibble that contains the satellite image time series and its metadata. The columns are <longitude, latitude, start_date, end_date, label, cube, time_series>. WTSS functions produce a tibble as output.
Usage
.wtss_tibble()
Value
A tibble.
Author(s)
Gilberto Camara, gilberto.camara@inpe.br
Processing a Time Series Result from WTSS
Description
Processing a Time Series Result from WTSS
Usage
.wtss_time_series_processing(items)
Arguments
items |
Items retrieved from WTSS server |
Value
tibble with a time series
Import time series in the zoo format to a tibble
Description
Converts data from an instance of a zoo series to a sits tibble.
Usage
.wtss_to_tibble(
ts,
name,
bands,
longitude,
latitude,
start_date,
end_date,
cov_desc
)
Arguments
ts |
list of time series retrieved by WTSS |
name |
Name of the coverage where data comes from. |
bands |
Bands to be retrieved from the time series. |
longitude |
Longitude of the chosen location. |
latitude |
Latitude of the chosen location. |
start_date |
Starting date of the time series |
end_date |
End date of the time series |
cov_desc |
Description of the WTSS coverage |
Value
Time series in sits tibble format.
Author(s)
Gilberto Camara, gilberto.camara@inpe.br
Retrieves the list of cubes from the URL server
Description
Contacts the WTSS server to describe one coverage
Usage
describe_coverage(URL, name, .print = TRUE)
Arguments
URL |
URL of the server |
name |
name of coverage |
.print |
Print the coverage description |
Value
tibble with coverage description
Examples
## Not run:
# Using external server
describe_coverage("https://brazildatacube.dpi.inpe.br/wtss/",
"LC8_30_16D_STK-1")
## End(Not run)
List the coverages available in the WTSS service
Description
Lists coverages available in the WTSS service
Usage
list_coverages(URL)
Arguments
URL |
URL of the server |
Value
vector with coverage name
Examples
## Not run:
# Using external server
list_coverages("https://brazildatacube.dpi.inpe.br/wtss/")
## End(Not run)
Example time series from MOD13Q1 product.
Description
A dataset containing a wtss tibble, with extracted time series.
Usage
data("ndvi_ts")
Format
A wtss
tibble with 388 samples. A wtss
tibble contains
data and metadata. The first six columns contain the metadata: satellite,
sensor, spatial and temporal information, and the coverage from where the
data has been extracted. The spatial location is given in longitude and
latitude coordinates for the "WGS84" ellipsoid. The 'time_series' column
contains the time series data for each spatiotemporal location.
Generic interface for ploting time series
Description
Given a tibble with a set of time series, plot them.
Usage
## S3 method for class 'wtss'
plot(x, y, ..., colors = "Dark2")
Arguments
x |
object of class "wtss" |
y |
ignored |
... |
further specifications for plot. |
colors |
Color pallete to be used (based on Color Brewer - default is "Dark2"). |
Value
Input tibble (useful for chaining functions).
Author(s)
Gilberto Camara, gilberto.camara@inpe.br
Examples
## Not run:
# Access to external service
# Read one time series from the WTSS server
# plot one time series
wtss_service <- "https://brazildatacube.dpi.inpe.br/wtss/"
ts <- Rwtss::time_series(
wtss_service,
name = "MOD13Q1-6",
attributes = c("NDVI","EVI"),
longitude = -45.00,
latitude = -12.00,
start_date = "2000-02-18",
end_date = "2016-12-18",
token = "YOUR-BDC-TOKEN")
plot(ts)
## End(Not run)
Get time series
Description
Retrieves the time series for a pair of coordinates
Usage
time_series(
URL,
name,
attributes = NULL,
longitude,
latitude,
start_date = NULL,
end_date = NULL,
token = NULL,
...
)
Arguments
URL |
URL of the server |
name |
Coverage name. |
attributes |
Vector of band names. |
longitude |
Longitude in WGS84 coordinate system. |
latitude |
Latitude in WGS84 coordinate system. |
start_date |
Start date in the format yyyy-mm-dd or yyyy-mm depending on the coverage. |
end_date |
End date in the format yyyy-mm-dd or yyyy-mm depending on the coverage. |
token |
A character with token to be add in URL. |
... |
Additional parameters that can be added in httr. |
Value
time series in a tibble format (NULL)
Author(s)
Gilberto Camara
Examples
## Not run:
# connect to a WTSS server
wtss_server <- "https://brazildatacube.dpi.inpe.br/wtss/"
# retrieve a time series
ndvi_ts <- Rwtss::time_series(wtss_server,
"LC8_30_16D_STK-1",
attributes = "NDVI",
latitude = -14.31,
longitude = -51.16,
token = "YOUR-BDC-TOKEN")
# plot the time series
plot(ndvi_ts)
## End(Not run)
Export data to be used to the ts format
Description
Converts data from a wtss tibble to a time series "ts". A WTSS tibble contains data retrieved from a WTSS server. These data sets are time series with irregular intervals. Given that of many functions that use the R "ts" format, this function converts a time series (a tibble with data and metadata) to the "ts" format. Since "ts" requires regular time series, it interpolates the original irregular time series to a regular time series. To do this, the user needs to specify a period which is recognised by the "ts" format. This period can be either "month", "week", "day", "months", "weeks", "days" or 12, 52, 365. This function creates a new time series with the required frequency and intepolates the missing values using spline interpolation from the "zoo" package (zoo::na.spline).
Usage
wtss_to_ts(data, band = NULL, period = "week")
Arguments
data |
A sits tibble with time series. |
band |
Name of the band to be exported (optional if series has only one band) |
period |
One of c("month", "week", "day"), c("months", "weeks", "days") or c(12, 52, 365) |
Value
A time series in the ts format.
Author(s)
Gilberto Camara, gilberto.camara@inpe.br
Examples
## Not run:
# connect to a WTSS server
wtss_service <- "https://brazildatacube.dpi.inpe.br/wtss/"
# retrieve a time series
ts_wtss <- Rwtss::time_series(
wtss_service,
"MOD13Q1-6",
c("NDVI","EVI"),
longitude = -45.00,
latitude = -12.00,
start_date = "2000-02-18",
end_date = "2016-12-18",
token = "YOUR-BDC-TOKEN")
# convert to ts
ts <- Rwtss::wtss_to_ts(ts_wtss, band = "NDVI")
## End(Not run)
Export data to be used to the zoo format
Description
Converts data from a tibble to a list of a zoo series.
Usage
wtss_to_zoo(data, band = NULL)
Arguments
data |
A tibble with time series. |
band |
Name of the band to be exported (if NULL all bands are exported). |
Value
List of time series in zoo format.
Author(s)
Gilberto Camara, gilberto.camara@inpe.br
Examples
## Not run:
# retrieve a time series
wtss_service <- "https://brazildatacube.dpi.inpe.br/wtss/"
ts_wtss <- Rwtss::time_series(
wtss_service,
"MOD13Q1-6",
c("NDVI","EVI"),
longitude = -45.00,
latitude = -12.00,
start_date = "2000-02-18",
end_date = "2016-12-18",
token = "YOUR-BDC-TOKEN")
# convert to zoo
zoo.lst <- Rwtss::wtss_to_zoo(ts_wtss)
## End(Not run)