Skip to content

Question raster package

4 messages · Peter van Horssen, Robert J. Hijmans, milton ruser

#
I have a raster object with 3 bands:
(How) Can I obtain the info for each different band ?
Can I use a command like reclass on all three bands (with different 
classification definitions
for each band) ?

thanks in advance,

Peter
#
Peter,

You can create a separate RasterLayer object for each band:

fn <- 'myfile.ext'
r1 <- raster(fn, band=1)
r2 <- raster(fn, band=2)
r3 <- raster(fn, band=3)


you can also first create a RasterStack of all bands
s <- stack(fn, bands=-1)
and then extract a RasterLayer whenever you want it
r <- raster(s, layer=1)

Robert



2009/6/22 Peter van Horssen <p.w.van.horssen at buwa.nl>:
#
Thanks Robert,
so actualy bands ~ layers .... ;-)

I tried your 2nd example ; raster(s, layer = 1 ) but this failes.
-----------------
 > raster(s, layer=1)
Error in .local(x, ...) : unused argument(s) (layer = 1)
-----------------

however raster(s,c(1)) works:

-------------------------
 > raster(s,c(1))
class       : RasterLayer
filename    : test
band        : 1
nrow        : 1024
ncol        : 1280
ncells      : 1310720
min value   : 0
max value   : 255
projection  : NA
xmin        : 0
xmax        : 1280
ymin        : 1
ymax        : 1025
xres        : 1
yres        : 1
-------------------------


(raster version 0.8.9-21 (23-May-2009);  R 2.8.1 on win XP)

I guess commands (like reclass etc) need to be applied seperately to 
each layer.

Peter


Robert Hijmans schreef: