Fiz apenas uma pequena alteração indicada no código.
### <code r>
require(raster)
require(sp)
# RasterLayer inventado
r <- raster(nrows=10, ncols=10)
r <- setValues(r, 1:ncell(r))
plot(r)
band2<- as(r, 'SpatialGridDataFrame') ### transforma em SpatialGridDataFrame
##Função para conversão DN para radiância - LISS III ---------------------------
radconvL<-function(x, band = 2)
{
Lmax <- switch(as.character(band),
"2" = 120.64,
"3" = 151.31,
"4" = 157.57,
"5" = 69.03,
NA)
if (is.na(Lmax)) stop("invalid band")
Lmin = 0
Qmax = 127
x <- as.vector(as.matrix(x))
results <- band2 ### <==== alterado aqui!!!
x <- Lmin + ((Lmax-Lmin)*x)/Qmax
if (class(results) == "SpatialGridDataFrame")
results@data[, 1] <- x
else if (is.data.frame(x))
results <- data.frame(matrix(x, nrow = nrow(results),
ncol = ncol(results)))
else results <- x
print(paste(band, Lmax))
print(results)
results
}
######--
teste2<-radconvL(band2, band = 2)
spplot(teste2)
teste3<-radconvL(band2, band = 3)
teste1<-radconvL(band2, band = 1)
### </code>