[R-br] Digest R-br, volume 62, assunto 26

Mateus Dias Nunes nunes.mateusdias em gmail.com
Segunda Fevereiro 22 16:41:12 BRT 2016


Olá,

Obtive ótimos resultados com as sujestões.
Desculpem a demora para passar o feedback das minhas dúvidas.


O único problema que tive que ainda não solucionei foi com relação ao
atributo "margin":

levelplot(r1, margin=F, contour=T)    ele me retorna a este erro:

Error in do.call("constructMargin", margin) : second argument must be a list


ai eu substituo por "margin=T" e ele apresenta a figura com essas bordas
https://www.dropbox.com/s/l8q3sttsqg3iu2s/ozone.pdf?dl=0


o que eu acredito que faz com que a barra de cores fique na horizontal(não
que seja problema a orientação da barra).



ASCii

quanto a geração do arquivo de saida do tipo ascii eu consegui realizar com
êxito.


Muito obrigado pelas sujestões
*Thiago V. dos Santos *e * Éder Comunello*




____________________________________________________________________________

MATEUS DIAS NUNES
MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET
UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL
TELEFONE: +55 (53) 81125154
____________________________________________________________________________

Em 21 de fevereiro de 2016 12:00, <r-br-request em listas.c3sl.ufpr.br>
escreveu:

