Science Score: 59.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: mdpi.com -
✓Committers with academic emails
3 of 31 committers (9.7%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (20.0%) to scientific vocabulary
Keywords
big-earth-data
cbers
earth-observation
eo-datacubes
geospatial
image-time-series
land-cover-classification
landsat
planetary-computer
r-spatial
remote-sensing
rspatial
satellite-image-time-series
satellite-imagery
sentinel-2
stac-api
stac-catalog
Keywords from Contributors
geospatial-data
Last synced: 6 months ago
·
JSON representation
Repository
Satellite image time series in R
Basic Info
- Host: GitHub
- Owner: e-sensing
- License: gpl-2.0
- Language: R
- Default Branch: master
- Homepage: https://e-sensing.github.io/sitsbook/
- Size: 278 MB
Statistics
- Stars: 511
- Watchers: 28
- Forks: 86
- Open Issues: 26
- Releases: 46
Topics
big-earth-data
cbers
earth-observation
eo-datacubes
geospatial
image-time-series
land-cover-classification
landsat
planetary-computer
r-spatial
remote-sensing
rspatial
satellite-image-time-series
satellite-imagery
sentinel-2
stac-api
stac-catalog
Created over 8 years ago
· Last pushed 6 months ago
Metadata Files
Readme
Changelog
Contributing
License
Code of conduct
Codemeta
README.Rmd
---
title: "SITS - Satellite Image Time Series Analysis for Earth Observation Data Cubes"
authors: Rolf Simoes, Gilberto Camara, Felipe Souza, Lorena Santos, Pedro Andrade, Alexandre Carvalho, Gilberto Queiroz, Karine Ferreira
output: github_document
---
```{r, echo=FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-"
)
# set seed for reproducibility
set.seed(4242)
torch::torch_manual_seed(1234)
```
[](https://github.com/ropensci/software-review/issues/596)
[](https://cran.r-project.org/package=sits)
[](https://github.com/e-sensing/sits/actions/workflows/R-CMD-check.yaml)
[](https://codecov.io/gh/e-sensing/sits)
[](https://e-sensing.github.io/sitsbook/)
[](https://lifecycle.r-lib.org/articles/stages.html)
[](https://github.com/e-sensing/sits/blob/master/LICENSE)
## Overview
`sits` is an open source R/Python package for satellite image time series analysis. The package is developed in R and provides full access to its functions with a Python API. It enables users to apply machine learning techniques for classifying image time series obtained from earth observation data cubes. The basic workflow in `sits` is:
1. Select an image collection from cloud providers AWS, Brazil Data Cube, Digital Earth Africa, Copernicus Data Space Ecosystem, Digital Earth Australia, Microsoft Planetary Computer, NASA Harmonized Landsat/Sentinel, Open Geo Hub, and Swiss Data Cube.
2. Build a regular data cube from analysis-ready image collections.
3. Merge data cube from multisource analysis (e.g., Sentinel-1 with Sentinel-2).
3. Extract labelled time series from data cubes to be used as training samples.
4. Perform samples quality control using self-organised maps.
5. Train machine learning and deep learning models.
6. Tune deep learning models for improved accuracy.
7. Classify data cubes using machine learning and deep learning models, with GPU support if available.
8. Run spatial-temporal segmentation methods for object-based time series classification.
9. Post-process classified images with Bayesian smoothing to remove outliers.
10. Estimate uncertainty values of classified images.
11. Evaluate classification accuracy using best practices.
12. Improve results with active learning and self-supervised learning methods.
```{r sits, echo=FALSE, out.width="60%", out.height="60%", fig.align="center", fig.cap="Conceptual view of data cubes (source: authors)"}
knitr::include_graphics("inst/extdata/markdown/figures/sits_general_view.jpg")
```
## Documentation
Detailed documentation on how to use `sits` is available in the e-book ["Satellite Image Time Series Analysis on Earth Observation Data Cubes"](https://e-sensing.github.io/sitsbook/).
## Installation
### Pre-Requisites
Since the `sits` package is developed in `R`, to run it you need an R environment on which you install the `R` version of `sits`. After that, users can optionally install the Python API interface as described below.
### Obtaining `sits` in R
After installing the latest version of `R` from the [CRAN archive](https://cran.r-project.org/), `sits` can also be installed from CRAN:
```{r, eval=FALSE}
install.packages("sits", dependencies = TRUE)
```
The latest supported version is available on github. It may have additional fixes from the version available from CRAN.
```{r, eval=FALSE}
devtools::install_github("e-sensing/sits", dependencies = TRUE)
```
```{r}
# load the sits library
library(sits)
```
### Configuring the Python environment
The Python interface for sits is as a wrapper around the R implementation. It gives Python users access to the all features of the sits package. To use `sits` in Python, one needs Python 3.10 or higher. After installing the R version of `sits`, please also install the `arrow` R package.
The Python API for `sits` is available on `PyPi`, and can be installed as follows:
```{sh, eval = FALSE}
pip install pysits
```
Please follow the examples of the [SITS book](https://e-sensing.github.io/sitsbook/) for examples of Python usage.
### Support for GPU
For users working with deep learning models, `sits` supports GPU acceleration through the [torch](https://torch.mlverse.org/docs/) package, which is already included as a dependency when you install `sits`. This provides significant performance improvements for deep learning operations. The `torch` package automatically detects available GPUs and utilizes them when possible, requiring no additional configuration in most cases.
## Building Earth Observation Data Cubes
### Image Collections Accessible by `sits`
Users create data cubes from analysis-ready data (ARD) image collections available in cloud services. The collections accessible in `sits` `r packageVersion("sits")` are:
- Brazil Data Cube - [BDC](https://data.inpe.br/bdc/web/en/home-page-2/): Open data collections of Sentinel-2, Landsat-8 and CBERS-4 images.
- Copernicus Data Space Environment [CDSE](https://dataspace.copernicus.eu/): Open data collections from the EU Copernicus programme.
- Earth on AWS - [AWS](https://aws.amazon.com/earth/): Sentinel-2/2A level 2A collections.
- Digital Earth Africa - [DEAFRICA](https://www.digitalearthafrica.org/): Open data collection of Sentinel-2/2A and Landsat-8 for Africa.
- Digital Earth Australia - [DEAUSTRALIA](https://www.ga.gov.au/scientific-topics/dea): Open data collections for the Australian subcontinent.
- Microsoft Planetary Computer - [MPC](https://planetarycomputer.microsoft.com/catalog): Open data collection of Sentinel-2/2A and Landsat-8.
- NASA Harmonized Landsat/Sentinel Collection [HLS](https://hls.gsfc.nasa.gov/).
- Open Geo Hub Harmonized Landsat-5/7/8 Collection at [OGH](https://stac.openlandmap.org/landsat_glad.swa.ard2_bimonthly/collection.json).
- Swiss Data Cube ([SDC](https://www.swissdatacube.org/)): Open data collection of Sentinel-2/2A and Landsat-8.
- [USGS](https://landsatlook.usgs.gov/stac-browser): Landsat-4/5/7/8 collections, which are not open data.
Open data collections do not require payment of access fees. Except for those in the Brazil Data Cube, these collections are not regular. Irregular collections require further processing before they can be used for classification using machine learning models.
### Building a Data Cube from an ARD Image Collection
The following code defines an irregular data cube of Sentinel-2/2A images available in the Microsoft Planetary Computer, using the open data collection `"SENTINEL-2-L2A"`. The geographical area of the data cube is defined by the tiles `"20LKP"` and `"20LLKP"`, and the temporal extent by a start and end date. Access to other cloud services works in similar ways.
```{r, tidy = "styler", echo=TRUE}
s2_cube <- sits_cube(
source = "MPC",
collection = "SENTINEL-2-L2A",
tiles = c("20LKP", "20LLP"),
bands = c("B03", "B08", "B11", "SCL"),
start_date = as.Date("2018-07-01"),
end_date = as.Date("2019-06-30"),
progress = FALSE
)
```
This cube is irregular. The timelines of tiles `"20LKP"` and `"20LLKP"` and the resolutions of the bands are different. Sentinel-2 bands `"B03"` and `"B08"` have 10-meters resolution, while band `"B11"` and the cloud band `"SCL"` have 20-meters resolution. Irregular collections need an additional processing step to be converted to regular data cubes, as described below.
```{r dcconcept, echo=FALSE, out.width="90%", out.height="90%", fig.align="center", fig.cap="Conceptual view of data cubes (source: authors)"}
knitr::include_graphics("inst/extdata/markdown/figures/datacube_conception.jpg")
```
After defining an irregular ARD image collection from a cloud service using `sits_cube()`, users should run `sits_regularize()` to build a regular data cube. This function uses the [gdalcubes R package](https://github.com/appelmar/gdalcubes), described in [Appel and Pebesma, 2019](https://www.mdpi.com/2306-5729/4/3/92).
```{r, tidy = "styler", eval=FALSE, echo=TRUE}
gc_cube <- sits_regularize(
cube = s2_cube,
output_dir = tempdir(),
period = "P15D",
res = 60,
multicores = 4
)
```
The above command builds a regular data cube with all bands interpolated to 60 m spatial resolution and 15-days temporal resolution. Regular data cubes are the input to the `sits` functions for time series retrieval, building machine learning models, and classification of raster images and time series.
## Working with Time Series in `sits`
### 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 retrieved individually or by using CSV or SHP files, as in the following example. The example below uses a data cube in a local directory, whose images have been obtained from the `"MOD13Q1-6"` collection of the Brazil Data Cube.
```{r, tidy = "styler", eval=TRUE, echo=TRUE, cache=TRUE}
library(sits)
# this data cube uses images from the Brazil Data Cube that have
# downloaded to a local directory
data_dir <- system.file("extdata/raster/mod13q1", package = "sits")
# create a cube from downloaded files
raster_cube <- sits_cube(
source = "BDC",
collection = "MOD13Q1-6.1",
data_dir = data_dir,
delim = "_",
parse_info = c("X1", "X2", "tile", "band", "date"),
progress = FALSE
)
# obtain a set of samples defined by a CSV file
csv_file <- system.file("extdata/samples/samples_sinop_crop.csv",
package = "sits"
)
# retrieve the time series associated with the samples from the data cube
points <- sits_get_data(raster_cube, samples = csv_file)
# show the time series
points[1:3, ]
```
After a time series has been obtained, 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).
## Time Series Classification
### Training Machine Learning Models
`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`:
- Support vector machines (`sits_svm()`)
- Random forests (`sits_rfor()`)
- Extreme gradient boosting (`sits_xgboost()`)
- Multi-layer perceptrons (`sits_mlp()`)
- 1D convolution neural networks (`sits_tempcnn()`)
- Temporal self-attention encoder (`sits_tae()`)
- Lightweight temporal attention encoder (`sits_lighttae()`)
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, TempCNN).
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`.
```{r, tidy = "styler", fig.align="center", fig.height=3.5, fig.width=7, fig.cap="Classification of NDVI time series using TempCNN", cache=TRUE}
# training data set
data("samples_modis_ndvi")
# point to be classified
data("point_mt_6bands")
# Train a deep learning model
tempcnn_model <- sits_train(
samples = samples_modis_ndvi,
ml_method = sits_tempcnn()
)
# Select NDVI band of the point to be classified
# Classify using TempCNN model
# Plot the result
point_mt_6bands |>
sits_select(bands = "NDVI") |>
sits_classify(tempcnn_model) |>
plot()
```
The following example shows how to classify a data cube organized as a
set of raster images. The result can also be visualized interactively
using `sits_view()`.
```{r, tidy = "styler", fig.align="center", fig.height=4.5, fig.width=9, fig.cap="Land use and Land cover in Sinop, MT, Brazil in 2018", cache=TRUE}
# 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 = "BDC",
collection = "MOD13Q1-6.1",
data_dir = data_dir,
delim = "_",
parse_info = c("X1", "X2", "tile", "band", "date"),
progress = FALSE
)
# Classify the raster cube, generating a probability file
# Filter the pixels in the cube to remove noise
probs_cube <- sits_classify(
data = sinop,
ml_model = tempcnn_model,
output_dir = tempdir()
)
# apply a bayesian smoothing to remove outliers
bayes_cube <- sits_smooth(
cube = probs_cube,
output_dir = tempdir()
)
# generate a thematic map
label_cube <- sits_label_classification(
cube = bayes_cube,
output_dir = tempdir()
)
# plot the the labelled cube
plot(label_cube,
title = "Land use and Land cover in Sinop, MT, Brazil in 2018"
)
```
### References
#### Citable papers for sits
If you use `sits`, please cite the following paper:
- 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: 2428, 2021. .
Additionally, the sample quality control methods that use self-organized maps are described in the following reference:
- Lorena Santos, Karine Ferreira, Gilberto Camara, Michelle Picoli, Rolf Simoes, “Quality control and class noise reduction of satellite image time series”. ISPRS Journal of Photogrammetry and Remote Sensing, 177:75-88, 2021. .
### Acknowledgements for community support
The authors are thankful for the contributions of Edzer Pebesma, Jakub Nowosad. Marius Appel, Martin Tennekes, Robert Hijmans, Ron Wehrens, and Tim Appelhans, respectively chief developers of the packages `sf`/`stars`, `supercells`, `gdalcubes`, `tmap`, `terra`, `kohonen`, and `leafem`. We are grateful for the work of Dirk Eddelbuettel on `Rcpp` and `RcppArmadillo`. The `sits` package recognises the great work of the RStudio team, including the `tidyverse`. Many thanks to Daniel Falbel for his great work in the `torch` and `luz` packages. Charlotte Pelletier shared the python code that has been reused for the TempCNN machine learning model. We would like to thank Maja Schneider for sharing the python code that helped the implementation of the `sits_lighttae()` and `sits_tae()` model. We recognize the importance of the work by Chris Holmes and Mattias Mohr on the STAC specification and API.
### Acknowledgements for Financial and Material Support
We acknowledge and thank the project funders that provided financial and material support:
- Amazon Fund, established by the Brazilian government with financial contribution from Norway, through the project contract between the Brazilian Development Bank (BNDES) and the Foundation for Science, Technology and Space Applications (FUNCATE), for the establishment of the Brazil Data Cube, process 17.2.0536.1.
- Coordenação de Aperfeiçoamento de Pessoal de Nível Superior-Brasil (CAPES) and from the Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq), for providing MSc and PhD scholarships.
- Sao Paulo Research Foundation (FAPESP) under eScience Program grant 2014/08398-6, for for providing MSc, PhD and post-doc scholarships, equipment, and travel support.
- International Climate Initiative of the Germany Federal Ministry for the Environment, Nature Conservation, Building and Nuclear Safety (IKI) under grant 17-III-084- Global-A-RESTORE+ (“RESTORE+: Addressing Landscape Restoration on Degraded Land in Indonesia and Brazil”).
- Microsoft Planetary Computer under the GEO-Microsoft Cloud Computer Grants Programme.
- Instituto Clima e Sociedade, under the project grant "Modernization of PRODES and DETER Amazon monitoring systems".
- The Open-Earth-Monitor Cyberinfrastructure project, which has received funding from the European Union's Horizon Europe research and innovation programme under [grant agreement No. 101059548](https://cordis.europa.eu/project/id/101059548).
- [FAO-EOSTAT](https://www.fao.org/in-action/eostat) initiative, which uses next generation Earth observation tools to produce land cover and land use statistics.
### How to contribute
The `sits` project is released with a [Contributor Code of Conduct](https://github.com/e-sensing/sits/blob/master/CODE_OF_CONDUCT.md).
By contributing to this project, you agree to abide by its terms.
Owner
- Name: e-sensing
- Login: e-sensing
- Kind: organization
- Email: esensing-team@dpi.inpe.br
- Location: INPE, São José dos Campos
- Website: http://www.esensing.org
- Repositories: 8
- Profile: https://github.com/e-sensing
e-Sensing: Big Earth observation data analytics for land use and land cover change information
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"identifier": "sits",
"description": "An end-to-end toolkit for land use and land cover classification using big Earth observation data, based on machine learning methods applied to satellite image data cubes, as described in Simoes et al (2021) <doi:10.3390/rs13132428>. Builds regular data cubes from collections in AWS, Microsoft Planetary Computer, Brazil Data Cube, and Digital Earth Africa using the STAC protocol <https://stacspec.org/> and the 'gdalcubes' R package <doi:10.3390/data4030092>. Supports visualization methods for images and time series and smoothing filters for dealing with noisy time series. Includes functions for quality assessment of training samples using self-organized maps as presented by Santos et al (2021) <doi:10.1016/j.isprsjprs.2021.04.014>. Provides machine learning methods including support vector machines, random forests, extreme gradient boosting, multi-layer perceptrons, temporal convolutional neural networks <doi:10.3390/rs11050523>, residual networks <arxiv:1809.04356>, and temporal attention encoders <arXiv:2007.00586>. Performs efficient classification of big Earth observation data cubes and includes functions for post-classification smoothing based on Bayesian inference, and methods for uncertainty assessment. Enables best practices for estimating area and assessing accuracy of land change as recommended by Olofsson et al(2014) <doi:10.1016/j.rse.2014.02.015>. Minimum recommended requirements: 16 GB RAM and 4 CPU dual-core.",
"name": "sits: Satellite Image Time Series Analysis for Earth Observation Data Cubes",
"relatedLink": "https://e-sensing.github.io/sitsbook/",
"codeRepository": "https://github.com/e-sensing/sits/",
"issueTracker": "https://github.com/e-sensing/sits/issues",
"license": "https://spdx.org/licenses/GPL-2.0",
"version": "1.0.0",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "R",
"url": "https://r-project.org"
},
"runtimePlatform": "R version 4.2.0 (2022-04-22)",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"author": [
{
"@type": "Person",
"givenName": "Rolf",
"familyName": "Simoes",
"email": "rolf.simoes@inpe.br"
},
{
"@type": "Person",
"givenName": "Gilberto",
"familyName": "Camara",
"email": "gilberto.camara.inpe@gmail.com"
},
{
"@type": "Person",
"givenName": "Felipe",
"familyName": "Souza",
"email": "felipe.carvalho@inpe.br"
},
{
"@type": "Person",
"givenName": "Lorena",
"familyName": "Santos",
"email": "lorena.santos@inpe.br"
},
{
"@type": "Person",
"givenName": "Pedro",
"familyName": "Andrade",
"email": "pedro.andrade@inpe.br"
},
{
"@type": "Person",
"givenName": "Karine",
"familyName": "Ferreira",
"email": "karine.ferreira@inpe.br"
},
{
"@type": "Person",
"givenName": "Alber",
"familyName": "Sanchez",
"email": "alber.ipia@inpe.br"
},
{
"@type": "Person",
"givenName": "Gilberto",
"familyName": "Queiroz",
"email": "gilberto.queiroz@inpe.br"
}
],
"maintainer": [
{
"@type": "Person",
"givenName": "Gilberto",
"familyName": "Camara",
"email": "gilberto.camara.inpe@gmail.com"
}
],
"softwareSuggestions": [
{
"@type": "SoftwareApplication",
"identifier": "caret",
"name": "caret",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=caret"
},
{
"@type": "SoftwareApplication",
"identifier": "dendextend",
"name": "dendextend",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=dendextend"
},
{
"@type": "SoftwareApplication",
"identifier": "dtwclust",
"name": "dtwclust",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=dtwclust"
},
{
"@type": "SoftwareApplication",
"identifier": "dtwSat",
"name": "dtwSat",
"version": ">= 0.2.7",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=dtwSat"
},
{
"@type": "SoftwareApplication",
"identifier": "digest",
"name": "digest",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=digest"
},
{
"@type": "SoftwareApplication",
"identifier": "e1071",
"name": "e1071",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=e1071"
},
{
"@type": "SoftwareApplication",
"identifier": "FNN",
"name": "FNN",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=FNN"
},
{
"@type": "SoftwareApplication",
"identifier": "gdalcubes",
"name": "gdalcubes",
"version": ">= 0.6.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=gdalcubes"
},
{
"@type": "SoftwareApplication",
"identifier": "geojsonsf",
"name": "geojsonsf",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=geojsonsf"
},
{
"@type": "SoftwareApplication",
"identifier": "httr",
"name": "httr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=httr"
},
{
"@type": "SoftwareApplication",
"identifier": "jsonlite",
"name": "jsonlite",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=jsonlite"
},
{
"@type": "SoftwareApplication",
"identifier": "kohonen",
"name": "kohonen",
"version": ">= 3.0.11",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=kohonen"
},
{
"@type": "SoftwareApplication",
"identifier": "leafem",
"name": "leafem",
"version": ">= 0.2.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=leafem"
},
{
"@type": "SoftwareApplication",
"identifier": "leaflet",
"name": "leaflet",
"version": ">= 2.1.1",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=leaflet"
},
{
"@type": "SoftwareApplication",
"identifier": "luz",
"name": "luz",
"version": ">= 0.2.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=luz"
},
{
"@type": "SoftwareApplication",
"identifier": "methods",
"name": "methods"
},
{
"@type": "SoftwareApplication",
"identifier": "mgcv",
"name": "mgcv",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=mgcv"
},
{
"@type": "SoftwareApplication",
"identifier": "openxlsx",
"name": "openxlsx",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=openxlsx"
},
{
"@type": "SoftwareApplication",
"identifier": "randomForest",
"name": "randomForest",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=randomForest"
},
{
"@type": "SoftwareApplication",
"identifier": "RcppArmadillo",
"name": "RcppArmadillo",
"version": ">= 0.11",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=RcppArmadillo"
},
{
"@type": "SoftwareApplication",
"identifier": "scales",
"name": "scales",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=scales"
},
{
"@type": "SoftwareApplication",
"identifier": "stars",
"name": "stars",
"version": ">= 0.5",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=stars"
},
{
"@type": "SoftwareApplication",
"identifier": "testthat",
"name": "testthat",
"version": ">= 3.1.3",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=testthat"
},
{
"@type": "SoftwareApplication",
"identifier": "torchopt",
"name": "torchopt",
"version": ">= 0.1.1",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=torchopt"
},
{
"@type": "SoftwareApplication",
"identifier": "xgboost",
"name": "xgboost",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=xgboost"
},
{
"@type": "SoftwareApplication",
"identifier": "zoo",
"name": "zoo",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=zoo"
}
],
"softwareRequirements": {
"1": {
"@type": "SoftwareApplication",
"identifier": "R",
"name": "R",
"version": ">= 4.0.0"
},
"2": {
"@type": "SoftwareApplication",
"identifier": "magrittr",
"name": "magrittr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=magrittr"
},
"3": {
"@type": "SoftwareApplication",
"identifier": "yaml",
"name": "yaml",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=yaml"
},
"4": {
"@type": "SoftwareApplication",
"identifier": "data.table",
"name": "data.table",
"version": ">= 1.13",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=data.table"
},
"5": {
"@type": "SoftwareApplication",
"identifier": "dplyr",
"name": "dplyr",
"version": ">= 1.0.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=dplyr"
},
"6": {
"@type": "SoftwareApplication",
"identifier": "gdalUtilities",
"name": "gdalUtilities",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=gdalUtilities"
},
"7": {
"@type": "SoftwareApplication",
"identifier": "grDevices",
"name": "grDevices"
},
"8": {
"@type": "SoftwareApplication",
"identifier": "ggplot2",
"name": "ggplot2",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=ggplot2"
},
"9": {
"@type": "SoftwareApplication",
"identifier": "graphics",
"name": "graphics"
},
"10": {
"@type": "SoftwareApplication",
"identifier": "lubridate",
"name": "lubridate",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=lubridate"
},
"11": {
"@type": "SoftwareApplication",
"identifier": "parallel",
"name": "parallel",
"version": ">= 4.0.5"
},
"12": {
"@type": "SoftwareApplication",
"identifier": "purrr",
"name": "purrr",
"version": ">= 0.3.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=purrr"
},
"13": {
"@type": "SoftwareApplication",
"identifier": "Rcpp",
"name": "Rcpp",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=Rcpp"
},
"14": {
"@type": "SoftwareApplication",
"identifier": "rstac",
"name": "rstac",
"version": ">= 0.9.1-5",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=rstac"
},
"15": {
"@type": "SoftwareApplication",
"identifier": "sf",
"name": "sf",
"version": ">= 1.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=sf"
},
"16": {
"@type": "SoftwareApplication",
"identifier": "slider",
"name": "slider",
"version": ">= 0.2.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=slider"
},
"17": {
"@type": "SoftwareApplication",
"identifier": "stats",
"name": "stats"
},
"18": {
"@type": "SoftwareApplication",
"identifier": "terra",
"name": "terra",
"version": ">= 1.5-17",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=terra"
},
"19": {
"@type": "SoftwareApplication",
"identifier": "tibble",
"name": "tibble",
"version": ">= 3.1",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=tibble"
},
"20": {
"@type": "SoftwareApplication",
"identifier": "tidyr",
"name": "tidyr",
"version": ">= 1.2.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=tidyr"
},
"21": {
"@type": "SoftwareApplication",
"identifier": "torch",
"name": "torch",
"version": ">= 0.7.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=torch"
},
"22": {
"@type": "SoftwareApplication",
"identifier": "utils",
"name": "utils"
},
"SystemRequirements": null
},
"fileSize": "9155.152KB",
"citation": [
{
"@type": "SoftwareSourceCode",
"datePublished": "2021",
"author": [
{
"@type": "Person",
"givenName": "Rolf",
"familyName": "Simoes"
},
{
"@type": "Person",
"givenName": "Gilberto",
"familyName": "Camara"
},
{
"@type": "Person",
"givenName": "Felipe",
"familyName": "Souza"
},
{
"@type": "Person",
"givenName": "Pedro",
"familyName": "Andrade"
},
{
"@type": "Person",
"givenName": "Lorena",
"familyName": "Santos"
},
{
"@type": "Person",
"givenName": "Karine",
"familyName": "Ferreira"
},
{
"@type": "Person",
"givenName": "Gilberto",
"familyName": "Queiroz"
},
{
"@type": "Person",
"givenName": [
"Alexandre",
"Ywata"
],
"familyName": "de Carvalho"
},
{
"@type": "Person",
"givenName": "Victor",
"familyName": "Maus"
}
],
"name": "sits: Data Analysis and Machine Learning using Satellite Image Time Series",
"url": "https://github.com/e-sensing/sits"
}
]
}
GitHub Events
Total
- Create event: 2
- Release event: 1
- Issues event: 168
- Watch event: 40
- Issue comment event: 158
- Push event: 143
- Pull request review event: 25
- Pull request event: 97
- Fork event: 9
Last Year
- Create event: 2
- Release event: 1
- Issues event: 168
- Watch event: 40
- Issue comment event: 158
- Push event: 143
- Pull request review event: 25
- Pull request event: 97
- Fork event: 9
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Felipe | l****o@g****m | 1,715 |
| Rolf Simoes | r****s@g****m | 1,635 |
| gilbertocamara | g****a@i****r | 1,269 |
| Felipe Carlos | e****s@g****m | 237 |
| pedro-andrade-inpe | p****e@i****r | 98 |
| albhasan | a****n@g****m | 91 |
| gilbertocamara | g****a@m****l | 61 |
| GilbertoCamara | g****a@M****l | 53 |
| lorenalves | l****s@g****m | 33 |
| vwmaus | m****s@i****t | 27 |
| luizassis | l****a@d****r | 20 |
| Alexandre Xavier Ywata Carvalho | y****o@g****m | 11 |
| gilbertocamara | r****o@i****l | 4 |
| e-sensing project | r****o@i****l | 4 |
| Gilberto Camara | g****o@c****r | 3 |
| ammaciel | a****6@g****m | 2 |
| RichardScottOZ | 7****Z | 2 |
| e-sensing project | r****o@i****l | 2 |
| Gilberto | g****a@s****t | 2 |
| Felipe | f****a@r****t | 2 |
| e-sensing project | r****o@i****l | 2 |
| SITS | s****s@b****r | 1 |
| Rolf Simoes | r****f@c****r | 1 |
| Rolf | r****s@r****t | 1 |
| Gilberto Camara | g****o@G****l | 1 |
| Gilberto Camara | g****o@G****l | 1 |
| gilbertocamara | r****o@i****l | 1 |
| lipecaso@gmail.com | F****e | 1 |
| Pedro Brito | p****e@g****m | 1 |
| Michael Sumner | m****r@g****m | 1 |
| and 1 more... | ||
Committer Domains (Top 20 + Academic)
rstudio.yhbzotf2nbzejasbvc3btmp3ch.xx.internal.cloudapp.net: 2
chronos.dpi.inpe.br: 2
inpe.br: 2
ip-172-31-9-66.sa-east-1.compute.internal: 1
bdc-icomp-15.dpi.inpe.br: 1
ip-172-31-44-155.eu-central-1.compute.internal: 1
sits-gpu.4kbcoxjuyntevpfihsfugrns0g.xx.internal.cloudapp.net: 1
ip-172-31-31-136.eu-central-1.compute.internal: 1
ip-172-31-7-57.sa-east-1.compute.internal: 1
ip-172-31-2-179.sa-east-1.compute.internal: 1
dpi.inpe.br: 1
iiasa.ac.at: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 733
- Total pull requests: 749
- Average time to close issues: about 2 months
- Average time to close pull requests: 1 day
- Total issue authors: 69
- Total pull request authors: 15
- Average comments per issue: 0.83
- Average comments per pull request: 0.08
- Merged pull requests: 677
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 109
- Pull requests: 98
- Average time to close issues: 23 days
- Average time to close pull requests: 2 days
- Issue authors: 26
- Pull request authors: 5
- Average comments per issue: 1.36
- Average comments per pull request: 0.04
- Merged pull requests: 84
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- OldLipe (200)
- gilbertocamara (180)
- rolfsimoes (161)
- albhasan (31)
- pedro-andrade-inpe (28)
- M3nin0 (12)
- EstefaPizarro (12)
- kadyb (7)
- LorisDeBiasi (4)
- kamaulindhardt (4)
- ils15 (4)
- felixg3 (4)
- paulacopelli (4)
- agronomofiorentini (3)
- mdsumner (3)
Pull Request Authors
- OldLipe (262)
- rolfsimoes (236)
- M3nin0 (157)
- albhasan (38)
- pedro-andrade-inpe (24)
- lorenalves (13)
- gilbertocamara (6)
- luizassis (3)
- alexcarssuncao (3)
- kadyb (2)
- vwmaus (1)
- sensing-bot (1)
- mdsumner (1)
- lubiavinhas (1)
- RichardScottOZ (1)
Top Labels
Issue Labels
improvement (351)
solved in dev (336)
bug (174)
documentation (59)
high priority (50)
new API function (49)
research (10)
good first issue (7)
third-party issue (4)
dataset (2)
help wanted (1)
Pull Request Labels
bug (150)
improvement (117)
documentation (68)
new API function (7)
solved in dev (4)
high priority (2)
Packages
- Total packages: 3
-
Total downloads:
- cran 548 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 3
(may contain duplicates) - Total versions: 70
- Total maintainers: 1
proxy.golang.org: github.com/e-sensing/sits
- Documentation: https://pkg.go.dev/github.com/e-sensing/sits#section-documentation
- License: gpl-2.0
-
Latest release: v1.5.3
published 7 months ago
Rankings
Dependent packages count: 5.5%
Average: 5.6%
Dependent repos count: 5.8%
Last synced:
6 months ago
cran.r-project.org: sits
Satellite Image Time Series Analysis for Earth Observation Data Cubes
- Homepage: https://github.com/e-sensing/sits/
- Documentation: http://cran.r-project.org/web/packages/sits/sits.pdf
- License: GPL-2
-
Latest release: 1.5.3
published 7 months ago
Rankings
Stargazers count: 1.0%
Forks count: 1.0%
Average: 14.9%
Dependent repos count: 19.6%
Downloads: 24.9%
Dependent packages count: 28.0%
Maintainers (1)
Last synced:
6 months ago
conda-forge.org: r-sits
- Homepage: https://github.com/e-sensing/sits
- License: GPL-2.0-only
-
Latest release: 0.16.2
published about 4 years ago
Rankings
Stargazers count: 21.0%
Forks count: 21.4%
Dependent repos count: 24.1%
Average: 29.5%
Dependent packages count: 51.5%
Last synced:
6 months ago
Dependencies
DESCRIPTION
cran
- R >= 4.0.0 depends
- Rcpp * imports
- data.table >= 1.13 imports
- dplyr >= 1.0.0 imports
- gdalUtilities * imports
- grDevices * imports
- graphics * imports
- lubridate * imports
- magrittr * imports
- parallel >= 4.0.5 imports
- purrr >= 0.3.0 imports
- rstac >= 0.9.1 imports
- sf >= 1.0 imports
- slider >= 0.2.0 imports
- stats * imports
- terra >= 1.5 imports
- tibble >= 3.1 imports
- tidyr >= 1.2.0 imports
- torch >= 0.7.0 imports
- utils * imports
- yaml * imports
- DiagrammeR * suggests
- FNN * suggests
- RColorBrewer * suggests
- RcppArmadillo >= 0.11 suggests
- caret * suggests
- dendextend * suggests
- digest * suggests
- dtwclust * suggests
- e1071 * suggests
- gdalcubes >= 0.6.0 suggests
- geojsonsf * suggests
- ggplot2 * suggests
- httr * suggests
- jsonlite * suggests
- kohonen >= 3.0.11 suggests
- leafem >= 0.2.0 suggests
- leaflet >= 2.1.1 suggests
- luz >= 0.2.0 suggests
- methods * suggests
- mgcv * suggests
- openxlsx * suggests
- randomForest * suggests
- randomForestExplainer * suggests
- scales * suggests
- stars >= 0.5 suggests
- testthat >= 3.1.3 suggests
- tmap * suggests
- torchopt >= 0.1.2 suggests
- xgboost * suggests
- zoo * suggests
.github/workflows/R-CMD-check.yaml
actions
- actions/checkout v3 composite
- r-lib/actions/check-r-package v2 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite