[R-br] Obtenção de Valores em Pontos de Arquivo Raster x ASCII [RESOLVIDO]

ASANTOS alexandresantosbr em yahoo.com.br
Quinta Fevereiro 18 19:16:58 BRST 2016


Muito obrigado Éder e Thiago,

        Acredito que colocamos uma pedra sobre a questão!!! Priorizar 
raster() é = ganho de velocidade de processamentos e menor uso de memória.

-- 
======================================================================
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 em yahoo.com.br
         alexandre.santos em cas.ifmt.edu.br
Lattes: http://lattes.cnpq.br/1360403201088680
OrcID: orcid.org/0000-0001-8232-6722
Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10
LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635
======================================================================

Em 18/02/2016 06:28, Éder Comunello escreveu:
> Senhores, bom dia!
>
> Fiz o exercício abaixo, me preocupando mais com uso de memória. Nesse 
> quesito o pacote {raster} traz grandes vantagens. Além disso, formatos 
> binários otimizam a leitura e ocupam menor espaço em disco.
>
> ### <code r>
> setwd("D:/Temp")
> sapply(c("raster", "sp", "rgdal"), require, char=T)
>
> url0 <- 
> "http://download.osgeo.org/geotiff/samples/spot/chicago/UTM2GTIF.TIF"
> fn   <- basename(url0)
> # download.file(url0, fn, mode="wb")
>
> ### Leitura com pacotes {raster} e {readGDAL}...
> ### O pacote {raster} acessa informações do arquivo em disco,
> ### enquanto {readGDAL} carrega na memória.
> img1 <- raster(fn)
> img2 <- readGDAL(fn)
>
> par(mfrow=c(1,2))
> image(img1, asp=T, axes=F, ann=F); image(img2, asp=T)
> par(mfrow=c(1,1))
>
> print(object.size(img1), units="Kb") #   11.4 Kb
> print(object.size(img2), units="Kb") # 2540.9 Kb
>
> ### Você pode converter seu objeto para {raster}...
> ### Mas em princípio ele vai ficar residente na memória
> img2a <- raster(img2)
> print(object.size(img2a), units="Kb") # 2548 Kb
>
> ### Para economizar memória, você pode salvar no disco e reabrir com 
> {raster}
> ### Pode usar qualquer formato aceito por raster, inclusive ascii
> ### Mas formatos binários otimizam o acesso e leitura
> writeFormats()
> writeRaster(img2a, "novo.tif", "GTiff", overwrite=F)
> writeRaster(img2a, "novo.asc", "ascii", overwrite=F)
>
> rm(img2, img2a) ### apagar intermediários pra liberar memória
>
> system.time(img3a <- raster("novo.tif")) # 0.03s
> system.time(img3b <- raster("novo.asc")) # 0.06s
>
> print(object.size(img3a), units="Kb") # 11.4 Kb
> print(object.size(img3b), units="Kb") # 11.3 Kb
>
> file.info <http://file.info>(dir(patt="novo\\.")) ### tamanho no disco
> #             size isdir mode               mtime     ctime           
>     atime exe
> # novo.asc 2289309 FALSE  666 2016-02-18 05:50:06 2016-02-18 05:50:02 
> 2016-02-18 05:50:02  no
> # novo.tif 1249547 FALSE  666 2016-02-18 05:49:48 2016-02-18 05:49:48 
> 2016-02-18 05:49:48  no
>
> ###  tamanho no disco em "Mb"
> file.info <http://file.info>(dir(patt="novo\\."))$size/1024^2 # [1] 
> 2.183255 1.191661
>
> par(mfrow=c(1,2))
> image(img3a, asp=T); image(img3b, asp=T)
> par(mfrow=c(1,1))
>
> ### Geotiff preserva mais atributos...
> img3a
> # class       : RasterLayer
> # dimensions  : 929, 699, 649371  (nrow, ncol, ncell)
> # resolution  : 10, 10  (x, y)
> # extent      : 444650, 451640, 4631220, 4640510  (xmin, xmax, ymin, ymax)
> # coord. ref. : +proj=utm +zone=16 +datum=NAD27 +units=m +no_defs 
> +ellps=clrk66 +nadgrids=@conus, em alaska, em ntv2_0.gsb, em ntv1_can.dat
> # data source : D:\Temp\novo.tif
> # names       : novo
> # values      : 6, 255  (min, max)
>
> img3b
> # class       : RasterLayer
> # dimensions  : 929, 699, 649371  (nrow, ncol, ncell)
> # resolution  : 10, 10  (x, y)
> # extent      : 444650, 451640, 4631220, 4640510  (xmin, xmax, ymin, ymax)
> # coord. ref. : NA
> # data source : D:\Temp\novo.asc
> # names       : novo
> ### </code>
>
>> ================================================
> Éder Comunello
> Agronomist (UEM), MSc in Environ. Sciences (UEM)
> DSc in Agricultural Systems Engineering (USP/Esalq)
> Brazilian Agricultural Research Corporation (Embrapa)
> Dourados, MS, Brazil |<O>|
> ================================================
> GEO, -22.2752, -54.8182, 408m
> UTC-04:00 / DST: UTC-03:00
>
>
>
>
>

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160218/c11ec971/attachment.html>


Mais detalhes sobre a lista de discussão R-br