> Enviar submissões para a lista de discussão R-br para
>         r-br em listas.c3sl.ufpr.br
>
> Para se cadastrar ou descadastrar via WWW, visite o endereço
>         https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
> corpo da mensagem para
>         r-br-request em listas.c3sl.ufpr.br
>
> Você poderá entrar em contato com a pessoa que gerencia a lista pelo
> endereço
>         r-br-owner em listas.c3sl.ufpr.br
>
> Quando responder, por favor edite sua linha Assunto assim ela será
> mais específica que "Re: Contents of R-br digest..."
>
>
> Tópicos de Hoje:
>
>    1. Re: Cores em mapas (salah)
>    2. Re: Cores em mapas (Éder Comunello)
>    3. Re: Cores em mapas (Thiago V. dos Santos)
>    4. Gerar arquivo de saída ascii (Mateus Dias Nunes)
>    5. Re: Gerar arquivo de saída ascii (Éder Comunello)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sat, 20 Feb 2016 16:46:44 -0200
> From: salah <salah3.1416 em gmail.com>
> To: r-br em listas.c3sl.ufpr.br
> Subject: Re: [R-br] Cores em mapas
> Message-ID: <56C8B494.2040303 em gmail.com>
> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>
> Olá Mateus
>
> segue sugestão:
>
> ## paleta de cores
> cor1 = heat.colors(15)
> cor2 = terrain.colors(15)
> cor3 = topo.colors(15, alpha = .5)
> cor4 = palette(rainbow(9))
> library(RColorBrewer)
> cor5 = brewer.pal(7, "BrBG")
>
> contour(
>          sort(lon),
>          lat,
>          levels = intervalos,
>          nlevels = 15,
>          media_ColumnAmountO3[ order(lon), ],
>          add = T,
>          lwd = 2,
>          col = cor1,
>          labcex = 1.3)
>
> ## usando o pacote raster
> library(raster)
> oz = raster('teste.nc')
> xlim = c(-100, -10)
> ylim = c(-60, 10)
> plot(oz, xlim = xlim, ylim = ylim)
> map(xlim = xlim, ylim = ylim, add = TRUE, col = "black")
> title(main = "Campo médio de Ozônio Novembros" )
> contour(oz, add = TRUE, xlim = xlim, ylim = ylim)
>
> saudações
>
> Em 19/02/2016 17:18, Mateus Dias Nunes escreveu:
> > Olá eu gostaria de colocar cores (com a barra de cores ao lado da
> > figura) no meu mapa ao invés de usar os contornos com a função "contour";
> > abaixo o link da figura que consegui gerar através dessa função.
> >
> > https://www.dropbox.com/s/xi622mbpqg7tgch/campo_medio_O3.png?dl=0
> >
> > abaixo o script que gerou o grafico com os contornos.
> >
> >
> >
> > # Carregando biblioteca para manipular arquivos netCDF
> >
> > library(maps)
> > library(ncdf4)
> >
> #==========================================================================
> >
> >
> > #BIBLIOTECA "ncdf4".
> > # PARA ESTE EXEMPLO SÃO USADOS RECURSOS PARA ABRIR A BIBLIOTECA )
> > #POIS RNetCDF, ncdf e ncdf4 APRESENTAM COMANDOS DIFERENTES PARA
> > ABRIRMOS AS VARIÁVEIS
> >
> >
> >  dados <- nc_open('teste.nc <http://teste.nc>')
> > # lendo coordenadas espaço-temporal
> > lat <- ncvar_get( dados, 'lat' )
> > lon <- ncvar_get( dados, 'lon' )
> > time <- ncvar_get( dados, 'time' )
> >
> >
> #=======================================================================================================
> >
> > # lendo dados coluna total de Ozônio
> > ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )
> >
> > # dimensoes da variavel ColumnAmountO3
> > dims_ColumnAmountO3 <- dim(ColumnAmountO3)
> >
> > # tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos
> > de grade X tempo
> >
> > dim(ColumnAmountO3) <- c(
> > dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2], dims_ColumnAmountO3[3] )
> >
> > # calculando a média e retornado-a em 2D
> >
> > media_ColumnAmountO3 <- rowMeans( ColumnAmountO3)
> > dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1],
> > dims_ColumnAmountO3[2] )
> >
> >
> #==========================================================================================================
> > # longitude varia de 0 a 360, convertendo para -180 a 180, essa
> > conversão é feita para plotagem sobre o mapa
> > for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }
> >
> >
> > # criando arquivo PNG que receberá o campo com o mapa
> >
> > #png( filename="campo_medio_O3_jan2005.png",width=600,height=800 )
> >
> > # plotando mapa da America do Sul
> > map( xlim=c(-100,-10), ylim=c(-60,10) )
> > map.axes()              # plotando eixos
> > title( main="Campo médio de ozonio janeiros" )   # título do gráfico
> >
> > # definindo intervalo de 5 Dobson Units (DU)
> > intervalos = seq( trunc(min(ColumnAmountO3)),
> > trunc(max(ColumnAmountO3)), 5 )
> >
> > # adicionando campo de coluna de ozonio
> >
> >
> > contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T,
> > levels=intervalos, lwd=2, labcex=1.3, col="black" )
> >
> >
> > # fechando arquivo PNG
> > #dev.off()
> >
> >
> > obrigado
> >
> ____________________________________________________________________________
> >
> > MATEUS DIAS NUNES
> > MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET
> > UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL
> > TELEFONE: +55 (53) 81125154
> >
> ____________________________________________________________________________
> >
> >
> > _______________________________________________
> > R-br mailing list
> > R-br em listas.c3sl.ufpr.br
> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a
> c�digo m�nimo reproduz�vel.
>
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160220/2a7a5001/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 2
> Date: Sat, 20 Feb 2016 18:15:55 -0300
> From: Éder Comunello <comunello.eder em gmail.com>
> To: "r-br em listas.c3sl.ufpr.br" <r-br em listas.c3sl.ufpr.br>
> Subject: Re: [R-br] Cores em mapas
> Message-ID:
>         <
> CABmC8gmAVX1Hsd7xViw+Lk6_aJqAruPTNhZzYqZJmOzAC9JeUg em mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Senhores, boa tarde!
>
> Outra opção:
>
> intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5
> )
> map( xlim=c(-100,-10), ylim=c(-60,10)) -> tmp
> filled.contour(sort(lon), lat, media_ColumnAmountO3[order(lon),],
>                levels=intervalos, lwd=2, col=terrain.colors(14),
>                xlim=c(-100,-10), ylim=c(-60,10),
>                plot.axes={axis(1); axis(2); lines(tmp)})
> title( main="Campo médio de ozonio janeiros" )   # título do gráfico
>
>
>>
>> ================================================
> É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/20160220/03a857a9/attachment-0001.html
> >
> -------------- Próxima Parte ----------
> Um anexo não-texto foi limpo...
> Nome: Rplot_tmp.png
> Tipo: image/png
> Tamanho: 7776 bytes
> Descrição: não disponível
> URL: <
> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160220/03a857a9/attachment-0001.png
> >
>
> ------------------------------
>
> Message: 3
> Date: Sat, 20 Feb 2016 21:33:53 +0000 (UTC)
> From: "Thiago V. dos Santos" <thi_veloso em yahoo.com.br>
> To: "r-br em listas.c3sl.ufpr.br" <r-br em listas.c3sl.ufpr.br>
> Subject: Re: [R-br] Cores em mapas
> Message-ID:
>         <978737470.349160.1456004033164.JavaMail.yahoo em mail.yahoo.com>
> Content-Type: text/plain; charset=UTF-8
>
> Acho que você procura a função filled.contour, ao invés de contour.
> Experimente:
>
> filled.contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ])
> map( xlim=c(-100,-10), ylim=c(-60,10), add=T)
>
>
> Ou então eu deixo aqui algumas sugestões usando o levelplot (vai precisar
> baixar o shapefile da AS em anexo):
>
> ----------------------
> library(raster)
> library(rasterVis)
>
> # Abre Arquivo
> r <- brick("~/Downloads/teste.nc")
>
> # Tira média dos dois mapas
> r1 <- calc(r, fun=mean)
>
> # Uma das vantagens de usar raster/rasterVis: depois de duas linhas de
> código, já estamos plotando os dados
> levelplot(r1, margin=F, contour=T)
>
> # Descompacta e abre contorno da América do Sul para adicionar ao plot
> #(precisa baixar arquivo em anexo ou do link
> http://thematicmapping.org/downloads/TM_WORLD_BORDERS_SIMPL-0.3.zip)
>
> unzip("~/Downloads/TM_WORLD_BORDERS_SIMPL-0.3.zip")
> mapaSHP <- shapefile('TM_WORLD_BORDERS_SIMPL-0.3.shp')
>
> # Plota com contorno da America do Sul
> levelplot(r1, margin=F, contour=T, main="Campo médio de Ozônio Novembros")
> + layer(sp.lines(mapaSHP, lwd=0.7, col='black'))
>
> # Quer mudar a cor? Basta mudar as configurações de 'par.settings'
> levelplot(r1, margin=F, contour=T, main="Campo médio de Ozônio Novembros",
> par.settings=RdBuTheme) + layer(sp.lines(mapaSHP, lwd=0.7, col='black'))
>
> # Também é possível criar a sua própria paleta de cores, usando o pacote
> Rcolorbrewer
> # Veja aconselhamento para cores de mapa aqui: http://colorbrewer2.org/
> # Vou criar uma escala sequencial, com 5 tons de azul
> # Você pode ver todas as paletas disponíveis no pacote digitando
> display.brewer.all()
> my.Theme=rasterTheme(region=brewer.pal('Blues', n=5))
>
> # Aqui eu personalizo a escala usando os valores do raster e um numero
> maior de quebras
> intervalos <- seq(trunc(min(values(r1))), trunc(max(values(r1))),
> length.out=length(my.Theme$regions$col)-1)
>
> # Plota
> p <- levelplot(r1, margin=F, contour=T, par.settings=my.Theme,
> at=intervalos, main="Campo médio de Ozônio Novembros")
> p + layer(sp.lines(mapaSHP, lwd=0.7, col='black'))
>
> # Para salvar, eu recomendo copiar a imagem direto do display para um
> arquivo pdf
> dev.copy2pdf(file="~/Desktop/ozone.pdf", width = 11, height = 8.5)
>
> # Depois fica fácil convertê-la para png em altíssima resolução (600dpi)
> usando o ImageMagick (que precisa estar instalado):
> # Assim a sua imagem está de acordo com as normas de publicação das
> principais revistas científicas
> system("convert -density 600 ~/Desktop/ozone.pdf ~/Desktop/ozone.png")
>
>
> Veja o resultado final:
> https://dl.dropboxusercontent.com/u/27700634/ozone.png
>
> Greetings,
>  -- Thiago V. dos Santos
>
> PhD student
> Land and Atmospheric Science
> University of Minnesota
>
>
> On Friday, February 19, 2016 1:18 PM, Mateus Dias Nunes <
> nunes.mateusdias em gmail.com> wrote:
>
>
>
> Olá eu gostaria de colocar cores (com a barra de cores ao lado da figura)
> no meu mapa ao invés de usar os contornos com a função "contour";
> abaixo o link da figura que consegui gerar através dessa função.
>
> https://www.dropbox.com/s/xi622mbpqg7tgch/campo_medio_O3.png?dl=0
>
> abaixo o script que gerou o grafico com os contornos.
>
>
>
>
> # Carregando biblioteca para manipular arquivos netCDF
>
> library(maps)
> library(ncdf4)
>
> #==========================================================================
>
>
> #BIBLIOTECA "ncdf4".
> # PARA ESTE EXEMPLO SÃO USADOS RECURSOS PARA ABRIR A BIBLIOTECA )
> #POIS RNetCDF, ncdf e ncdf4 APRESENTAM COMANDOS DIFERENTES PARA ABRIRMOS
> AS VARIÁVEIS
>
>
>  dados <- nc_open('teste.nc')
> # lendo coordenadas espaço-temporal
> lat <- ncvar_get( dados, 'lat' )
> lon <- ncvar_get( dados, 'lon' )
> time <- ncvar_get( dados, 'time' )
>
>
> #=======================================================================================================
>
> # lendo dados coluna total de Ozônio
> ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )
>
> # dimensoes da variavel ColumnAmountO3
> dims_ColumnAmountO3 <- dim(ColumnAmountO3)
>
> # tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos de
> grade X tempo
>
> dim(ColumnAmountO3) <- c( dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2],
> dims_ColumnAmountO3[3] )
>
> # calculando a média e retornado-a em 2D
>
> media_ColumnAmountO3 <- rowMeans( ColumnAmountO3)
> dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1],
> dims_ColumnAmountO3[2] )
>
>
> #==========================================================================================================
> # longitude varia de 0 a 360, convertendo para -180 a 180, essa conversão
> é feita para plotagem sobre o mapa
> for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }
>
>
> # criando arquivo PNG que receberá o campo com o mapa
>
> #png( filename="campo_medio_O3_jan2005.png",width=600,height=800 )
>
> # plotando mapa da America do Sul
> map( xlim=c(-100,-10), ylim=c(-60,10) )
> map.axes()              # plotando eixos
> title( main="Campo médio de ozonio janeiros" )   # título do gráfico
>
> # definindo intervalo de 5 Dobson Units (DU)
> intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)),
> 5 )
>
> # adicionando campo de coluna de ozonio
>
>
> contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T,
> levels=intervalos, lwd=2, labcex=1.3, col="black" )
>
>
> # fechando arquivo PNG
> #dev.off()
>
>
> obrigado
>
> ____________________________________________________________________________
> MATEUS DIAS NUNES
> MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET
> UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL
>
> TELEFONE: +55 (53) 81125154
>
> ____________________________________________________________________________
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne� c�igo
> m�imo reproduz�el.
>
>
> ------------------------------
>
> Message: 4
> Date: Sun, 21 Feb 2016 00:44:03 -0300
> From: Mateus Dias Nunes <nunes.mateusdias em gmail.com>
> To: r-br em listas.c3sl.ufpr.br
> Subject: [R-br] Gerar arquivo de saída ascii
> Message-ID:
>         <
> CAHw9po8NFWiPiO5h78Jf8g_o7XL+uioeWJ47USTUGk_n1wFpFA em mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Olá preciso gerar um arquivo de saída ascii que contenha as informações de
> lat e lon para este campo meteorológico.
> Já consegui gerar o arquivo ascii, porém ele fica sem as informações de lat
> (-60S,10N) e lon(-120W,10E)
> abaixo o script.
>
> library(maps)
>
> library(ncdf4)
>
>
>  dados <- nc_open('teste.nc')
>
>
> lat <- ncvar_get( dados, 'lat' )
>
> lon <- ncvar_get( dados, 'lon' )
>
> time <- ncvar_get( dados, 'time' )
>
>
> # lendo dados coluna total de Ozônio
>
> ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )
>
>
>
> # dimensoes da variavel ColumnAmountO3
>
> dims_ColumnAmountO3 <- dim(ColumnAmountO3)
>
>
>
> # tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos de
> grade X tempo
>
> dim(ColumnAmountO3) <- c( dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2],
> dims_ColumnAmountO3[3] )
>
> # calculando a média e retornado-a em 2D
>
> media_ColumnAmountO3 <- rowMeans( ColumnAmountO3)
>
> dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1],
> dims_ColumnAmountO3[2] )
>
>
>
>
> #==========================================================================================================
>
> # longitude varia de 0 a 360, convertendo para -180 a 180, essa conversão é
> feita para plotagem sobre o mapa
>
> for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }
>
> plotando mapa da America do Sul
>
> map(xlim=c(-90,-30), ylim=c(-60,10))
>
> map.axes()              # plotando eixos
>
> title( main="Campo médio de Ozônio " )   # título do gráfico
>
>
> # definindo intervalo de 5 Dobson Units (DU)
>
> intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5
> )
>
>
> #PARA PLOTAR GRAFICO CONTORNOS EM PRETO E BRANCO
>
> contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T,
> levels=intervalos, lwd=2, labcex=1.3  )
>
> teste=data.frame(media_ColumnAmountO3)
>
> write.table(teste,file="teste.txt",row.names=TRUE,sep="",quote=FALSE)
>
> ____________________________________________________________________________
>
> MATEUS DIAS NUNES
> MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET
> UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL
> TELEFONE: +55 (53) 81125154
>
> ____________________________________________________________________________
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160221/3dedadde/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 5
> Date: Sun, 21 Feb 2016 09:23:10 -0400
> From: Éder Comunello <comunello.eder em gmail.com>
> To: "r-br em listas.c3sl.ufpr.br" <r-br em listas.c3sl.ufpr.br>
> Subject: Re: [R-br] Gerar arquivo de saída ascii
> Message-ID:
>         <
> CABmC8gmiCj-Y78SJvzpcpMi3vyOYKpmFbRJDUsNWLVNtESEA+Q em mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Mateus, bom dia!
>
> Sugiro que você forneça o feedback acerca das sugestões que recebe na
> lista. Assim, podemos saber qual solução funcionou e o material fica útil
> pra referência futura. Dentro das suas possibilidades, avalie a
> possibilidade de postar o script final com a solução que você produziu.
>
> Segue uma ideia pra produzir um arquivo ascii (x, y, z):
>
> ### <code r>
> ### acrescente no seu script!
>
> map( xlim=c(-100,-10), ylim=c(-60,10))
> map.axes()
> contour(lon, lat, media_ColumnAmountO3, add=T, levels=intervalos, lwd=2,
> labcex=1.3, col=heat.colors(14) )
>
> # Transpose + flip pra matriz corresponder ao que você vê plotado na tela
> com contour(), filled.countour()
> tmp <- (t(media_ColumnAmountO3)[ncol(media_ColumnAmountO3):1,])
>
> # Verificando...
> tmp[1:3, 1:4]       # UL
> tmp[1:3, 127:130]   # UR
> tmp[68:70, 1:4]     # LL
> tmp[68:70, 127:130] # LR
> as.vector(tmp[1:3, 1:4]) ### by columns - upper left
>
> grid <- expand.grid(x=lon, y=lat)
> head(grid[order(grid$x, rev(grid$y)),]) # by columns
>
> teste <- cbind(grid[order(grid$x, rev(grid$y)),], z=as.vector(tmp))
> head(teste, 3)
> #           x   y        z
> # 8971 -119.5 9.5 245.2939
> # 8841 -119.5 8.5 244.0713
> # 8711 -119.5 7.5 242.9422
>
> tail(teste, 3)
> #       x     y        z
> # 390 9.5 -57.5 296.8890
> # 260 9.5 -58.5 297.0280
> # 130 9.5 -59.5 296.6809
>
> write.table(teste,file="teste.txt",row.names=TRUE, sep="", quote=FALSE)
> ### </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
>
>
>
>
> Em 20 de fevereiro de 2016 23:44, Mateus Dias Nunes <
> nunes.mateusdias em gmail.com> escreveu:
>
> > Olá preciso gerar um arquivo de saída ascii que contenha as informações
> de
> > lat e lon para este campo meteorológico.
> > Já consegui gerar o arquivo ascii, porém ele fica sem as informações de
> > lat (-60S,10N) e lon(-120W,10E)
> > abaixo o script.
> >
> > library(maps)
> >
> > library(ncdf4)
> >
> >
> >  dados <- nc_open('teste.nc')
> >
> >
> > lat <- ncvar_get( dados, 'lat' )
> >
> > lon <- ncvar_get( dados, 'lon' )
> >
> > time <- ncvar_get( dados, 'time' )
> >
> >
> > # lendo dados coluna total de Ozônio
> >
> > ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )
> >
> >
> >
> > # dimensoes da variavel ColumnAmountO3
> >
> > dims_ColumnAmountO3 <- dim(ColumnAmountO3)
> >
> >
> >
> > # tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos de
> > grade X tempo
> >
> > dim(ColumnAmountO3) <- c( dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2],
> > dims_ColumnAmountO3[3] )
> >
> > # calculando a média e retornado-a em 2D
> >
> > media_ColumnAmountO3 <- rowMeans( ColumnAmountO3)
> >
> > dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1],
> > dims_ColumnAmountO3[2] )
> >
> >
> >
> >
> >
> #==========================================================================================================
> >
> > # longitude varia de 0 a 360, convertendo para -180 a 180, essa conversão
> > é feita para plotagem sobre o mapa
> >
> > for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }
> >
> > plotando mapa da America do Sul
> >
> > map(xlim=c(-90,-30), ylim=c(-60,10))
> >
> > map.axes()              # plotando eixos
> >
> > title( main="Campo médio de Ozônio " )   # título do gráfico
> >
> >
> > # definindo intervalo de 5 Dobson Units (DU)
> >
> > intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)),
> > 5 )
> >
> >
> > #PARA PLOTAR GRAFICO CONTORNOS EM PRETO E BRANCO
> >
> > contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T,
> > levels=intervalos, lwd=2, labcex=1.3  )
> >
> > teste=data.frame(media_ColumnAmountO3)
> >
> > write.table(teste,file="teste.txt",row.names=TRUE,sep="",quote=FALSE)
> >
> >
> ____________________________________________________________________________
> >
> > MATEUS DIAS NUNES
> > MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET
> > UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL
> > TELEFONE: +55 (53) 81125154
> > ____________________________________________
> > ________________________________
> >
> > _______________________________________________
> > R-br mailing list
> > R-br em listas.c3sl.ufpr.br
> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> > código mínimo reproduzível.
> >
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160221/02cfb14c/attachment-0001.html
> >
>
> ------------------------------
>
> Subject: Legenda do Digest
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>
> ------------------------------
>
> Fim da Digest R-br, volume 62, assunto 26
> *****************************************
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160222/9ebb14fa/attachment.html>


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