
22 Dez
2015
22 Dez
'15
09:58
Ainda não deu certo, veja: require(raster) Loading required package: raster Loading required package: sp > 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) + { + BAND <- c("2", "3", "4", "5") + band <- pmatch(band, BAND) + + if (is.na(band)) + stop("invalid band") + + Lmin = 0 + Qmax = 127 + x <- as.vector(as.matrix(x)) + results <- x + + if (band == 2) { + Lmax = 120.64 + } + else if (band == 3) { + Lmax = 151.31 + } + else if (band == 4) { + Lmax = 157.57 + } + else if (band == 5) { + Lmax = 69.03 + } + + 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 + results + } Error in ---------------------------radconvL <- function(x, band = 2) { : object 'radconvL' not found > ######-- > > teste<-radconvL(band2, band = 2) Error: could not find function "radconvL" > teste Error: object 'teste' not found Boa tarde Mauro, Segue a função abaixo a uma simulação de um raster, como se fosse uma imagem de satélite e o emprego da função radconvL(): 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) { BAND <- c("2", "3", "4", "5") band <- pmatch(band, BAND) if (is.na(band)) stop("invalid band") Lmin = 0 Qmax = 127 x <- as.vector(as.matrix(x)) results <- x if (band == 2) { Lmax = 120.64 } else if (band == 3) { Lmax = 151.31 } else if (band == 4) { Lmax = 157.57 } else if (band == 5) { Lmax = 69.03 } 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 results } ######-- teste<-radconvL(band2, band = 2) teste -- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ====================================================================== --- Este email foi escaneado pelo Avast antivírus. https://www.avast.com/antivirus