writeRaster | R Documentation |
Write an entire Raster* object to a file, using one of the many supported formats. See writeValues
for writing in chunks (e.g. by row).
When writing a file to disk, the file format is determined by the 'format=' argument if supplied, or else by the file extension (if the extension is known). If other cases the default format is used. The default format is 'raster', but this setting can be changed (see rasterOptions
).
## S4 method for signature 'RasterLayer,character'
writeRaster(x, filename, format, ...)
## S4 method for signature 'RasterStackBrick,character'
writeRaster(x, filename, format, bylayer, suffix='numbers', ...)
x |
Raster* object |
filename |
Output filename |
format |
Character. Output file type. See |
... |
Additional arguments:
You can use options=c("PROFILE=BASELINE") to create a plain tif with no GeoTIFF tags. This can be useful when writing files to be read by applications intolerant of unrecognised tags. NetCDF files have the following additional, optional, arguments:
|
bylayer |
if |
suffix |
'numbers' or 'names' to determine the suffix that each file gets when |
See writeFormats
for supported file types ("formats", "drivers").
In multi-layer files (i.e. files saved from RasterStack or RasterBrick objects), in the native 'raster' format, the band-order can be set to BIL ('Bands Interleaved by Line'), BIP ('Bands Interleaved by Pixels') or BSQ ('Bands SeQuential'). Note that bandorder is not the same as filetype here.
Supported file types include:
File type | Long name | default extension | Multiband support | |
raster | 'Native' raster package format | .grd | Yes | |
ascii | ESRI Ascii | .asc | No | |
SAGA | SAGA GIS | .sdat | No | |
IDRISI | IDRISI | .rst | No | |
CDF | netCDF (requires ncdf4) | .nc | Yes | |
GTiff | GeoTiff | .tif | Yes | |
ENVI | ENVI .hdr Labelled | .envi | Yes | |
EHdr | ESRI .hdr Labelled | .bil | Yes | |
HFA | Erdas Imagine Images (.img) | .img | Yes | |
This function is used for the side-effect of writing values to a file.
writeFormats
, writeValues
tmp <- tempdir()
r <- raster(system.file("external/test.grd", package="raster"))
# take a small part
r <- crop(r, extent(179880, 180800, 329880, 330840) )
# write to an integer binary file
rf <- writeRaster(r, filename=file.path(tmp, "allint.grd"), datatype='INT4S', overwrite=TRUE)
# make a brick and save multi-layer file
b <- brick(r, sqrt(r))
bf <- writeRaster(b, filename=file.path(tmp, "multi.grd"), bandorder='BIL', overwrite=TRUE)
# write to a new geotiff file
rf <- writeRaster(r, filename=file.path(tmp, "test.tif"), format="GTiff", overwrite=TRUE)
bf <- writeRaster(b, filename=file.path(tmp, "multi.tif"),
options="INTERLEAVE=BAND", overwrite=TRUE)
# write to netcdf
if (require(ncdf4)) {
rnc <- writeRaster(r, filename=file.path(tmp, "netCDF.nc"), format="CDF", overwrite=TRUE)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.