I’s also strange the warnings about the “-co” options also because
they were in fact taken into account. Omitting them creates a classic
nc file.
function write_multiband(cube, fname::AbstractString, v=nothing;
dim_name::String="time")
nbands = size(cube,3)
ds = gmt2gd(cube)
Gdal.setmetadataitem(ds, "NETCDF_DIM_EXTRA", dim_name)
Gdal.setmetadataitem(ds, "NETCDF_DIM_" * dim_name *
"_DEF", "$(nbands),6")
Gdal.setmetadataitem(ds, "NETCDF_DIM_" * dim_name * "_VALUES",
"1,2,3,4,5,6,7")
Gdal.setmetadataitem(ds, dim_name * "#axis", string(dim_name[1]))
crs = Gdal.getproj(cube, wkt=true)
(crs != "" ) && Gdal.setproj!(ds, crs)
Gdal.unsafe_copy(ds, filename=fname, driver=getdriver("netCDF"),
options=["-co", "FORMAT=NC4", "-co", "COMPRESS=DEFLATE", "-co",
"ZLEVEL=4"])
end
*From:*Even Rouault <even.roua...@spatialys.com>
*Sent:* Sunday, October 10, 2021 10:48 PM
*To:* Joaquim Manuel Freire Luís <jl...@ualg.pt>; gdal-dev@lists.osgeo.org
*Subject:* Re: [gdal-dev] Writing multi-bands vs multi-datasets
Joaquim,
https://github.com/OSGeo/gdal/pull/4634
<https://github.com/OSGeo/gdal/pull/4634> should hopefully help
Even
Le 10/10/2021 à 22:26, Joaquim Manuel Freire Luís a écrit :
Hi,
I have a Julia version of gdal_translate (that ends up calling
GDALDatasetRasterIOEx) that works in saving a MxNxP array, but not
the way I wanted.
It creates a multi-subdatasets file, whilst what I wished is to
write a multi-band file.
For example, the file written with this Julia function looks like
below
How can I write a multi-band instead of a multi-datasets?
I’ve been looking at the docs of GDALDatasetRasterIOEx but can’t
see any way of picking one or the other.
Joaquim
gdalinfo cube_rad.nc
Driver: netCDF/Network Common Data Format
Files: cube_rad.nc
Size is 512, 512
Metadata:
NC_GLOBAL#Conventions=CF-1.5
NC_GLOBAL#GDAL=GDAL 3.4.0dev, released 2021/99/99
NC_GLOBAL#history=Sun Oct 10 13:01:06 2021: GDAL CreateCopy(
cube_rad.nc, ... )
Subdatasets:
SUBDATASET_1_NAME=NETCDF:"cube_rad.nc":Band1
SUBDATASET_1_DESC=[1567x1519] Band1 (32-bit floating-point)
SUBDATASET_2_NAME=NETCDF:"cube_rad.nc":Band2
SUBDATASET_2_DESC=[1567x1519] Band2 (32-bit floating-point)
…
Saving the same data (or similar) from a Matlab code that I wrote
long ago to stack grids, shows
gdalinfo evi_cube.nc
Driver: netCDF/Network Common Data Format
Files: evi_cube.nc
Size is 37, 59
Origin = (580140.000000000000000,4418550.000000000000000)
Pixel Size = (30.000000000000000,-30.000000000000000)
Metadata:
…
latitude#actual_range={4416795,4418535}
latitude#long_name=latitude
latitude#units=degrees_north
longitude#actual_range={580155,581235}
longitude#long_name=longitude
longitude#units=degrees_east
NC_GLOBAL#Conventions=COARDS
NC_GLOBAL#description=File written from Matlab
NC_GLOBAL#node_offset=0
NC_GLOBAL#Source_Software=Mirone
NC_GLOBAL#title=Grid created by Mirone
NETCDF_DIM_EXTRA={time}
NETCDF_DIM_time_DEF={67,6}
NETCDF_DIM_time_VALUES={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67}
z#actual_range={-856.4703369140625,176.8457641601562}
z#long_name=z
z#units=unknown
z#_FillValue=-nan(ind)
Corner Coordinates:
Upper Left ( 580140.000, 4418550.000)
Lower Left ( 580140.000, 4416780.000)
Upper Right ( 581250.000, 4418550.000)
Lower Right ( 581250.000, 4416780.000)
Center ( 580695.000, 4417665.000)
Band 1 Block=37x59 Type=Float32, ColorInterp=Undefined
NoData Value=nan
Unit Type: unknown
Metadata:
actual_range={-856.4703369140625,176.8457641601562}
long_name=z
NETCDF_DIM_time=1
NETCDF_VARNAME=z
units=unknown
_FillValue=-nan(ind)
Band 2 Block=37x59 Type=Float32, ColorInterp=Undefined
NoData Value=nan
Unit Type: unknown
Metadata:
actual_range={-856.4703369140625,176.8457641601562}
long_name=z
NETCDF_DIM_time=2
NETCDF_VARNAME=z
units=unknown
_FillValue=-nan(ind)
…
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org <mailto:gdal-dev@lists.osgeo.org>
https://lists.osgeo.org/mailman/listinfo/gdal-dev
<https://lists.osgeo.org/mailman/listinfo/gdal-dev>
--
http://www.spatialys.com <http://www.spatialys.com>
My software is free, but my time generally not.