<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"Pré-formatação HTML Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.Pr-formataoHTMLChar
        {mso-style-name:"Pré-formatação HTML Char";
        mso-style-priority:99;
        mso-style-link:"Pré-formatação HTML";
        font-family:Consolas;
        color:black;}
span.EstiloDeEmail19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body bgcolor=white lang=PT-BR link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif";color:#1F497D'>Como
é que eu faço para rodar esta função?</span><span style='font-family:"Arial","sans-serif"'><o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal>Muito bem pesado Thiago, vou atentar a isso.<br>
<br>
        E agradeço também ao Cesar, nunca
havia usado a ferramenta de depuração e resolveu o meu problema.<br>
<br>
Segue minha função final, se alguém for trabalhar com imagens do Resourcesat e
sensor LISS IIII:<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>
    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>
    }<br>
    else if (band == 3) {<br>
    Lmax = 151.31<br>
    }<br>
    else if (band == 4) {<br>
    Lmax = 157.57<br>
    }<br>
    else if(band == 5) {<br>
    Lmax = 69.03<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>
<o:p></o:p></p>

<pre>-- <o:p></o:p></pre><pre>======================================================================<o:p></o:p></pre><pre>Alexandre dos Santos<o:p></o:p></pre><pre>Proteção Florestal <o:p></o:p></pre><pre>IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso<o:p></o:p></pre><pre>Campus Cáceres<o:p></o:p></pre><pre>Caixa Postal 244<o:p></o:p></pre><pre>Avenida dos Ramires, s/n<o:p></o:p></pre><pre>Bairro: Distrito Industrial <o:p></o:p></pre><pre>Cáceres - MT                      CEP: 78.200-000<o:p></o:p></pre><pre>Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)<o:p></o:p></pre><pre><a
href="mailto:e-mails:alexandresantosbr@yahoo.com.br">e-mails:alexandresantosbr@yahoo.com.br</a> <o:p></o:p></pre><pre>        <a
href="mailto:alexandre.santos@cas.ifmt.edu.br">alexandre.santos@cas.ifmt.edu.br</a> <o:p></o:p></pre><pre>Lattes: <a
href="http://lattes.cnpq.br/1360403201088680">http://lattes.cnpq.br/1360403201088680</a>                   <o:p></o:p></pre><pre>======================================================================<o:p></o:p></pre>

<div>

<p class=MsoNormal>Em 16/12/2015 21:11, Thiago V. dos Santos escreveu:<o:p></o:p></p>

</div>

<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'>

<div>

<div id="yui_3_16_0_1_1450310535638_3596">

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'>Uma opção mais eficiente (e provavelmente
mais legível) é aproveitar os recursos de vetorização do R.<o:p></o:p></span></p>

</div>

<div id="yui_3_16_0_1_1450310535638_3702">

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

</div>

<div id="yui_3_16_0_1_1450310535638_3597">

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'>O que eu tenho feito é criar um raster
stack com todas as bandas do landsat. Depois, eu crio uma lista com os
parametros de calibração de cada banda (que você vai ler nos arquivos de
calibração). Funciona melhor se você deixar todos os arquivos - imagens e
arquivos de calibração - em uma pasta só.<o:p></o:p></span></p>

</div>

<div id="yui_3_16_0_1_1450310535638_3598">

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

</div>

<div id="yui_3_16_0_1_1450310535638_3662">

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'>Assumindo que o raster stack tem o mesmo
tamanho da lista, você pode aplicar uma multiplicação direta para fazer a
calibração.<o:p></o:p></span></p>

</div>

<div id="yui_3_16_0_1_1450310535638_3660">

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'> <o:p></o:p></span></p>

</div>

<div id="yui_3_16_0_1_1450310535638_3601">

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'>Greetings, <o:p></o:p></span></p>

<div id="yui_3_16_0_1_1450310535638_3600">

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'> -- Thiago V. dos Santos<o:p></o:p></span></p>

</div>

<div id="yui_3_16_0_1_1450310535638_3659">

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

</div>

<div id="yui_3_16_0_1_1450310535638_3658">

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'>PhD student<o:p></o:p></span></p>

</div>

<div id="yui_3_16_0_1_1450310535638_3663">

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'>Land and Atmospheric Science<o:p></o:p></span></p>

</div>

<div id="yui_3_16_0_1_1450310535638_3664">

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'>University of Minnesota<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt;background:white'><span
style='font-size:10.0pt;font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

</div>

<div>

<div>

<div>

<div>

<p class=MsoNormal style='background:white'><span style='font-size:10.0pt;
font-family:"Arial","sans-serif"'>On Tuesday, December 15, 2015 1:46 PM, Cesar
Rabak <a href="mailto:cesar.rabak@gmail.com"><cesar.rabak@gmail.com></a>
wrote:</span><span style='font-family:"Helvetica","sans-serif"'><o:p></o:p></span></p>

