Hi Even, thanks for the clarification around indexing and nodata. This works great and when I have availability and your changes last in master I will upgrade the tiledb driver.
+1 from me. Norman On Thu, Jul 18, 2019 at 10:48 AM Even Rouault <[email protected]> wrote: > Hi, > > > > > I am in favour of the work on multi-dimensional arrays. There are two > open > > PRs https://github.com/rouault/gdal/pulls with changes to the text. > > Oh I didn't see them before. I've merged the first one from Edzer. > Answering > yours now: > > > Though > > I and my employer would like TileDB included in the list of formats > (though > > happy to wait until I have added the code to support this) > > I'd prefer to limit the scope of the RFC to the drivers I'll take care of. > Other contributors are welcome to implement it for their own drivers of > interest once this has landed into master. > > > the issues > > around dimension ordering > > https://github.com/rouault/gdal/blob/rfc75/gdal/doc/source/user/ > multidim_raster_data_model.rst mentions > > """Most drivers use the row-major convention for dimensions: that is, when > considering that the array elemnts are stored consecutively in memory, the > first dimension is the slowest varying one (in a 2D image, the row), and > the > last dimension the fastest varying one (in a 2D image, the colum). That > convention is the default convention used for NumPy arrays, the MEM driver > and > the HDF5 and netCDF APIs. The GDAL API is mostly agnostic about that > convention, except when passing a NULL array as the stride parameter for > the > :cpp:func:`GDALAbstractMDArray::Read` and > :cpp:func:`GDALAbstractMDArray::Write` methods. You can refer to NumPy > documentation about multidimensional array indeing order issues: > > https://docs.scipy.org/doc/numpy/reference/internals.html#multidimensional-array-indexing-order-issues > """ > > Does that answer your concern / question ? > > > and defining NULL are two things I would like to > > discuss. > > Yes, nodata support is there. Mentionned in > https://github.com/rouault/gdal/blob/rfc75/gdal/doc/source/user/ > multidim_raster_data_model.rst#multidimensional-array > > and in the C++ API: > https://github.com/rouault/gdal/blob/rfc75/gdal/gcore/gdal_priv.h#L2257 > > so 2 virtual methods that can be implemented by drivers: > const void* GetRawNoDataValue() const; > bool SetRawNoDataValue(const void* pRawNoData); > > and 2 helpers that get/set as double for the common cases. > > Even > > -- > Spatialys - Geospatial professional services > http://www.spatialys.com >
_______________________________________________ gdal-dev mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/gdal-dev
