This repository contains a collection of raster processing benchmarks for Python and R packages. The tests cover the most common operations such as loading data, extracting values by points, downsampling, calculating NDVI, writing multilayer, cropping by extent and calculating zonal statistics. The comparison is made from the user's perspective (the simplest functions are used and the code is not optimized), so the results do not represent the best performance.
The detailed results are available at https://kadyb.github.io/raster-benchmark/report.html.
You may also be interested in the vector processing benchmarks.
Python:
R:
- Download raster data (851 MB) from Google Drive or Earth Explorer (original source, registration required) and then unzip to
data/
. - Run all benchmarks using batch script (
run_benchmarks.sh
) or single benchmarks files.
Batch script
cd raster-benchmark
./run_benchmarks.sh
Single benchmark
Rscript stars/crop.R
python3 rasterio/crop.py
Landsat 8 satellite scene (10 bands, 30 m resolution, 7771 x 7871 pixels) was used for tests.
Scene ID: LC08_L1TP_190024_20200418_20200822_02_T1
- CPU: Intel Xeon CPU E5-2620 v2 @ 2.10GHz
- RAM: 64 GB
- OS: Pop!_OS 20.04 LTS
Landsat-8 image courtesy of the U.S. Geological Survey, https://earthexplorer.usgs.gov/