</div>

<p class=MsoNormal style='margin-bottom:12.0pt;background:white'><span
style='font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

<div>

<div id=yiv0559910571>

<div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'>Alexandre,
<o:p></o:p></span></p>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

</div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'>A
melhor forma de você atacar esse problema é usar as facilidades de depuração do
R:<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

</div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'>>
?debug<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

</div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'>para
ver a documentação do depurador padrão.<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

</div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'>Um
tutorialzinho sobre seu uso pode ser encontrado aqui: <a
href="http://www.biostat.jhsph.edu/%7Erpeng/docs/R-debug-tools.pdf"
target="_blank">http://www.biostat.jhsph.edu/~rpeng/docs/R-debug-tools.pdf</a><br>
<br>
HTH<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'>--<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'>Cesar
Rabak<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

</div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

</div>

</div>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'><o:p> </o:p></span></p>

<div>

<p class=MsoNormal style='background:white'><span style='font-family:"Helvetica","sans-serif"'>2015-12-15
18:47 GMT-02:00 ASANTOS <<a href="mailto:alexandresantosbr@yahoo.com.br">alexandresantosbr@yahoo.com.br</a>>:<o:p></o:p></span></p>

<div id=yiv0559910571yqt42991>

<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;
margin-left:4.8pt;margin-right:0cm'>

<p class=MsoNormal style='margin-left:47.55pt;background:white'><span
style='font-family:"Helvetica","sans-serif"'>Caros Listeiros,<br>
<br>
<br>
         Estou tentando criar uma função abaixo para
converter um SpatialGridDataFrame originado de uma imagem de satélite para
reflectância, mas a função que eu criei (radconvL()) pelo excesso de else if
não esta funcionando. Meu problema é que não dá erro, o que normalmente ajuda a
detectar o problema, mas no meu caso a função nem funciona, segue meu CRM
abaixo, alguém poderia me ajudar?<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>
<br>
##Função para conversão DN para reflectância<br>
radconvL<-function(x, band = 2)<br>
{<br>
    BAND <- c("2", "3", "4",
"5")<br>
    band <- pmatch(band, BAND)<br>
    Lmin = 0<br>
    Qmax = 127<br>
<br>
    if (<a href="http://is.na/" target="_blank">is.na</a>(band))<br>
        stop("invalid band")<br>
<br>
    if (band == 2) {<br>
    Lmax = 120.64<br>
    results <- x<br>
    x <- as.vector(as.matrix(x))<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>
    else if (band == 3) {<br>
    Lmax = 151.31<br>
    results <- x<br>
    x <- as.vector(as.matrix(x))<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>
    else if (band == 4) {<br>
    Lmax = 157.57<br>
    results <- x<br>
    x <- as.vector(as.matrix(x))<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>
    else if(band == 5) {<br>
    Lmax = 69.03<br>
    results <- x<br>
    x <- as.vector(as.matrix(x))<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=2) ## Aqui não funciona e não sei porque<br>
teste<br>
<br>
<br>
Muito obrigado,<br>
<br>
-- <br>
======================================================================<br>
Alexandre dos Santos<br>
Proteção Florestal<br>
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso<br>
Campus Cáceres<br>
Caixa Postal 244<br>
Avenida dos Ramires, s/n<br>
Bairro: Distrito Industrial<br>
Cáceres - MT                 
    CEP: 78.200-000<br>
Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)<br>
<a href="mailto:e-mails%3Aalexandresantosbr@yahoo.com.br" target="_blank">e-mails:alexandresantosbr@yahoo.com.br</a><br>
        <a href="mailto:alexandre.santos@cas.ifmt.edu.br"
target="_blank">alexandre.santos@cas.ifmt.edu.br</a><br>
Lattes: <a href="http://lattes.cnpq.br/1360403201088680" target="_blank">http://lattes.cnpq.br/1360403201088680</a><br>
======================================================================<br>
<br>
</span><o:p></o:p></p>

</blockquote>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</blockquote>

<p class=MsoNormal><o:p> </o:p></p>

</div>


<br /><br />
<hr style='border:none; color:#909090; background-color:#B0B0B0; height: 1px; width: 99%;' />
<table style='border-collapse:collapse;border:none;'>
        <tr>
                <td style='border:none;padding:0px 15px 0px 8px'>
                        <a href="https://www.avast.com/antivirus">
                                <img border=0 src="http://static.avast.com/emails/avast-mail-stamp.png" alt="Avast logo" />
                        </a>
                </td>
                <td>
                        <p style='color:#3d4d5a; font-family:"Calibri","Verdana","Arial","Helvetica"; font-size:12pt;'>
                                Este email foi escaneado pelo Avast antivírus.
                                <br><a href="https://www.avast.com/antivirus">www.avast.com</a>
                        </p>
                </td>
        </tr>
</table>
<br />
</body>

</html>