The sits package uses satellite image time series for land classification through a time-first, space-later approach.
In the data preparation process, collections of large Earth observation images are organized into data cubes.
Each spatial location in a data cube is associated with a time series. Locations with known labels are used to train a machine learning algorithm, which then classifies all time series within the cube, as illustrated below.
Figure 1: General view of the sits workflow.
The sits API provides a set of functions that can be linked together to create an end-to-end workflow for land classification.
At its core, the sits package offers eight main functions, as illustrated in the figure below:
- sits_cube() – Extract data from an analysis-ready data (ARD) collection, producing a non-regular data cube object.
- sits_regularize() – Convert a non-regular data cube into a regular one, required for training machine learning algorithms.
- sits_apply() – Obtain new bands and indices by applying operations to regular data cubes.
- sits_get_data() – Using ground truth values (e.g., CSV or SHP) and a regular data cube, extract training samples containing time series for selected locations.
- sits_train() – Select a machine learning algorithm and train a classification model.
- sits_classify() – Apply the trained model to classify a regular data cube, generating a probability cube with class probabilities for each pixel.
- sits_smooth() – Remove outliers from the probability cube.
- sits_label_classification() – Generate a thematic map from a smoothed probability cube.
Figure 2: Main functions of the sits API.
Special thanks to the Brazil Data Cube team for their support and training.
Source: Rolf Simoes, Gilberto Camara, Gilberto Queiroz, Felipe Souza, Pedro R. Andrade, Lorena Santos, Alexandre Carvalho, and Karine Ferreira. Satellite Image Time Series Analysis for Big Earth Observation Data. Remote Sensing, 13, p. 2428, 2021.