<div dir="ltr">Lendo a mensagem de erro, vemos que Lmax não foi definido.<div>Olhando seu programa, Lmax só é definido quando band é 2, ou 3, ou 4 ou 5.</div><div>Conclui-se que, na sua chamada de função, band não é igual a nenhum desses valores.</div><div><br></div><div>Quando a linha x <- Lmin + ((Lmax-Lmin)*x)/Qmax é executada, acontece o erro.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-02-03 17:44 GMT-02:00 ASANTOS <span dir="ltr"><<a href="mailto:alexandresantosbr@yahoo.com.br" target="_blank">alexandresantosbr@yahoo.com.br</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div 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 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 (<a href="http://is.na" target="_blank">is.na</a>(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 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: <a href="tel:%28%2B55%29%2065%208132-8112" value="+556581328112" target="_blank">(+55) 65 8132-8112</a> (TIM) <a href="tel:%28%2B55%29%2065%209686-6970" value="+556596866970" target="_blank">(+55) 65 9686-6970</a> (VIVO)
<a href="mailto:e-mails:alexandresantosbr@yahoo.com.br" target="_blank">e-mails:alexandresantosbr@yahoo.com.br</a>
<a href="mailto:alexandre.santos@cas.ifmt.edu.br" target="_blank">alexandre.santos@cas.ifmt.edu.br</a>
Lattes: <a href="http://lattes.cnpq.br/1360403201088680" target="_blank">http://lattes.cnpq.br/1360403201088680</a>
OrcID: <a href="http://orcid.org/0000-0001-8232-6722" target="_blank">orcid.org/0000-0001-8232-6722</a>
Researchgate: <a href="https://www.researchgate.net/profile/Alexandre_Santos10" target="_blank">https://www.researchgate.net/profile/Alexandre_Santos10</a>
LinkedIn: <a href="https://br.linkedin.com/in/alexandre-dos-santos-87961635" target="_blank">https://br.linkedin.com/in/alexandre-dos-santos-87961635</a>
======================================================================
</pre>
<div>Em 28/12/2015 16:22, ASANTOS escreveu:<br>
</div>
<blockquote 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 (<a href="http://is.na" target="_blank">is.na</a>(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>
</div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>