Skip to content

Repository files navigation

A Scalable Clustering-Based Method for Vegetation Mapping in Large Areas Using Satellite Image Time Series — Compendium

License: GPL-3.0

Pipeline methodology

Compendium for the paper. Applied to secondary-vegetation mapping in the Brazilian Cerrado (TerraClass Cerrado 2024).

The pipeline has six steps:

  1. Data cube: build SITS datacubes from a STAC catalog
  2. Sampling: weighted temporal average + stratified histogram sampling
  3. Clustering: SOM + HCA/DTW into a per-unit cluster map
  4. Labeling: assign clusters to classes
  5. Refinement: sieve, manual edits, agriculture mask
  6. Assessment: Olofsson area-adjusted accuracy

The code is organized in two directories:

Directory Contents
src/ Models and algorithms (SOM, HCA/DTW, accuracy assessment, raster operations)
application/TerraClass/ Pipeline runners, configs, and TerraClass-specific rules

Quickstart

git clone https://github.com/BaggioCastro/scalable-sits-clustering-mapping.git
cd scalable-sits-clustering-mapping

# 1. Install
conda env create -f environment.yml
conda activate geospatial_gpu
pip install -e . --no-deps

# 2. Download inputs (5.0 GB, from Zenodo)
#    Also: --bundle reference_outputs
conda run -n geospatial_gpu python -m application.TerraClass.rules.zenodo_data --bundle inputs

# 3. Remove any previous reproduction output and run Steps 4–6
rm -rf application/TerraClass/data/output/article_reproduction
cd application/TerraClass
RUN_ID=article_reproduction conda run -n geospatial_gpu python -m runners.run_terraclass --config config/pipeline.yaml --steps 4-6
Doc
INSTALL.md Conda environment, GPU setup, reference machine
DATA.md Zenodo bundles, download, verification
USAGE.md CLI options, output layout, library API
REPRODUCE.md Step-by-step reproduction of the article results
PIPELINE.md What each step reads and writes

Repository structure

scalable-sits-clustering-mapping/
├── src/                      # Library
│   ├── cube/                 #   STAC download, datacube building, features
│   ├── sampling/             #   Spatial sampling, masking, windowed extraction
│   ├── models/               #   SOM, HCA/DTW, prediction, cluster labeling
│   ├── raster_ops/           #   Sieve, COG writer, diff, mosaic, classify
│   ├── assessment/           #   Olofsson accuracy, decomposition, error analysis
│   ├── data_io/              #   Raster I/O, COG, array persistence
│   ├── spatial/              #   CRS, windowed iteration
│   ├── reporting/            #   Logger, QML writer
│   ├── visualization/        #   Diagnostic plots
│   ├── config/               #   YAML/JSON loader and schema
│   ├── utils/                #   Paths, memory guard, progress, metadata
│   └── __init__.py           #   Public API
├── application/TerraClass/   # TerraClass pipeline
│   ├── runners/              #   Step 1–6 entry points + orchestrator
│   ├── config/               #   Pipeline parameters, ecoregion definitions, labels
│   ├── rules/                #   Domain constants, run layout, composition rules
│   ├── figures/              #   Article figures
│   └── notebooks/            #   Walkthrough notebooks
├── docs/                     # Installation, usage, data, reproducibility
├── tests/                    # Unit tests
├── pyproject.toml            # Package metadata, build, lint, test config
└── environment.yml           # Conda environment

Citation

@article{silva2026scalable,
  author  = {Silva, Baggio Luiz de Castro e and Ferreira, Karine Reis and Queiroz, Gilberto Ribeiro de and Mota, Juliana and Monteiro, Erison C. S. and Teodoro, Mayara and Silva, Isabel Cristina de Oliveira and Silva, Murilo Brasil da and In{\'a}cio, Rodrigo Delgado and Aluvei, Rafael Andrade and Gomes, Agata Fabielle and Almeida, Claudio and Adami, Marcos},
  title   = {A Scalable Clustering-Based Method for Vegetation Mapping in Large Areas Using Satellite Image Time Series},
  journal = {Remote Sensing},
  year    = {2026},
  publisher = {MDPI},
}

License

GPL-3.0-only. See LICENSE.

About

Compendium for "A Scalable Clustering-Based Method for Vegetation Mapping in Large Areas Using Satellite Image Time Series" — SOM + HCA/DTW clustering pipeline for SITS, applied to secondary-vegetation classification in TerraClass Cerrado 2024.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages