Learn R Programming

⚠️There's a newer version (1.12.0) of this package.Take me there.

SITS - Satellite Image Time Series Analysis for Earth Observation Data Cubes

Overview

The sits R package provides a set of tools for analysis, visualization and classification of satellite image time series. The main aim of SITS is to support land cover and land change classification of image data cubes using machine learning methods. The basic workflow in SITS is:

  1. Create a data cube using image collections available in the cloud or in local machines.
  2. Extract time series from the data cube which are used as training data.
  3. Perform quality control and filtering on the samples.
  4. Train a machine learning model using the extracted samples.
  5. Classify the data cube using the trained model.
  6. Post-process the classified images.
  7. Evaluate the accuracy of the classification using best practices.

Installation

Pre-Requisites

The sits package relies on sf, terra and raster, which in turn, require the installation of the GDAL and PROJ libraries. Please follow the instructions for installing sf together with GDAL available at the RSpatial sf github repository.

Obtaining SITS

SITS is currently available on github, as follows:

# Please install the `sits` package from github
# and its dependencies
devtools::install_github("e-sensing/sits", dependencies = TRUE)
library(sits)
library(tibble)
library(magrittr)

AMI Image

For users that have an AWS account, we have prepared a set of AMI (Amazon Machine Images that are optimized for running SITS in the Amazon Elastic Compute Cloud (or EC2). The AMI has the following settings: SITS 0.9.6, Ubuntu 18.04, R 4.0.2, and Rstudio Server 1.3.959. All packages have been updated as of 21 August 2020. The AMI is available for the following regions:

When you create an EC2 instance based on this AMI, ensure that your ‘security group’ settings allow incoming HTTP (port 80), HTTPS (port 443) and SSH (port 20) traffic. After the EC2 instance is started, then copy-and-paste the ‘IPv4 Public IP’ address for your running instance to a web browser address bar. That should bring the RStudio server interface in your browser. Use “rstudio” as username and “e-sensing” as password.

Data Cubes

SITS has been designed to work with big satellite image data sets organised as data cubes. Data cubes can be available in the cloud or in a local machine. Currently, SITS supports data cubes available in the following cloud services:

  1. Sentinel-2/2A level 2A images in AWS.
  2. Collections of Sentinel, Landsat and CBERS images in the Brazil Data Cube (BDC).
  3. Sentinel-2/2A collections available in Digital Earth Africa.
  4. Data cubes produced by the “gdalcubes” package.
  5. Local image collections organized as raster stacks.

SITS relies on STAC services provided by these cloud services. The user can define a data cube by selecting a collection in a cloud service and then defining a space-time extent. For example, the following code will define a data cube of Sentinel-2/2A images using AWS. Users need to provide AWS credentials using environment variables.

s2_cube <- sits_cube(source = "AWS",
                     name = "T20LKP_2018_2019",
                     collection = "sentinel-s2-l2a",
                     tiles = c("20LKP"),
                     start_date = as.Date("2018-07-18"),
                     end_date = as.Date("2018-07-23"),
                     s2_resolution = 20
)

In the above example, the user has selected the “Sentinel-2 Level 2” collection in the AWS cloud services. The geographical area of the data cube is defined by the tile “20LKP”, and the temporal extent by a start and end date. Access to other cloud services works in similar ways.

Users can derive data cubes from ARD data which have pre-defined temporal resolutions. For example, a user may want to define the best Sentinel-2 pixel in a one month period, as shown below. This can be done in SITS by the sits_regularize which use the https://github.com/appelmar/gdalcubes package. For details in gdalcubes, please see Reference [4].

gc_cube <- sits_regularize(cube   = s2_cube,
                           name          = "T20LKP_2018_2019_1M",
                           dir_images    = tempdir(),
                           period        = "P1M",
                           agg_method    = "median",
                           resampling    = "bilinear",
                           cloud_mask    = TRUE)

Accessing time series in data cubes

SITS has been designed to use satellite image time series to derive machine learning models. After the data cube has been created, time series can be retreived individually or by using CSV or SHP files, as in the following example.

library(sits)
#> SITS - satellite image time series analysis.
#> Loaded sits v0.11.0.
#>         See ?sits for help, citation("sits") for use in publication.
#>         See demo(package = "sits") for examples.
#> Using configuration file: /Users/gilbertocamara/Library/R/4.0/library/sits/extdata/config.yml
#> Additional configurations found in /Users/gilbertocamara/Library/R/4.0/library/sits/extdata/config_user_example.yml
# create a cube from a local file 
data_dir <- system.file("extdata/raster/mod13q1", package = "sits")
raster_cube <- sits_cube(
        source = "LOCAL",
        name = "sinop-2014",
        satellite = "TERRA",
        sensor = "MODIS",
        data_dir = data_dir,
        delim = "_",
        parse_info = c("X1", "X2", "band", "date")
)
# obtain a set of locations defined by a CSV file
csv_raster_file <- system.file("extdata/samples/samples_sinop_crop.csv",
                               package = "sits"
)
# retrieve the points from the data cube
points <- sits_get_data(raster_cube, file = csv_raster_file)
#> All points have been retrieved
# show the points
points[1:3,]
#> # A tibble: 3 x 7
#>   longitude latitude start_date end_date   label   cube      time_series        
#>       <dbl>    <dbl> <date>     <date>     <chr>   <chr>     <list>             
#> 1     -55.7    -11.8 2013-09-14 2014-08-29 Pasture sinop-20… <tibble[,3] [23 × …
#> 2     -55.6    -11.8 2013-09-14 2014-08-29 Pasture sinop-20… <tibble[,3] [23 × …
#> 3     -55.7    -11.8 2013-09-14 2014-08-29 Forest  sinop-20… <tibble[,3] [23 × …

After a time series is imported, it is loaded in a tibble. The first six columns contain the metadata: spatial and temporal location, label assigned to the sample, and coverage from where the data has been extracted. The spatial location is given in longitude and latitude coordinates. The first sample has been labelled “Pasture”, at location (-55.65931, -11.76267), and is considered valid for the period (2013-09-14, 2014-08-29). To display the time series, use the plot() function.

plot(points[1,])

For a large number of samples, where the amount of individual plots would be substantial, the default visualisation combines all samples together in a single temporal interval.

# select the "ndvi" band
samples_ndvi <- sits_select(samples_modis_4bands, "NDVI")
# select only the samples with the cerrado label
samples_cerrado <- dplyr::filter(samples_ndvi, 
                  label == "Cerrado")
plot(samples_cerrado)

Clustering for sample quality control

Clustering methods in SITS improve the quality of the samples and to remove those that might have been wrongly labeled or that have low discriminatory power. Good samples lead to good classification maps. sits provides support for sample quality control using Self-organizing Maps (SOM).

The process of clustering with SOM is done by sits_som_map(), which creates a self-organizing map and assesses the quality of the samples. This function uses the “kohonen” R package to compute a SOM grid (see Reference [7] below). Each sample is assigned to a neuron, and neurons are placed in the grid based on similarity. The second step is the quality assessment. Each neuron will be associated with a discrete probability distribution. Homogeneous neurons (those with a single class) are assumed to be composed of good quality samples. Heterogeneous neurons (those with two or more classes with significant probability) are likely to contain noisy samples. See Chapter 4 of the sits book.

Filtering

Satellite image time series are contaminated by atmospheric influence and directional effects. To make the best use of available satellite data archives, methods for satellite image time series analysis need to deal with data sets that are noisy and non-homogeneous. For data filtering, sits supports Savitzky–Golay (sits_sgolay()), Whittaker (sits_whittaker()), and envelope (sits_envelope()). As an example, we show how to apply the Whittaker smoother to a 16-year NDVI time series. For more details, please see the vignette “Satellite Image Time Series Filtering with SITS”

# apply Whitaker filter to a time series sample for the NDVI band from 2000 to 2016
# merge with the original data
# plot the original and the modified series
point_ndvi <- sits_select(point_mt_6bands, bands = "NDVI")

point_ndvi %>% 
    sits_filter(sits_whittaker(lambda = 10)) %>% 
    sits_merge(point_ndvi) %>% 
    plot()

Time Series classification using machine learning

SITS provides support for the classification of both individual time series as well as data cubes. The following machine learning methods are available in SITS:

  • Linear discriminant analysis (sits_lda)
  • Quadratic discriminant analysis (sits_qda)
  • Multinomial logit and its variants ‘lasso’ and ‘ridge’ (sits_mlr)
  • Support vector machines (sits_svm)
  • Random forests (sits_rfor)
  • Extreme gradient boosting (sits_xgboost)
  • Deep learning (DL) using multi-layer perceptrons (sits_deeplearning)
  • DL using Deep Residual Networks (sits_ResNet) (see reference [5])
  • DL combining 1D convolution neural networks and multi-layer perceptrons (sits_TempCNN) (See reference [6])

The following example illustrate how to train a dataset and classify an individual time series. First we use the sits_train function with two parameters: the training dataset (described above) and the chosen machine learning model (in this case, extreme gradient boosting). The trained model is then used to classify a time series from Mato Grosso Brazilian state, using sits_classify. The results can be shown in text format using the function sits_show_prediction or graphically using plot.

# training data set
data("samples_modis_4bands")
# point to be classified
data("point_mt_6bands")
# Select the NDVI and EVI bands 
# Filter the band to reduce noise
# Train a deep learning model
tempCNN_model <- samples_modis_4bands %>% 
    sits_select(bands = c("NDVI", "EVI")) %>% 
    sits_whittaker(bands_suffix = "") %>% 
    sits_train(ml_method = sits_TempCNN(verbose = FALSE)) 
# Select NDVI and EVI bands of the  point to be classified
# Filter the point 
# Classify using TempCNN model
# Plot the result
point_mt_6bands %>% 
  sits_select(bands = c("ndvi", "evi")) %>% 
  sits_whittaker(bands_suffix = "") %>% 
  sits_classify(tempCNN_model) %>% 
  plot()

The following example shows how to classify a data cube organised as a set of raster images. The result can also be visualised interactively using sits_view().

# Retrieve the set of samples for the Mato Grosso region 
# Select the data for classification
# Reduce noise the bands using whittaker filter
# Build an extreme gradient boosting model
xgb_model <- samples_modis_4bands %>% 
    sits_select(bands = c("NDVI", "EVI")) %>% 
    sits_whittaker(bands_suffix = "") %>% 
    sits_train(ml_method = sits_xgboost())

# Create a data cube to be classified
# Cube is composed of MOD13Q1 images from the Sinop region in Mato Grosso (Brazil)
data_dir <- system.file("extdata/raster/mod13q1", package = "sits")
sinop <- sits_cube(
    source = "LOCAL",
    name = "sinop-2014",
    satellite = "TERRA",
    sensor = "MODIS",
    data_dir = data_dir,
    delim = "_",
    parse_info = c("X1", "X2", "band", "date")
)
# Classify the raster cube, generating a probability file
# Filter the pixels in the cube to remove noise
probs_cube <- sits_classify(sinop, 
                            ml_model = xgb_model, 
                            filter_fn = sits_whittaker())
# apply a bayesian smoothing to remove outliers
bayes_cube <- sits_smooth(probs_cube)
# generate a thematic map
label_cube <- sits_label_classification(bayes_cube)
# plot the the labelled cube
plot(label_cube, title = "Labelled image")

Additional information

For more information, please see the on-line book “SITS: Data analysis and machine learning for data cubes using satellite image timeseries”.

References

Selection of papers that use sits

  • [1] Rolf Simoes, Michelle Picoli, et al., “Land use and cover maps for Mato Grosso State in Brazil from 2001 to 2017”. Sci Data 7, 34 (2020).

  • [2] Michelle Picoli, Gilberto Camara, et al., “Big Earth Observation Time Series Analysis for Monitoring Brazilian Agriculture”. ISPRS Journal of Photogrammetry and Remote Sensing, 2018. DOI: 10.1016/j.isprsjprs.2018.08.007

  • [3] Karine Ferreira, Gilberto Queiroz et al., Earth Observation Data Cubes for Brazil: Requirements, Methodology and Products. Remote Sens. 2020, 12, 4033.

Papers that describe software used in sits

We thank the authors of these papers for making their code available to be used in sits.

  • [4] Appel, Marius, and Edzer Pebesma, “On-Demand Processing of Data Cubes from Satellite Image Collections with the Gdalcubes Library.” Data 4 (3): 1–16, 2020.

  • [5] Hassan Fawaz, Germain Forestier, Jonathan Weber, Lhassane Idoumghar, and Pierre-Alain Muller, “Deep learning for time series classification: a review”. Data Mining and Knowledge Discovery, 33(4): 917–963, 2019.

  • [6] Pelletier, Charlotte, Geoffrey I. Webb, and Francois Petitjean. “Temporal Convolutional Neural Network for the Classification of Satellite Image Time Series.” Remote Sensing 11 (5), 2019.

  • [7] Wehrens, Ron and Kruisselbrink, Johannes. “Flexible Self-Organising Maps in kohonen 3.0”. Journal of Statistical Software, 87, 7 (2018).

R packages used in sits

The authors acknowledge the contributions of Marius Appel, Tim Appelhans, Henrik Bengtsson, Matt Dowle, Robert Hijmans, Edzer Pebesma, and Ron Wehrens, respectively chief developers of the packages “gdalcubes”, “mapview”, “future”, “data.table”, “terra/raster”, “sf”/“stars”, and “kohonen”. The code in “sits” is also much indebted to the work of the RStudio team, including the “tidyverse” and the “furrr” and “keras” packages. We also thank Charlotte Pelletier and Hassan Fawaz for sharing the python code that has been reused for the “TempCNN” and “ResNet” machine learning models.

How to contribute

The SITS project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Copy Link

Version

Install

install.packages('sits')

Monthly Downloads

526

Version

0.12.0

License

GPL-2 | file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Gilberto Camara

Last Published

February 13th, 2025

Functions in sits (0.12.0)

.sits_config_resolution

Retrieve the pixel spatial resolution for a data cube
.sits_from_polygon_shp

Obtain a tibble from POLYGON geometry
.sits_config_satveg_bbox

Retrieve the bounding box for SATVEG
.sits_parallel_stop

Stop all workers of the sits cluster
.sits_classify_check_params

Check clasification parameters
.sits_config_label_missing_value

Retrieve the missing value for a label cube
.sits_distances_classify

Classify a distances tibble using machine learning models
.sits_config_aws_request_payer

Read the AWS end point from configuration file
.sits_plot_classification

Plot classification results
.sits_check_timeline

Checks that the timeline of all time series of a data set are equal
.sits_config_resampling

Retrieve the resmapling method for bands of a sensor
.sits_raster_api_open_rast

Raster package internal open raster function
.sits_aws_check_access

Check access rights on AWS
.sits_config_satveg_projection

Retrieve the projection for SATVEG service
.sits_config_bands_stac_write

Convert bands names from cube to SITS
.sits_check_crs

Checks if the crs provided is valid
cerrado_2classes

Samples of classes Cerrado and Pasture
.sits_accuracy_area_assess

Support for Area-weighted post-classification accuracy
.sits_tibble

Create a sits tibble to store the time series information
.sits_color_name

Brewer color schemes
.sits_config_aws_default_region

Read the AWS default region from configuration file
.sits_config_label_maximum_value

Retrieve the maximum value for a label cube
.sits_cube_area_freq

Given a labelled cube, return the band information
.sits_config_cube_check

Check that the cube data source is valid, based on the configuration file
.sits_probs_blocks_size_estimate

Estimate the number of blocks to run .sits_split_cluster
.sits_config_label_minimum_value

Retrieve the minimum value for a label cube
.sits_config_cube_access

Test if cube is available via URL
.sits_cluster_validity

Cluster validity indices
.sits_from_point_shp

Obtain a tibble with latitude and longitude points from POINT geometry
.sits_config_download_maxcores

Number of parallel data access
.sits_plot_classified_image

Plot a raster classified image
.sits_latlong_to_proj

Coordinate transformation (lat/long to X/Y)
.sits_config_aws_endpoint

Read the AWS end point from configuration file
.sits_config_minimum_values

Retrieve the minimum values for a given band
.sits_config_defrica_bands_res

Resolution for S2 bands in DEAFRICA
.sits_config_probs_minimum_value

Retrieve the minimum value for a probs cube
.sits_classify_multicores

Classify a chunk of raster data using multicores
.sits_timeline_check_cube

Check cube timeline against requested start and end dates
.sits_config_missing_values

Retrieve the missing values for bands of a sensor
.sits_cube_bands_check

Check that the requested bands exist in the cube
.sits_config_aws_stac

Directory to read the AWS STAC catalogue
.sits_config_cloud_values

Get the name of the band used for cloud information
.sits_plot_allyears

Plot all intervals of one time series for the same lat/long together
.sits_config_label_scale_factor

Retrieve the scale factor for a label cube
.sits_csv_check

Check if a CSV tibble is valid
.sits_from_satveg

Obtain one timeSeries from the EMBRAPA SATVEG server
.sits_plot_patterns

Plot classification patterns
.sits_normalize_matrix

Normalize the time series values in the case of a matrix
plot.som_evaluate_cluster

Plot information about confusion between clusters
.sits_config_satellite_sensor

Tests is satellite and sensor are known to SITS
.sits_raster_api_new_rast

Raster package internal create raster object function
.sits_bbox_intersect

Intersection between a bounding box and a cube
.sits_config_satellites

List the satellites supported by the configuration file
.sits_config_probs_missing_value

Retrieve the missing value for a probs cube
.sits_cluster_dendro_bestcut

Compute validity indexes to a range of cut height
.sits_distances

Use time series values as distances for training patterns
.sits_config_bands_convert

Convert bands names from cube to SITS
plot.raster_cube

Generic interface for plotting stack cubes
.sits_cube_params_block

Determine the block spatial parameters of a given cube
.sits_gc_cloud_mask

Create an object image_mask with information about mask band
.sits_raster_blocks

Define a reasonable block size to process an image subset
.sits_raster_api_properties

Raster package internal object properties
.sits_config_satveg_url

Get the URL to be used for SATVEG access
.sits_max_colors

Brewer color schemes
.sits_gc_compose

Save the images based on an aggregation method.
.sits_raster_api_rast

Raster package internal object creation
.sits_config_bands_stac_read

Convert bands names from SITS to cube
.sits_cube_probs

Create a set of RasterLayer objects to store data cube classification results (only the probs)
.sits_classify_interval

Classify one interval of data
.sits_raster_stack_cube

Create a stack cube from a set of files
.sits_plot_som_evaluate_cluster

Plot information about confusion between clusters
plot.probs_cube

Generic interface for plotting probability cubes
.sits_processing_task_time

Estimate the processing time of a task
.sits_cluster_dendrogram

Compute a dendrogram using hierarchical clustering
.sits_raster_blocks_estimate

Estimate the number of blocks
.sits_s2_aws_tile_cube

Get the STAC information corresponding to a tile.
.sits_raster_stack_info

Obtain the information about files that make up a stack cube
sits_label_classification

Post-process a classified data raster probs to obtain a labelled image
sits_mlp

Train a deep learning model using multi-layer perceptron
.sits_s2_aws_items

Get information from items related to Sentinel-2 in AWS
.sits_parallel_start

Start a new sits cluster for parallel processing
.sits_raster_block_list

Calculate a list of blocks to be read from disk to memory
.sits_accuracy_pred_ref

Obtains the predicted value of a reference set
.sits_timeline_match_indexes

Find indexes in a timeline that match the reference dates
.sits_config_processing_bloat

Retrieve the estimated value of R memory bloat
.sits_cube_create

Creates the description of a data cube
.sits_bdc_access_info

Include BDC access info
.sits_bbox_time_series

Find the bounding box for a set of time series
.sits_raster_data_split

Split a data.table or a matrix for parallel processing
.sits_config_gtiff_default_options

GDAL GTiff creation options
.sits_config_bdc_stac

Directory to read the BDC STAC catalogue
.sits_config_data_meta_type

meta-type for data
sits_regularize

Creates a regularized data cube from an irregular one
.sits_config_cloud_band

Get the name of the band used for cloud information
.sits_config_img_file_ext

Returns the file extensions known to SITS
.sits_config_deafrica_stac

Directory to read the DEAFRICA STAC catalogue
.sits_config_satveg_size

Retrieve the size of the cube for SATVEG
.sits_stac_group

Create a group of items
.sits_config_maximum_values

Retrieve the maximum values for a given band
.sits_tibble_prediction

Create an empty tibble to store the results of predictions
.sits_config_probs_maximum_value

Retrieve the maximum value for a probs cube
.sits_config_probs_scale_factor

Retrieve the scale factor for a probs cube
.sits_samples_bands_check

Check that the requested bands exist in the samples
.sits_config_memory_bloat

Retrieve the estimated value of R memory bloat
.sits_config_bands_no_cloud

Retrieve all but except the cloud band
sits_data_to_csv

Export a sits tibble data to the CSV format
.sits_config_scale_factors

Retrieve the scale factor for a given band for a data cube
.sits_raster_api_check_block

Check for block object consistency
sits_TempCNN

Train a model using the Temporal Convolutional Neural Network
.sits_parallel_map

Maps a function to a given list in parallel or sequential processing
.sits_config_satveg_access

Get the URL to be used to test for SATVEG access
.sits_distances_sample

Sample a percentage of a time series distance matrix
.sits_map_layer_cluster

Parallel processing of classified images
.sits_gc_cube

Create a cube_view object
.sits_plot_dendrogram

Plot a dendrogram
.sits_config_sensor_bands

Retrieve the bands associated to DEAfrica STAC
.sits_stac_items

Get information from items
.sits_config_raster_package

Raster package to be used
print.sits_assessment

Print the values of a confusion matrix
.sits_plot_together

Plot a set of time series for the same spatio-temporal reference
.sits_config_sensors

Retrieve the default sensor for the satellite
.sits_raster_api_set_values

Raster package internal set values function
.sits_ggplot_series

Plot one timeSeries using ggplot
.sits_parallel_reset_node

Recreates a cluster worker
.sits_timeline_valid_date

Test if date fits with the timeline
.sits_s2_aws_tiles

Verify items tiles
.sits_sub_image_from_bbox

Extract a sub_image from a bounding box and a cube
`sits_labels<-`

Change labels of a sits tibble
.sits_roi_bbox.ll

Find the bounding box for a spatial ROI defined as a lat/lon box
samples_mt_6bands

Samples of nine classes for the state of Mato Grosso
.sits_align_dates

Aligns dates of time series to a reference date
.sits_cube_source

Get cube source
sits_accuracy_summary

Print the ssumary of the accuracy
.sits_config_stac_values

Get the metadata values from STAC.
.sits_cube_extract

Given a band, return a set of values for chosen location
.sits_cube_file_info

Get cube file info
.sits_gauss_kernel

Compute the 2-D Gaussian kernel
.sits_deafrica_items

Get information from items
.sits_plot_som_map

Plot the SOM grid with neurons labeled
.sits_raster_api_gdal_datatype

Convert internal data type to gdal data type
.sits_label_cube

Create a set of RasterLayer objects to store data cube classification results (labelled classes)
.sits_gc_database

Create an image_collection object
.sits_proj_to_latlong

Coordinate transformation (X/Y to lat/long)
.sits_keras_binary_class

Adjust keras prediction for the binary classification case
sits_mlr

Train a sits classification model using multinomial log-linear
:=

Set by reference in data.table
.sits_timeline_class_info

Define the information required for classifying time series
sits_bbox

Get the bounding box of the data
sits_config_satveg_bands

Retrieve the bands associated to SATVEG
.sits_config_cube_file_access

Test if files in a raster cube are
.sits_config_s2_bands

Get the the bands in AWS for Sentinel-2 ARD given the resolution
.sits_config_cube_class

Retrieve the class associated to data cubes known to SITS
.sits_som_label_neurons

Label neurons
sits_envelope

Envelope filter
.sits_cube_clone

Clone a data cube
.sits_raster_api_freq

Raster package internal frequency values function
.sits_from_twdtw_matches

Transform patterns from TWDTW format to sits format
.sits_function_factory

Create a closure for calling functions with and without data
.sits_ggplot_series_na

Plot one timeSeries wih NAs using ggplot
.sits_som_paint_neurons

Paint neurons
.sits_gc_date

Extracted date from aggregated cubes
.sits_stac_collection

Get information from collection
.sits_plot_title

Create a plot title to use with ggplot
sits_som_evaluate_cluster

Evaluate cluster
.sits_stac_items_info

Format assets
sits_config_colors

Retrieve the colors associated to classes
.sits_stac_roi

Get bbox and intersects parameters
.sits_roi_bbox.sf

Find the bounding box for a spatial ROI defined as an sf object
.sits_prune

Checks that the timeline of all time series of a data set are equal
.sits_deafrica_upper

Converts bands name to upper case
.sits_raster_api_open_stack

Raster package internal open raster stack function
plot.keras_model

Generic interface for plotting a Keras model
plot.classified_image

Generic interface for ploting classified images
.sits_deafrica_tile_cube

Get the STAC information corresponding to a tile.
sits_sgolay

Smooth the time series using Savitsky-Golay filter
sits_get_data

Obtain time series from different sources
sits_label_majority

Post-process a classified data raster with a majority filter
sits_from_zoo

Import time series in the zoo format to a sits tibble
sits_apply

Apply a function over a time series.
.sits_s2_check_bands

Check bands by resolution
.sits_config_rstac_limit

Get pagination limit
.sits_cube_fix_name

Fix cube name uniqueness
.sits_raster_data_read

Read a block of values retrieved from a set of raster images
sits_svm

Train a sits classification model using a support vector machine
.sits_gc_brick

Create a raster_cube object
sits-package

sits
.sits_mem_used

Shows the memory used in GB
.sits_raster_sub_image

Find the dimensions and location of a spatial ROI in a data cube
.sits_points_from_shp

Obtain a tibble with lat/long points to be retrieved from a SHP
.sits_raster_sub_image_default

Find the dimensions and location of a spatial ROI in a data cube
.sits_satveg_timeline

Retrieve a timeline for the SATVEG service
.sits_tibble_rename

Rename a tibble to use "cube" instead of "coverage"
.sits_satveg_timeline_from_txt

Retrieve a timeline from the SATVEG service based on text expression
.sits_ts_from_satveg

Retrieve a time series from the SATVEG service
.sits_config_test_file

File to test access to cloud services
%>%

Pipe
.sits_twdtw_breaks

Classify a sits tibble using the matches found by the TWDTW methods
sits_config_info

Information about configuration file
sits_view

Generic interface for visualization of data cube
sits_bands

Informs the names of the bands
.sits_raster_api_data_type

Raster package internal data type representation
print.sits_area_assessment

Print the area assessment
.sits_ml_model_samples

Get the samples from a ml_model
.sits_plot_twdtw_class

Plot classification results using the dtwSat package
sits_som_clean_samples

Clean samples
.sits_raster_api_params_file

Determine the file params to write in the metadata
.sits_normalize_data

Normalize the time series in the given sits_tibble
.sits_raster_api_check_package

Check for raster package availability
sits_formula_linear

Define a linear formula for classification models
sits_formula_logref

Define a loglinear formula for classification models
sits_parallel_fault_tolerant

Fault tolerant version of some parallel functions
samples_modis_4bands

Samples of nine classes for the state of Mato Grosso
.sits_test_tibble

Tests if a sits tibble is valid
.sits_timeline_during

Find the subset of a timeline that is contained in an interval defined by start_date and end_date
.sits_raster_api_read_rast

Raster package internal read raster file function
sits_config_satveg_cubes

Retrieve the cubes associated to SATVEG
.sits_raster_api_crop

Raster package internal crop raster function
sits_patterns

Create temporal patterns using a generalised additive model (gam)
sits_select

Filter bands on a data set (tibble or cube)
ts_zoo

A time series in the ZOO format
plot

Generic interface for ploting time series
sits_filter

General function for filtering
sits_log

sits log functions
.sits_stac_get_bbox

Get the STAC information corresponding to a bbox extent
.sits_s2_aws_add_res

Get bands names from items
sits_merge

Merge two data sets (time series or cubes)
sits_ResNet

Train a model using the ResNet model
timeline_2013_2014

The timeline for the sequence of images one year (2013 to 2014)
sits_whittaker

Filter the time series using Whittaker smoother
sits_som_cluster

Clustering a set of satellite image time series using SOM
sits_time_series

Retrieve time series for a row of a sits tibble
plot.som_map

Generic interface for plotting a SOM map
sits_rfor

Train a SITS classifiction model using random forest algorithm
.sits_deafrica_search_tiles

Search items tiles
.sits_plot_twdtw_alignments

Plot classification alignments using the dtwSat package
.sits_get_data_check

check if all points have been retrieved
.sits_raster_api_extract

Raster package internal extract values function
.sits_raster_api_merge

Merge all input files into one raster file
.sits_ggplot_series_no_na

Plot one timeSeries using ggplot (no NAs present)
timeline_2000_2017

The timeline for the sequence of images for MOD13Q1 collection 6
.sits_ggplot_together

Plot many timeSeries together using ggplot
.sits_raster_data_preprocess

Preprocess a set of values retrieved from a raster
.sits_stac_datetime

Datetime format
.sits_raster_api_focal

Raster package internal moving window function
.sits_normalization_param

Normalize the time series in the given sits_tibble
.sits_raster_api_get_values

Raster package internal get values function
.sits_stac_tile_cube

Get the STAC information corresponding to a tile.
sits_cluster_dendro

Clusters a set of time series using aglomerative hierarchical clustering
.sits_raster_data_get_ts

Extract a time series from raster
sits_config

Reads a configuration file and loads it in the main environment
sits_timeline

Obtains the timeline
.sits_timeline_date_format

Find if the date information is correct
sits_som_map

Generate a Kohonen map for sample quality control
.sits_raster_sub_image_intersects

Informs if a spatial ROI intersects a data cube
.sits_shp_check_validity

Check the validity of the shape file
.sits_timeline_dist_indexes

Indexes to extract data from a distance table for classification
sits_config_color

Retrieve the color associated to a class in the configuration file
sits_show_prediction

Shows the predicted labels for a classified tibble
sits_deafrica_bands

Get bands names from items
sits_labels_summary

Returns the information about labels of a tibble data set
sits_smooth

Post-process a classified data raster probs using smoothing
sits_labels

Returns the information about labels of a data set (tibble or cube)
.sits_timeline_idx_from_dates

Create a list of time indexes from the dates index
sits_to_xlsx

Saves the results of accuracy assessments as Excel files
.sits_roi_bbox

Find the bounding box for a spatial ROI in a data cube
plot.patterns

Generic interface for ploting patterns
.sits_stac_toupper

Converts bands name to upper case
.sits_som_bayes_est

Probability of a sample belongs to a cluster using bayesian filter
.sits_stac_bands

Get bands names from items
sits_create_folds

Create partitions of a data set
sits_mutate_bands

Add new sits bands.
.sits_transmute_bands

Add new sits bands and drops existing.
sits_cluster_frequency

Cluster contigency table
.sits_to_twdtw

Export data to be used by the dtwSat package
plot.predicted

Generic interface for ploting time series predictions
sits_accuracy

Area-weighted classification accuracy assessment
.sits_timeline_match

Find dates in the input data cube that match those of the patterns
.sits_raster_api_read_stack

Raster package internal read raster stack file function
point_mt_6bands

A time series sample with data from 2000 to 2016
sits_impute_linear

Linear imputation of NA values using C++ implementation
.sits_roi_bbox.xy

Find the bounding box for a spatial ROI defined as a bounding box
sits_ndwi

Builds normalized difference water index
sits_ranger

Train a sits classifiction model using fast random forest algorithm
sits_classify

Classify time series or data cube using machine learning models
.sits_satveg_cube

Provides information about one cube of the SATVEG time series service
sits_values

Return the values of a given sits tibble as a list of matrices.
sits_metadata_to_csv

Export a sits tibble metadata to the CSV format
sits_cube

Defines a data cube
sits_qda

Train a classification model using quadratic discriminant analysis
sits_lda

Train a sits classification model using linear discriminant analysis
sits_cluster_clean

Cluster cleaner
sits_keras_diagnostics

Diagnostic information about a Keras deep learning model
sits_cube_copy

Creates the contents of a data cube
sits_to_zoo

Export data to be used to the zoo format
sits_config_show

Shows the contents of the sits configuration file
sits_interp

Interpolation function of the time series of a sits_tibble
sits_kfold_validate

Cross-validate temporal patterns
sits_train

Train sits classification models
sits_missing_values

Remove missing values
sits_twdtw_classify

Find matches between patterns and time series using TWDTW
sits_xgboost

Train a model with an extreme gradient boosting machine
sits_linear_interp

Interpolation function of the time series in a sits tibble
sits_sample

Sample a percentage of a time series
sits_savi

Builds soil-adjusted vegetation index
`sits_bands<-`

Replaces the names of the bands
.sits_expr_new

Create a closure to generate new data from data and expressions