Skip to content

Docs/mini geozarr spec#24

Merged
emmanuelmathot merged 15 commits intoEOPF-Explorer:mainfrom
d-v-b:docs/geozarr-data-model
Sep 25, 2025
Merged

Docs/mini geozarr spec#24
emmanuelmathot merged 15 commits intoEOPF-Explorer:mainfrom
d-v-b:docs/geozarr-data-model

Conversation

@d-v-b
Copy link
Copy Markdown
Contributor

@d-v-b d-v-b commented Aug 20, 2025

This PR adds a compact form of the GeoZarr spec that will define exactly the interpretation of GeoZarr that will be implemented by this library. This mini spec is compatible with the current editor's draft GeoZarr spec, but is much smaller and uses language that is more directed for guiding an implementation.

I am opening this in draft form so @emmanuelmathot can suggest additional constraints / rules / metadata that I have not included yet. For example, there are some minimal CF metadata fields that should probably be specified for downsampled Datasets (like "grid_mapping").

This spec diverges somewhat in recommending that collections of downsampled datasets (which I am calling "Multiscale Datasets") do not contain anything other than the downsampled datasets. This will make parsing easier, but it may also complicate some applications, so it would be great to know if this blocks off intended usage.

To illustrate what this means:

This layout would be permitted:

/satellite_imagery/
├── 7/                       # Zoom level 7 (TileMatrix id "7")
│   ├── red_band
│   ├── green_band
│   └── blue_band
├── 8/                       # Zoom level 8 (TileMatrix id "8") 
│   ├── red_band
│   ├── green_band
│   └── blue_band
├── 9/                       # Zoom level 9 (TileMatrix id "9")
│   ├── red_band
│   ├── green_band
│   └── blue_band
...
├── 14/                      # Zoom level 14 (TileMatrix id "14")
│   ├── red_band
│   ├── green_band
│   └── blue_band
└── 15/                      # Zoom level 15 (TileMatrix id "15")
    ├── red_band
    ├── green_band
    └── blue_band

But this layout would be discouraged, and the code in this repo would not parse / generate it:

/satellite_imagery/
├── red_band # Zoom level 0, not inside a separate Dataset
├── green_band
├── blue_band
├── 7/                       # Zoom level 7 (TileMatrix id "7")
│   ├── red_band
│   ├── green_band
│   └── blue_band
├── 8/                       # Zoom level 8 (TileMatrix id "8") 
│   ├── red_band
│   ├── green_band
│   └── blue_band
├── 9/                       # Zoom level 9 (TileMatrix id "9")
│   ├── red_band
│   ├── green_band
│   └── blue_band
...
├── 14/                      # Zoom level 14 (TileMatrix id "14")
│   ├── red_band
│   ├── green_band
│   └── blue_band
└── 15/                      # Zoom level 15 (TileMatrix id "15")
    ├── red_band
    ├── green_band
    └── blue_band

Comment thread docs/geozarr-minispec.md
@emmanuelmathot emmanuelmathot marked this pull request as ready for review September 25, 2025 13:08
@emmanuelmathot emmanuelmathot merged commit 44f206a into EOPF-Explorer:main Sep 25, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants