[R-sig-Geo] Using main memory as cache to raster objects

Paulo Felipe paulofelipe.feitosa at gmail.com
Wed Mar 28 03:48:22 CEST 2018


Hello everyone, I am trying to use main memory in R as cache to rasters
objects, but I am having some problems with overwriting rasters in disk.

To implement the cache, I am limiting the number of rasters that can be
used in the S3 class cacheManager
<https://github.com/ufcg-lsd/SEBAL/blob/sebal-experiment/workspace/R/cacheManager.R>
.

The main features that I am trying to implement is:

   1. put a raster object, already allocated, in the cacheManager
   2. get a raster object from the cacheManager

As we know, in the first feature exist a border case, that is when the
number of raster objects is greater than the cacheManager size. In this
case, I just save in disk one of the rasters objects and put the new raster in
the cacheManager.

This solution appears be reachable, at least to me, but I am stuck in the
save to disk part. To save rasters in disk I tried to use the functions
'writeRaster' and 'writeValues'.

Specifically, my problem is when I already had a version of the same raster
written on disk, this seems to be solvable using the 'overwrite=TRUE'
parameter in the functions 'writeRaster' and 'writeValues', but I got some
errors in each implementation:

   1. writeRaster - 'filenames of source and target should be different' you
   can see this error message in the raster package code
   <https://github.com/cran/raster/blob/2.6-7/R/writeRaster.R>;
   2. writeValues - save the rasters in the disk, but when I read the
   raster from disk, all values came as NA.

Note that I have little experience with rasters and R, if you see anything
stupid or stranger, please alert me.

So, anyone has a suggestion of a better implementation to save the rasters
in disk? Or can see any error in the save in disk implementation?

*OBS: you can reproduce the error that I got just running this code
<https://github.com/ufcg-lsd/SEBAL/blob/sebal-experiment/workspace/R/cacheManager.R#L138>.*

-- 

*Paulo Felipe*

	[[alternative HTML version deleted]]



More information about the R-sig-Geo mailing list