Package 'Rwtss'

Title: Client for Web Time-Series Service
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.
Authors: Gilberto Queiroz [aut] , Gilberto Camara [aut] , Pedro Andrade [aut] , Felipe Souza [aut, cre], Luiz Assis [aut]
Maintainer: Felipe Souza <[email protected]>
License: GPL-3
Version: 0.9.2
Built: 2024-11-08 04:59:13 UTC
Source: https://github.com/cran/Rwtss

Help Index


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 [email protected]

Authors:

See Also

Useful links:


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, [email protected]


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, [email protected]


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, [email protected]


Pipe

Description

Magrittr compound assignment pipe-operator.

Arguments

lhs, rhs

A visualisation and a function to apply to it.


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, [email protected]

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, [email protected]

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, [email protected]

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)