R/cache-helpers.R
prepareFileBackedRaster.RdRasters are sometimes file-based, so the normal save and copy and assign
mechanisms in R don't work for saving, copying and assigning.
This function creates an explicit file copy of the file that is backing the raster,
and changes the pointer (i.e., filename(object)) so that it is pointing
to the new file.
.prepareFileBackedRaster(obj, repoDir = NULL)
| obj | The raster object to save to the repository. |
|---|---|
| repoDir | Character denoting an existing directory in which an artifact will be saved. |
| ... | passed to |
A raster object and its newly located file backing.
Note that if this is a legitimate archivist repository, the new location
will be a subdirectory called rasters/ of repoDir/.
If this is not a repository, the new location will be within repoDir.
#>r <- raster(extent(0,10,0,10), vals = 1:100) # write to disk manually -- will be in tempdir() r <- writeRaster(r, file = tempfile()) # copy it to the cache repository r <- .prepareFileBackedRaster(r, tempdir()) r # now in "rasters" subfolder of tempdir()#> class : RasterLayer #> dimensions : 10, 10, 100 (nrow, ncol, ncell) #> resolution : 1, 1 (x, y) #> extent : 0, 10, 0, 10 (xmin, xmax, ymin, ymax) #> coord. ref. : NA #> data source : /tmp/RtmpzknuyG/rasters/file12bc2c9feff3.grd #> names : layer #> values : 1, 100 (min, max) #>