
Isso que é minha maior duvida, pois no readbin o argumento size aceita no meu pc no maximo 4 byte. não sou especialista nisso pois creio que o numero 1E20 não poder ser representado com 4 bytes. Éder
Arquivos GRIB padrao tem cabecalho obrigatorio, mas pode nao ser esse o seu caso.
De qualquer forma, vc precisa dos specs do seu .dat... pode ser que o tamanho das variaveis sejam diferentes do padrao (4 bytes para inteiros e 8 para doubles)... pode ser que a representacao seja diferente (o que acho ser o caso de GRIB para medidas em double).
b
2011/4/14 <eder@leg.ufpr.br>:
Benilton, O formato dos números creio ser double, visto que quanto abri os arquivos que deram certo, os valores são coerentes com a variável, e pelo o que entendi este bin não tem cabeçalho, visto que quem diz como é o bin é o arquivo .ctl que faz o papel do cabeçalho. Desta forma ainda não entendi o que pode estar acontecendo. Att.
muito pouco provavel que o seu readBin() esteja correto.
arquivos binarios contem cabecalhos e campos que nao sao necessariamente 'double'... entao, antes de tudo, vc precisa ter uma descricao do formato para poder usar o readBin() apropriadamente.... e, como vc deve ter notado, o uso incorreto vai te trazer resultados inesperados.
b
2011/4/14 <eder@leg.ufpr.br>:
Pessoal,
Minha duvida agora e com arquivos binarios, contextualizando: Quero abrir arquivos de saida de modelos climáticos (Eta), estes modelos soltam arquivo no formato GRIB, em em palavras R-anas uma array onde cada variável meteorológica seria um z dento do array (dados[x,y,z]), no arquivo ctl (indica como o binario é) indica qual o código falha (NA), em arquivo que o código era -9999 a função readBin funcionou, em outro arquivo que o código era 1.0E20 ela não funcionou ou seja estou suspeitando que ela não esta entendo este código falha, exemplo:
formato <- readLines('http://www.leg.ufpr.br/~eder/ll20gfsa2006120100+2006120100.ctl') formato cone <- file('http://www.leg.ufpr.br/~eder/ll20gfsa2006120100+2006120100.dat','rb') dados <- readBin(cone,numeric(),195*200*58,4) length(dados) head(dados) close(cone)
pelas informações em formato era para ter no arquivo binário 195*200*58= 2262000 números, porem ela carrega apenas 1911000, faltando dados, desta forma. Alguma dica? Atenciosamente
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br