Processing Large Rasters Using Tiling and Parallelization: An R + Saga Gis + Grass Gis Tutorial
Processing Large Rasters Using Tiling and Parallelization: An R + Saga Gis + Grass Gis Tutorial
Processing Large Rasters Using Tiling and Parallelization: An R + Saga Gis + Grass Gis Tutorial
a. A systematic approach,
2. Example 1
3. Example 2
4. Conclusions
b. Some work-arounds
3V's of big data
> r = raster("ESACCI-LC-L4-LCCS-Map-300m-P5Y-2010-v1.6.1.tif")
> r
class : RasterLayer
dimensions : 64800, 129600, 8398080000 (nrow, ncol, ncell)
resolution : 0.002777778, 0.002777778 (x, y)
extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
data source : /data/LDN/ESACCI-LC-L4-LCCS-Map-300m-P5Y-2010-v1.6.1.tif
names : ESACCI.LC.L4.LCCS.Map.300m.P5Y.2010.v1.6.1
values : 0, 255 (min, max)
Objective: derive land cover change per pixel
Steps:
1. Prepare a tiling system,
2. Prepare functions for processing tiles,
3. Run in parallel (snowfall)
4. Generate a mosaic and build with
pyramids (GDAL),
Server
sfInit(parallel=TRUE, cpus=64)
snowfall 1.84-6.1 initialized (using snow 0.4-1): parallel execution
on 64 CPUs.