<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Michael,</p>
    <p>fixed per <a class="moz-txt-link-freetext" href="https://github.com/OSGeo/gdal/pull/11005">https://github.com/OSGeo/gdal/pull/11005</a></p>
    <p>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).<br>
    </p>
    <p>Even<br>
    </p>
    <div class="moz-cite-prefix">Le 14/10/2024 à 14:10, Michael Sumner
      via gdal-dev a écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CAAcGz98LumBYRr=KaMu-t5jAyrAoXQ+-b3q40MOscGBoUkvC5g@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">Possibly this is a fool's errand ...
        <div><br>
        </div>
        <div>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). 
          <div><br>
          </div>
          <div>from osgeo import gdal<br>
            <br>
            ## PNG source is 100x76 * 4 bands<br>
            f = "/vsicurl/<a
href="https://github.com/cran/png/blob/master/inst/img/Rlogo.png?raw=true"
              moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/cran/png/blob/master/inst/img/Rlogo.png?raw=true</a>"<br>
            src_ds = gdal.Open(f)<br>
            <br>
            ## set NetCDF metadata to make Bands 0,1,2,3 a Z dimension<br>
            size_z = 4<br>
            src_ds.SetMetadataItem('NETCDF_DIM_EXTRA', '{Z}')<br>
            src_ds.SetMetadataItem('NETCDF_DIM_Z_DEF',
            f"{{{size_z},4}}")<br>
            src_ds.SetMetadataItem('NETCDF_DIM_Z_VALUES', '{1.25,2.50}')<br>
            src_ds.SetMetadataItem('Z#axis', 'Z')<br>
            <br>
            # Create netCDF file<br>
            gdal.GetDriverByName('netCDF').CreateCopy('<a
              href="http://out.nc" moz-do-not-send="true">out.nc</a>',
            src_ds)<br>
            <br>
            ## investigate shape as a mdim<br>
            ds = gdal.OpenEx("<a href="http://out.nc"
              moz-do-not-send="true">out.nc</a>",
             gdal.OF_MULTIDIM_RASTER)<br>
            rootGroup = ds.GetRootGroup()<br>
            var = rootGroup.OpenMDArray("Band1")<br>
            <br>
            ## we ended up with x,x,Z  <br>
            [dim.GetSize() for  dim in  var.GetDimensions()]<br>
            #[4, 100, 100]<br>
            <br>
            <div><br>
            </div>
            <div>That looks like a bug?</div>
            <div><br>
            </div>
            <div>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). </div>
            <div><br>
            </div>
            <div>Cheers, Mike</div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div><br>
            </div>
            <span class="gmail_signature_prefix">-- </span><br>
            <div dir="ltr" class="gmail_signature"
              data-smartmail="gmail_signature">
              <div dir="ltr">Michael Sumner<br>
                Research Software Engineer<br>
                Australian Antarctic Division<br>
                Hobart, Australia<br>
                e-mail: <a href="mailto:mdsumner@gmail.com"
                  target="_blank" moz-do-not-send="true"
                  class="moz-txt-link-freetext">mdsumner@gmail.com</a></div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
gdal-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/gdal-dev">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://www.spatialys.com">http://www.spatialys.com</a>
My software is free, but my time generally not.
Mostly a fool, sometimes acting like a professional (or vice versa)</pre>
  </body>
</html>