Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zarr driver #3896

Merged
merged 67 commits into from
Jul 19, 2021
Merged
Changes from 1 commit
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
690bbb0
Zarr driver: initial piece of multidimensional read side
rouault May 28, 2021
f90ea6f
Zarr: test invalid values in .zarray
rouault May 28, 2021
3a9a5f1
Zarr: test negative array steps
rouault May 28, 2021
b89a50a
Zarr: do not restrict some variables to size_t
rouault May 28, 2021
e6d357b
Zarr: IRead() performance improvements
rouault May 28, 2021
199c937
Add cpl_compressor.h to register compression/decompression functions
rouault May 28, 2021
7f5434c
Add support for Blosc compressor
rouault May 28, 2021
7dd10a1
Docker alpine-normal: add cblosc
rouault May 28, 2021
6577877
Zarr: add support for compressor
rouault May 28, 2021
952fb11
CPLZLibDeflate(): honour nLevel parameter, and improve auto-mem alloc…
rouault May 28, 2021
01b3560
Add ZLib compressor
rouault May 28, 2021
84e1ac5
Add LZMA compressor
rouault May 28, 2021
c473d18
Add ZSTD compressor
rouault May 28, 2021
4e3ebca
Add LZ4 compressor
rouault May 28, 2021
80f2b1b
Add GZip compressor
rouault May 28, 2021
78e2aaa
autotest: do not recurse in gdrivers/data
rouault May 28, 2021
4856be9
Zarr: add testing for reading dataset compressed with various methods
rouault May 28, 2021
5319498
Zarr: add support for i1, i8 and u8 typestr
rouault Jun 4, 2021
80a12e3
Zarr: cache last decoded tile
rouault Jun 4, 2021
ae60ec3
Zarr: support Fortran ordering of blocks
rouault Jun 4, 2021
fa2282b
Zarr: add support for compound data types
rouault Jun 4, 2021
8481061
Zarr: support reading array attributes
rouault Jun 4, 2021
9ba8297
Zarr: read CRS from a 'crs' member in .zattrs
rouault Jun 4, 2021
c595e59
Zarr: add support for groups
rouault Jun 4, 2021
2962d48
Zarr: support loading hiearchy from consolidated .zmetadata
rouault Jun 11, 2021
17de58b
Zarr: defer allocation of array working buffers
rouault Jun 11, 2021
605b59b
Zarr: add a USE_ZMETADATA open option
rouault Jun 11, 2021
f76b90d
Zarr: take into account XArray _ARRAY_DIMENSIONS attribute
rouault Jun 11, 2021
2751e95
Zarr: add support for ZarrV3
rouault Jun 11, 2021
2405602
Zarr: Add support for half-float
rouault Jun 11, 2021
c9242d1
Zarr: add support for exposing as classic raster
rouault Jun 11, 2021
70a0e37
Zarr: be tolerant with numeric fill_value stored as string
rouault Jun 11, 2021
f0b0bd3
Zarr: accept a filters member with a 0-length array
rouault Jun 11, 2021
e726cdb
Zarr: support empty shape
rouault Jun 11, 2021
744b930
Zarr: add a driver BLOSC_COMPRESSORS metadata item
rouault Jun 18, 2021
a872f0d
Zarr: implement CreateMultiDimensional() and group creation
rouault Jun 18, 2021
d4bfd57
Add CPLJSONDocument::SetRoot()
rouault Jun 18, 2021
8a1e314
MEMMultiDim: add MEMAbstractMDArray::SetWritable, IsModified and SetM…
rouault Jun 18, 2021
a297878
Zarr: add support for creating/modifying group attributes
rouault Jun 18, 2021
ddf516c
Zarr: split code into multiple files
rouault Jun 18, 2021
c9569ee
GTiff: make FloatToHalf() available to other drivers
rouault Jun 18, 2021
1b44ef2
Zarr: preliminary support for creating arrays (just metadata)
rouault Jun 18, 2021
1b55d99
Zarr: write side: add metadata support for compression method
rouault Jun 18, 2021
710438d
Zarr: add write support for array attributes
rouault Jun 18, 2021
37dc8d6
Zarr: add write support for CRS
rouault Jun 18, 2021
2b93b07
Zarr: add write support for XArray's _ARRAY_DIMENSIONS
rouault Jun 18, 2021
7622fe2
Zarr: implement array value writing
rouault Jun 18, 2021
dc91257
netCDF: move CF constants to netcdf_cf_constants.h header
rouault Jun 25, 2021
ae378de
Zarr: add support for unit, scale, offset using CF conventions
rouault Jun 25, 2021
9fa7377
Zarr: implement GetCoordinateVariables()
rouault Jun 25, 2021
d2fcad9
Zarr: implement classic raster Create() API
rouault Jun 25, 2021
c6b13bd
Zarr: check for too large block size
rouault Jun 25, 2021
f598f91
Zarr: add ZarrV3 group creation
rouault Jun 25, 2021
c56eb1e
Zarr: add ZarrV3 array creation
rouault Jun 25, 2021
6291288
Doc building: add a supports_multidimensional directive
rouault Jun 25, 2021
9ea53b4
Zarr: add documentation page
rouault Jun 25, 2021
b3a28a7
Zarr: set TYPESIZE with Blosc compression
rouault Jul 1, 2021
b2e4b40
/vsicurl/: fix to be able to read /vsis3/zarr-demo/store/spam
rouault Jul 1, 2021
6356d9b
Add CPLJSONObject::DeleteNoSplitName()
rouault Jul 1, 2021
99962ae
Zarr: add creation/update support for consolidated metadata .zmetadata
rouault Jul 1, 2021
e3b5f77
Compressor API: add support for Delta filter restricted to dtype=astype
rouault Jul 1, 2021
b36c2d8
Zarr: add read/update support for filters (limited to delta filter fo…
rouault Jul 1, 2021
0f006be
Zarr: add read support for NCZarr way of setting fill_value
rouault Jul 1, 2021
80ec6da
Zarr: add creation option FILTER (Zarr V2 only)
rouault Jul 1, 2021
faf0616
Zarr: turn on -Weffc++ -Wold-style-cast
rouault Jul 1, 2021
dc63e21
Zarr V3: use singular form for codec URL
rouault Jul 5, 2021
6c04756
zarr/GNUmakefile: use -iquote
rouault Jul 10, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions gdal/port/cpl_json.cpp
Original file line number Diff line number Diff line change
@@ -146,6 +146,19 @@ CPLJSONObject CPLJSONDocument::GetRoot()
}
}

/**
* Set json document root object
* @param oRoot CPLJSONObject root object
*
* @since GDAL 3.4
*/
void CPLJSONDocument::SetRoot(const CPLJSONObject& oRoot)
{
if( m_poRootJsonObject )
json_object_put( TO_JSONOBJ(m_poRootJsonObject) );
m_poRootJsonObject = json_object_get( TO_JSONOBJ(oRoot.m_poJsonObject) );
}

/**
* Load json document from file by provided path
* @param osPath Path to json file.
1 change: 1 addition & 0 deletions gdal/port/cpl_json.h
Original file line number Diff line number Diff line change
@@ -223,6 +223,7 @@ class CPL_DLL CPLJSONDocument

CPLJSONObject GetRoot();
const CPLJSONObject GetRoot() const;
void SetRoot(const CPLJSONObject& oRoot);
bool Load(const std::string &osPath);
bool LoadMemory(const std::string &osStr);
bool LoadMemory(const GByte *pabyData, int nLength = -1);