[R-br] Função com vários if e else if que não é SpatialGridDataFrame

Éder Comunello comunello.eder em gmail.com
Segunda Fevereiro 8 13:14:38 BRST 2016


Alexandre, bom dia!

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 em 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>



​
================================================
Éder Comunello
PhD Student in Agricultural Systems Engineering (USP/Esalq)
Brazilian Agricultural Research Corporation (Embrapa)
Dourados, MS, Brazil [22 16.5'S, 54 49.0'W]
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160208/09d04cf3/attachment.html>


Mais detalhes sobre a lista de discussão R-br