Michael,
fixed per https://github.com/OSGeo/gdal/pull/11005
Otherwise just do "gdal_translate Rlogo.png Rlogo.zarr -of Zarr" . By
default the Zarr driver translates GDAL bands as the Z dimension, unless
you specify the SINGLE_ARRAY=NO creation option, in which case it will
create a Zarr array per band (so a different default as the netCDF driver).
Even
Le 14/10/2024 à 14:10, Michael Sumner via gdal-dev a écrit :
Possibly this is a fool's errand ...
I want to be able to cast an RGBA file as a Zarr, so first to cast as
multidim I tried the CreateCopy route with NetCDF and I see dimension
"x" repeated, with "y" missing. (I'm using an external file as the
existing test PNG files are square in shape).
from osgeo import gdal
## PNG source is 100x76 * 4 bands
f =
"/vsicurl/https://github.com/cran/png/blob/master/inst/img/Rlogo.png?raw=true"
src_ds = gdal.Open(f)
## set NetCDF metadata to make Bands 0,1,2,3 a Z dimension
size_z = 4
src_ds.SetMetadataItem('NETCDF_DIM_EXTRA', '{Z}')
src_ds.SetMetadataItem('NETCDF_DIM_Z_DEF', f"{{{size_z},4}}")
src_ds.SetMetadataItem('NETCDF_DIM_Z_VALUES', '{1.25,2.50}')
src_ds.SetMetadataItem('Z#axis', 'Z')
# Create netCDF file
gdal.GetDriverByName('netCDF').CreateCopy('out.nc <http://out.nc>',
src_ds)
## investigate shape as a mdim
ds = gdal.OpenEx("out.nc <http://out.nc>", gdal.OF_MULTIDIM_RASTER)
rootGroup = ds.GetRootGroup()
var = rootGroup.OpenMDArray("Band1")
## we ended up with x,x,Z
[dim.GetSize() for dim in var.GetDimensions()]
#[4, 100, 100]
That looks like a bug?
And, is there a better way to go about this? PNG->ZARR is my target,
I'm fine with programmatic creation of NetCDF, but this could be quite
handy as a two-step conversion from pseudo-3D to actual 3D via the cli
with "gdal_translate -mo ...". (This is not for real work fwiw, just
for me programming at the edges of Zarr, with examples that are clear
in visual terms).
Cheers, Mike
--
Michael Sumner
Research Software Engineer
Australian Antarctic Division
Hobart, Australia
e-mail: mdsum...@gmail.com
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev
--
http://www.spatialys.com
My software is free, but my time generally not.
Mostly a fool, sometimes acting like a professional (or vice versa)
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev