forked from christophenoel/geozarr-spec
-
Notifications
You must be signed in to change notification settings - Fork 15
Clarify terminology across specification #89
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
Open
emmanuelmathot
wants to merge
10
commits into
zarr-developers:main
Choose a base branch
from
emmanuelmathot:improved-terms
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
5f8c6fb
refactor terminology and structure in documentation
emmanuelmathot bb05f3f
Enhance documentation clarity and detail in the GeoZarr Unified Data …
emmanuelmathot 561edd9
Refine descriptions of multiscale groups in documentation for clarity…
emmanuelmathot f99d742
Capitalize "Unified Data Model" for consistency across documentation …
emmanuelmathot b8c988b
Update section title to "Unified Data Model Structure" for consistenc…
emmanuelmathot 8cac80c
Enhance documentation clarity by defining relationships to Zarr core …
emmanuelmathot 08caa63
Refine Unified Data Model description to clarify adaptations for Zarr…
emmanuelmathot 4db26fb
Fix relationship notation for Store and Hierarchy in Unified Data Mod…
emmanuelmathot 1500a6d
Refine Unified Data Model relationships by correcting notation and en…
emmanuelmathot 201ae3e
rename to GeoZarr standard
christophenoel File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -1,30 +1,30 @@ | ||||||
|
||||||
=== Encoding of Multiscale Overviews in Zarr | ||||||
|
||||||
This clause specifies how multiscale tiling (also known as overviews or pyramids) is encoded in Zarr-based datasets conforming to the unified data model. The encoding supports both Zarr Version 2 and Version 3 and is aligned with the OGC Two Dimensional Tile Matrix Set Standard. | ||||||
This clause specifies how multiscale tiling (also known as overviews or pyramids) is encoded in Zarr stores conforming to the unified data model. The encoding supports both Zarr Version 2 and Version 3 and is aligned with the OGC Two Dimensional Tile Matrix Set Standard. | ||||||
|
||||||
Multiscale datasets are composed of a set of Zarr groups representing multiple zoom levels. Each level stores coarser-resolution resampled versions of the original data variables. | ||||||
A multiscale group contains child groups, where each child group is a <<term-dataset,dataset>> representing a zoom level that stores a coarser-resolution resampled version of the original data variables. | ||||||
|
||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For multiscale support, I think we need a consensus that gives flexibility to data producers:
Suggested change
|
||||||
==== Hierarchical Layout | ||||||
|
||||||
Each zoom level SHALL be represented as a Zarr group, identified by the Tile Matrix identifier (e.g., `"0"`, `"1"`, `"2"`). These groups SHALL be organised hierarchically under a common multiscale root group. Each zoom-level group SHALL contain the complete set of variables (Zarr arrays) corresponding to that resolution. | ||||||
Each zoom level SHALL be represented as a child group, identified by the Tile Matrix identifier (e.g., `"0"`, `"1"`, `"2"`). These child groups SHALL be organized hierarchically under a common multiscale group and each SHALL be a <<term-dataset,dataset>> containing the complete set of variables (arrays) corresponding to that resolution. All zoom-level datasets MUST maintain consistent structure. | ||||||
|
||||||
[cols="1,2,2"] | ||||||
|=== | ||||||
|Structure |Zarr v2 |Zarr v3 | ||||||
|
||||||
|Zoom level groups | Subdirectories with `.zgroup` and `.zattrs` | Subdirectories with `zarr.json`, `node_type: group` | ||||||
|Zoom level datasets | Subdirectories with `.zgroup` and `.zattrs` | Subdirectories with `zarr.json`, `node_type: group` | ||||||
|
||||||
|Variables at each level | Zarr arrays (`.zarray`, `.zattrs`) in each group | Zarr arrays (`zarr.json`, `node_type: array`) in each group | ||||||
|Variables at each level | Arrays (`.zarray`, `.zattrs`) in each dataset | Arrays (`zarr.json`, `node_type: array`) in each dataset | ||||||
|
||||||
|Global metadata | `multiscales` defined in parent `.zattrs` | `multiscales` defined in parent group `zarr.json` under `attributes` | ||||||
|Multiscale metadata | `multiscales` defined in multiscale group `.zattrs` | `multiscales` defined in multiscale group `zarr.json` under `attributes` | ||||||
|=== | ||||||
|
||||||
Each multiscale group MUST define chunking (tiling) along the spatial dimensions (`X`, `Y`, or `lon`, `lat`). Recommended chunk sizes are 256×256 or 512×512. | ||||||
Each zoom-level dataset MUST define chunking (tiling) along the spatial dimensions (`X`, `Y`, or `lon`, `lat`). Recommended chunk sizes are 256×256 or 512×512. | ||||||
|
||||||
==== Metadata Encoding | ||||||
|
||||||
Multiscale metadata SHALL be defined using a `multiscales` attribute located in the parent group of the zoom levels. This attribute SHALL be a JSON object with the following members: | ||||||
Multiscale metadata SHALL be defined using a `multiscales` attribute located in the multiscale group. This attribute SHALL be a JSON object with the following members: | ||||||
|
||||||
- `tile_matrix_set` – Identifier, URI, or inline JSON object compliant with OGC TileMatrixSet v2 | ||||||
- `resampling_method` – One of the standard string values (e.g., `"nearest"`, `"average"`) | ||||||
|
@@ -98,4 +98,3 @@ The `resampling_method` MUST indicate the method used for downsampling across zo | |||||
`nearest`, `average`, `bilinear`, `cubic`, `cubic_spline`, `lanczos`, `mode`, `max`, `min`, `med`, `sum`, `q1`, `q3`, `rms`, `gauss` | ||||||
|
||||||
The same method MUST apply across all levels. | ||||||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we use Unified Data Model in capitals wherever it is formal reference to the clause 7 definition?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does it say what the group is first? group is probably still a container for datasets that can be nested.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We inherit from Zarr for the
group
terminology. the section starts with:I would like to avoid repeating the Zarr terminology in order to limit the maintenance if they evolve.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
capitals solved