[Portugal] Usar GDAL com ficheiros NetCDF da ECMWF

Joaquim Luis jluis at ualg.pt
Thu Dec 2 20:38:45 EST 2010


On 02-12-2010 18:05, António Rocha wrote:
> Bom dia
>
> Estou a tentar fazer a projecção dos dados da ECMWF (formato NetCDF) 
> para o sistema de portugal EPSG:3726. Mas, infelizmente o GDAL não 
> consegue reconhecer o sistema de coordenadas usada pela ECMWF nos 
> ficheiros NetCDF. Como tal, ao projectar (utilizando GDALWARP) coloca 
> os rasters no local errado. A minha questão é, alguém já utilizou 
> estes dados? Se sim, cosnegue-me dizer o EPSG utilizado?
>

António,

Estás um bocadito entalado com esta transformação. Não pelos sistemas de 
coordenadas em si mas pelas ferramentas.
O GDAL não te faz o trabalho por causa daquele bug (que eles não admitem 
como tal) que te falei no outros mails que trocámos. É que o teu fiche 
netCDF tem scale/offset e isso não é considerado pelo gdalwarp 
resultando em que o ficheiro transformado tem Z's errados.
Quanto às coordenadas, as da tua chuva estão em simples lon lat ou seja 
coordenadas geográficas. Podes usar o GMT para extrair correctamente 
planos do teu ficheiro que tem 730 grelhas (tempos diferentes), e em 
princípio pederias fazer a projecção com o GMT também mas algo de errado 
se passa com o grdproject do GMT4 que me fica empancado a fazer sei lá o 
quê. Curiosamente na versão GMT5 (alfa) a conversão ,m funciona bem.

Para extraires diferentes planos (tempos) com GMT faz assim para sacar o 
primeiro nível

grdreformat 2009.nc?tp[0] tempo_0.grd

ou, para o nível 500 (a contagem começa em 0)

grdreformat 2009.nc?tp[499] tempo_500.grd

agora já podes converter com o gdalwarp, mas não para netCDF porque isso 
é uma operação não suportada. Erra com:
"Output driver `netCDF' not recognised or does not support direct output 
file creation. "
mas podes converter por exemplo para GeoTiff

gdalwarp -s_srs "+proj=latlong" -t_srs "+proj=tmerc 
+lat_0=39.666666666666667 +lon_0=-8.13190611111111 +k=1.0 +x_0=180.598 
+y_0=-86.99 +ellps=intl +towgs84=-223.237,110.193,36.649,0,0,0,0"  
tempo_0.grd tempo_0_prj.tiff

Neste exemplo converti para Gauss (D73) pois não sei, nem fui à procura, 
do que é o EPSG:3726

Podes fazer isto tudo facilmente em Mirone, mas como este não é 
scriptável e os teus fiches têm 730 planos essa solução não é 
propriamente prática porque teria de ser aplicada uma a uma.

Joaquim Luis


More information about the Portugal mailing list