R: Temporary files

rasterTmpFile {raster} | R Documentation

## Temporary files

### Description

Functions in the raster package create temporary files if the values of an output RasterLayer cannot be stored in memory (RAM). This can happen when no filename is provided to a function and in functions where you cannot provide a filename (e.g. when using 'raster algebra').

Temporary files are automatically removed at the start of each session. During a session you can use `showTmpFiles` to see what is there and `removeTmpFiles` to delete all the temporary files. `rasterTmpFile` returns a temporary filename. These can be useful when developing your own functions. These filenames consist of `prefix_date_time_pid_rn` where `pid` is the process id returned by `Sys.getpid` and `rn` is a 5 digit random number. This should make tempfiles unique if created at different times and also when created in parallel processes (different pid) that use `set.seed` and call rasterTmpFile at the same time. It is possible, however, to create overlapping names (see the examples), which is undesirable and can be avoided by setting the prefix argument.

### Usage

    rasterTmpFile(prefix='r_tmp_')
    showTmpFiles()
    removeTmpFiles(h=24)

### Arguments

`prefix` | Character. Prefix to the filename (which will be followed by 10 random numbers)
`h` | Numeric. The minimum age of the files in number of hours (younger files are not deleted)

### Details

The default path where the temporary files are stored is returned (can be changed with `rasterOptions`).

### Value

`rasterTmpFile` returns a valid file name

`showTmpFiles` returns the names (.grd only) of the files in the temp directory

`removeTmpFiles` returns nothing

### See Also

`rasterOptions`, `tempfile`

### Examples

    ## Not run:
    rasterTmpFile('mytemp_')
    showTmpFiles()
    removeTmpFiles(h=24)

    # It is possible (but undesirable!) to create overlapping temp file names.
    for (i in 1:10) {
    	set.seed(0)
    	print(rasterTmpFile())
    }
    That can be avoided by using a prefix
    for (i in 1:10) {
    	set.seed(0)
    	print(rasterTmpFile(prefix=paste('i', i, '_', sep='')))
    }

    ## End(Not run)

[Package raster version 2.6-7 Index]