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