[R-sig-Geo] Faster way to get raster average?
Thiago V. dos Santos
thi_veloso at yahoo.com.br
Wed May 6 03:48:32 CEST 2015
Hi all,
I am working with some terabytes of CMIP5 climate files. Each file is a netcdf with multiple layers (timesteps) representing monthly data.
For each file, I need to extract the average value of the raster and put all values in a data frame. This is my current approach:---------------
library(raster)
# make up some datacmip <- brick(nc=150, nr=114, nl=1872)cmip <- setValues(cmip, matrix(rep(1:17100, 1872), nc=1872))
# get mean values (area average) as data framescmip.mean <- as.data.frame(cellStats(cmip, mean, na.rm=T))---------------
which works pretty fast in this example:
> system.time(as.data.frame(cellStats(cmip, mean, na.rm=T)))
user system elapsed
0.069 0.012 0.081
However, the calculation with my actual data is substantially slower:
> system.time(as.data.frame(cellStats(cmip, mean, na.rm=T)))
user system elapsed
4.600 1.105 5.704
Since I will have to deal with thousands of files, here comes my question: is there a faster way to get a the average value of a raster ?
Many thanks,
--
Thiago V. dos Santos
PhD student
Land and Atmospheric Science
University of Minnesota
http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm
Phone: (612) 323 9898
[[alternative HTML version deleted]]
More information about the R-sig-Geo
mailing list