<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Caros Listeiros,<br>
<br>
A um mês atrás eu consegui criar a função abaixo com a ajuda
de vocês, no entanto, descobri que ela funciona quando seleciono
band=3, 4 ou 5, mas para band=2 que é a primeira condição da função
não funciona (<span class="GEM3DMTCPFB ace_constant" style="color:
rgb(197, 6, 11);">Error in radconvL(band2, band = 2) : object
'Lmax' not found</span> ), alguém poderia me ajudar?<br>
<br>
Segue CRM:<br>
<br>
require(raster)<br>
require(sp)<br>
<br>
# RasterLayer inventado<br>
r <- raster(nrows=10, ncols=10)<br>
r <- setValues(r, 1:ncell(r))<br>
plot(r)<br>
<br>
band2<- as(r, 'SpatialGridDataFrame') ### transforma em
SpatialGridDataFrame<br>
<br>
<br>
##Função para conversão DN para radiância - LISS III
---------------------------<br>
radconvL<-function(x, band = 2)<br>
{<br>
BAND <- c("2", "3", "4", "5")<br>
band <- pmatch(band, BAND)<br>
<br>
if (is.na(band))<br>
stop("invalid band")<br>
<br>
Lmin = 0<br>
Qmax = 127<br>
x <- as.vector(as.matrix(x))<br>
results <- x<br>
<br>
if(band == 2) {<br>
Lmax <- 120.64<br>
} else if(band == 3) {<br>
Lmax <- 151.31<br>
} else if(band == 4) {<br>
Lmax <- 157.57<br>
} else if(band == 5) {<br>
Lmax <- 69.03<br>
}<br>
<br>
<br>
x <- Lmin + ((Lmax-Lmin)*x)/Qmax<br>
if (class(results) == "SpatialGridDataFrame")<br>
results@data[, 1] <- x<br>
else if (is.data.frame(x))<br>
results <- data.frame(matrix(x, nrow = nrow(results),<br>
ncol = ncol(results)))<br>
else results <- x<br>
results<br>
}<br>
######--<br>
<br>
teste2<-radconvL(band2, band = 2)<br>
teste2 <br>
<br>
Obrigado,<br>
<br>
<br>
<pre class="moz-signature" cols="72">--
======================================================================
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)
<a class="moz-txt-link-abbreviated" href="mailto:e-mails:alexandresantosbr@yahoo.com.br">e-mails:alexandresantosbr@yahoo.com.br</a>
<a class="moz-txt-link-abbreviated" href="mailto:alexandre.santos@cas.ifmt.edu.br">alexandre.santos@cas.ifmt.edu.br</a>
Lattes: <a class="moz-txt-link-freetext" href="http://lattes.cnpq.br/1360403201088680">http://lattes.cnpq.br/1360403201088680</a>
OrcID: orcid.org/0000-0001-8232-6722
Researchgate: <a class="moz-txt-link-freetext" href="https://www.researchgate.net/profile/Alexandre_Santos10">https://www.researchgate.net/profile/Alexandre_Santos10</a>
LinkedIn: <a class="moz-txt-link-freetext" href="https://br.linkedin.com/in/alexandre-dos-santos-87961635">https://br.linkedin.com/in/alexandre-dos-santos-87961635</a>
======================================================================
</pre>
<div class="moz-cite-prefix">Em 28/12/2015 16:22, ASANTOS escreveu:<br>
</div>
<blockquote cite="mid:56818BFE.2060500@yahoo.com.br" type="cite">require(raster)
<br>
require(sp) <br>
<br>
# RasterLayer inventado <br>
r <- raster(nrows=10, ncols=10) <br>
r <- setValues(r, 1:ncell(r)) <br>
plot(r) <br>
<br>
band2<- as(r, 'SpatialGridDataFrame') ### transforma em <br>
SpatialGridDataFrame <br>
<br>
<br>
##Função para conversão DN para radiância - LISS III
--------------------------- <br>
radconvL<-function(x, band = 2) <br>
{ <br>
BAND <- c("2", "3", "4", "5") <br>
band <- pmatch(band, BAND) <br>
<br>
if (is.na(band)) <br>
stop("invalid band") <br>
<br>
Lmin = 0 <br>
Qmax = 127 <br>
x <- as.vector(as.matrix(x)) <br>
results <- x <br>
<br>
if(band == 2) { <br>
Lmax <- 120.64 <br>
} else if(band == 3) { <br>
Lmax <- 151.31 <br>
} else if(band == 4) { <br>
Lmax <- 157.57 <br>
} else if(band == 5) { <br>
Lmax <- 69.03 <br>
} <br>
<br>
<br>
x <- Lmin + ((Lmax-Lmin)*x)/Qmax <br>
if (class(results) == "SpatialGridDataFrame") <br>
results@data[, 1] <- x <br>
else if (is.data.frame(x)) <br>
results <- data.frame(matrix(x, nrow = nrow(results),
<br>
ncol = ncol(results))) <br>
else results <- x <br>
results <br>
} <br>
######-- <br>
<br>
teste<-radconvL(band2, band = 4) <br>
teste </blockquote>
<br>
</body>
</html>