Eu tenho um arquivo NetCDF que contém dados para o número de dias de chuva no Reino Unido. Gostaria de convertê-lo em um GeoTIFF, mas não consigo obter a georeferência correta do GDAL. Veja despejos de gdalinfo abaixo.
Eu quero uma única banda TIFF mostrando a variável "raindays_tmean_abs". As variáveis "lat" e "lon" parecem ter valores mín. / Máx. Sensatos para colocar os dados no Reino Unido, mas quando o converto com gdal_translate, ele acaba na costa oeste da África.
Há um aviso sobre a primeira dimensão não ser uma dimensão "Hora ou Vertical". Eu li que o gdal espera que os dados estejam em uma determinada ordem, então talvez esse seja o problema, mas não sei como modificá-los.
Como converter / reprojetar esses dados?
NETCDF: RainDays1_1961-1990_LTA_25km.nc
Warning 1: dimension #0 (meaning_period) is not a Time or Vertical dimension.
Driver: netCDF/Network Common Data Format
Files: RainDays1_1961-1990_LTA_25km.nc
RainDays1_1961-1990_LTA_25km.nc.aux.xml
Size is 39, 52
Coordinate System is `'
Origin = (-17.650008352179277,11.329999312758446)
Pixel Size = (0.219999614514803,-0.219999998807907)
Metadata:
axis_0#units=
meaning_period#comment=Meaning periods are all months (12) beginning January, all seasons (4) beginning Winter (DJF) and Annual (1)
meaning_period#long_name=meaning_period
meaning_period#units=
NC_GLOBAL#Conventions=CF-1.0
NETCDF_DIM_EXTRA={meaning_period}
NETCDF_DIM_meaning_period_DEF={17,6}
NETCDF_DIM_meaning_period_VALUES={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
raindays_tmean_abs#comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
raindays_tmean_abs#coordinates=lon lat
raindays_tmean_abs#long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
raindays_tmean_abs#missing_value=1e+020
raindays_tmean_abs#name=rain_days
raindays_tmean_abs#title=rain_days
raindays_tmean_abs#units=days
rlat#axis=Y
rlat#bounds=bounds_rlat
rlat#long_name=latitude in rotated pole grid
rlat#standard_name=grid_latitude
rlat#units=degrees
rlon#axis=X
rlon#bounds=bounds_rlon
rlon#long_name=longitude in rotated pole grid
rlon#modulo=360
rlon#standard_name=grid_longitude
rlon#topology=circular
rlon#units=degrees
Subdatasets:
SUBDATASET_1_NAME=NETCDF:"RainDays1_1961-1990_LTA_25km.nc":bounds_rlat
SUBDATASET_1_DESC=[52x2] bounds_rlat (64-bit floating-point)
SUBDATASET_2_NAME=NETCDF:"RainDays1_1961-1990_LTA_25km.nc":bounds_rlon
SUBDATASET_2_DESC=[39x2] bounds_rlon (64-bit floating-point)
SUBDATASET_3_NAME=NETCDF:"RainDays1_1961-1990_LTA_25km.nc":lat
SUBDATASET_3_DESC=[52x39] latitude (32-bit floating-point)
SUBDATASET_4_NAME=NETCDF:"RainDays1_1961-1990_LTA_25km.nc":lon
SUBDATASET_4_DESC=[52x39] longitude (32-bit floating-point)
SUBDATASET_5_NAME=NETCDF:"RainDays1_1961-1990_LTA_25km.nc":raindays_tmean_abs
SUBDATASET_5_DESC=[17x52x39] raindays_tmean_abs (32-bit floating-point)
Geolocation:
LINE_OFFSET=0
LINE_STEP=1
PIXEL_OFFSET=0
PIXEL_STEP=1
SRS=GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9108"]],AUTHORITY["EPSG","4326"]]
X_BAND=1
X_DATASET=NETCDF:"RainDays1_1961-1990_LTA_25km.nc":lon
Y_BAND=1
Y_DATASET=NETCDF:"RainDays1_1961-1990_LTA_25km.nc":lat
Corner Coordinates:
Upper Left ( -17.6500084, 11.3299993)
Lower Left ( -17.6500084, -0.1100006)
Upper Right ( -9.0700234, 11.3299993)
Lower Right ( -9.0700234, -0.1100006)
Center ( -13.3600159, 5.6099993)
Band 1 Block=39x1 Type=Float32, ColorInterp=Undefined
Min=10.658 Max=22.949
Minimum=10.658, Maximum=22.949, Mean=15.625, StdDev=3.151
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=0
NETCDF_VARNAME=raindays_tmean_abs
STATISTICS_MAXIMUM=22.949373245239
STATISTICS_MEAN=15.624619410087
STATISTICS_MINIMUM=10.657625198364
STATISTICS_STDDEV=3.1508820627895
title=rain_days
units=days
Band 2 Block=39x1 Type=Float32, ColorInterp=Undefined
Min=7.893 Max=17.172
Minimum=7.893, Maximum=17.172, Mean=11.591, StdDev=2.282
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=1
NETCDF_VARNAME=raindays_tmean_abs
STATISTICS_MAXIMUM=17.172254562378
STATISTICS_MEAN=11.591275386767
STATISTICS_MINIMUM=7.8926663398743
STATISTICS_STDDEV=2.28225356537
title=rain_days
units=days
Band 3 Block=39x1 Type=Float32, ColorInterp=Undefined
Min=9.700 Max=21.762
Minimum=9.700, Maximum=21.762, Mean=13.882, StdDev=2.988
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=2
NETCDF_VARNAME=raindays_tmean_abs
STATISTICS_MAXIMUM=21.761842727661
STATISTICS_MEAN=13.88236379732
STATISTICS_MINIMUM=9.7001943588257
STATISTICS_STDDEV=2.9875935432638
title=rain_days
units=days
Band 4 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=3
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 5 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=4
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 6 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=5
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 7 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=6
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 8 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=7
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 9 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=8
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 10 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=9
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 11 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=10
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 12 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=11
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 13 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=12
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 14 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=13
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 15 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=14
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 16 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=15
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
Band 17 Block=39x1 Type=Float32, ColorInterp=Undefined
NoData Value=1.0000000200408773e+020
Metadata:
comment=Converted from UKCP09 monthly data to climatologies and then averaged to 25km rotated pole grid.
coordinates=lon lat
long_name=Number of days per meaning period having a rainfall >= 1 mm (days)
missing_value=1e+020
name=rain_days
NETCDF_DIM_meaning_period=16
NETCDF_VARNAME=raindays_tmean_abs
title=rain_days
units=days
NETCDF: RainDays1_1961-1990_LTA_25km.nc: lon
Driver: netCDF/Network Common Data Format
Files: RainDays1_1961-1990_LTA_25km.nc
RainDays1_1961-1990_LTA_25km.nc.aux.xml
Size is 39, 52
Coordinate System is `'
Origin = (-17.650008352179277,11.329999312758446)
Pixel Size = (0.219999614514803,-0.219999998807907)
Metadata:
axis_0#units=
lon#long_name=longitude
lon#missing_value=1e+020
lon#name=lon
lon#standard_name=longitude
lon#units=degrees_east
meaning_period#comment=Meaning periods are all months (12) beginning January, all seasons (4) beginning Winter (DJF) and Annual (1)
meaning_period#long_name=meaning_period
meaning_period#units=
NC_GLOBAL#Conventions=CF-1.0
rlat#axis=Y
rlat#bounds=bounds_rlat
rlat#long_name=latitude in rotated pole grid
rlat#standard_name=grid_latitude
rlat#units=degrees
rlon#axis=X
rlon#bounds=bounds_rlon
rlon#long_name=longitude in rotated pole grid
rlon#modulo=360
rlon#standard_name=grid_longitude
rlon#topology=circular
rlon#units=degrees
Corner Coordinates:
Upper Left ( -17.6500084, 11.3299993)
Lower Left ( -17.6500084, -0.1100006)
Upper Right ( -9.0700234, 11.3299993)
Lower Right ( -9.0700234, -0.1100006)
Center ( -13.3600159, 5.6099993)
Band 1 Block=39x1 Type=Float32, ColorInterp=Undefined
Min=-15.830 Max=3.672
Minimum=-15.830, Maximum=3.672, Mean=-5.246, StdDev=4.393
NoData Value=1.0000000200408773e+020
Metadata:
long_name=longitude
missing_value=1e+020
name=lon
NETCDF_VARNAME=lon
standard_name=longitude
STATISTICS_MAXIMUM=3.671746969223
STATISTICS_MEAN=-5.2457962955782
STATISTICS_MINIMUM=-15.830010414124
STATISTICS_STDDEV=4.3927366732513
units=degrees_east
NETCDF: RainDays1_1961-1990_LTA_25km.nc: lat
Driver: netCDF/Network Common Data Format
Files: RainDays1_1961-1990_LTA_25km.nc
RainDays1_1961-1990_LTA_25km.nc.aux.xml
Size is 39, 52
Coordinate System is `'
Origin = (-17.650008352179277,11.329999312758446)
Pixel Size = (0.219999614514803,-0.219999998807907)
Metadata:
axis_0#units=
lat#long_name=latitude
lat#missing_value=1e+020
lat#name=lat
lat#standard_name=latitude
lat#units=degrees_north
meaning_period#comment=Meaning periods are all months (12) beginning January, all seasons (4) beginning Winter (DJF) and Annual (1)
meaning_period#long_name=meaning_period
meaning_period#units=
NC_GLOBAL#Conventions=CF-1.0
rlat#axis=Y
rlat#bounds=bounds_rlat
rlat#long_name=latitude in rotated pole grid
rlat#standard_name=grid_latitude
rlat#units=degrees
rlon#axis=X
rlon#bounds=bounds_rlon
rlon#long_name=longitude in rotated pole grid
rlon#modulo=360
rlon#standard_name=grid_longitude
rlon#topology=circular
rlon#units=degrees
Corner Coordinates:
Upper Left ( -17.6500084, 11.3299993)
Lower Left ( -17.6500084, -0.1100006)
Upper Right ( -9.0700234, 11.3299993)
Lower Right ( -9.0700234, -0.1100006)
Center ( -13.3600159, 5.6099993)
Band 1 Block=39x1 Type=Float32, ColorInterp=Undefined
Min=47.594 Max=60.806
Minimum=47.594, Maximum=60.806, Mean=54.186, StdDev=3.229
NoData Value=1.0000000200408773e+020
Metadata:
long_name=latitude
missing_value=1e+020
name=lat
NETCDF_VARNAME=lat
standard_name=latitude
STATISTICS_MAXIMUM=60.805950164795
STATISTICS_MEAN=54.185836173138
STATISTICS_MINIMUM=47.594329833984
STATISTICS_STDDEV=3.228754901642
units=degrees_north
fonte
Respostas:
Seu netcdf usa uma grade de pólo girada. GDAL não é capaz de lidar com isso.
Existe um ticket para isso: http://trac.osgeo.org/gdal/ticket/4285, que fornece algumas soluções alternativas.
O GMT tem uma ferramenta chamada
grdrotater
que deve ser capaz de trabalhar com postes rotacionados, mas ainda não o usei.Se você está acostumado ao GRASS, pode tentar esta solução alternativa:
http://osgeo-org.1560.x6.nabble.com/NetCDF-rotated-pole-td4634232.html
fonte
Você tentou convertê-lo com gdal_translate?
Normalmente, ele deve funcionar usando uma das duas possibilidades:
Primeira solução: extraia todos os subdataset manualmente
Segunda solução: deixe o gdal extrair os subdatasets automaticamente
A segunda solução extrairá todos os subdatasets para separar arquivos.
Pode ser necessário incluir o
bandeira
fonte
Seu tamanho de pixel é diferente em seus arquivos, a GDAL reclama disso, consulte:
No entanto, você precisa ter um tamanho de pixel igual. Você precisaria redimensionar sua grade para isso ou refazê-la do zero. GMT é uma boa ferramenta para isso.
fonte