Summary
The specification describes multiscale encoding but doesn't clearly define the exact hierarchical structure and relationship between parent groups and zoom level children.
Current Problem
- Section 9.7.1 mentions "hierarchical layout" but lacks precise structure definition
- Unclear relationship between multiscale root group and zoom level groups
- Missing guidance on metadata inheritance between levels
- Ambiguous about where multiscales metadata should be located
Proposed Solution
- Define precise hierarchy structure with clear examples
- Clarify metadata placement and inheritance rules
- Specify group naming conventions for zoom levels
- Document parent-child relationships explicitly
Implementation Evidence
The EOPF implementation uses this hierarchy:
/measurements/r10m/ # Parent group with multiscales metadata
├── 0/ # Native resolution (zoom level 0)
│ ├── band1
│ ├── band2
│ └── spatial_ref
├── 1/ # First overview level
│ ├── band1
│ ├── band2
│ └── spatial_ref
└── 2/ # Second overview level
├── band1
├── band2
└── spatial_ref
With multiscales metadata at the parent level:
zarr_json_attributes["multiscales"] = {
"tile_matrix_set": tile_matrix_set,
"resampling_method": "average",
"tile_matrix_limits": tile_matrix_limits,
}
Specification Sections to Update
- Section 9.7.1 (Hierarchical Layout)
- Section 9.7.2 (Metadata Encoding)
- Add clear structural diagrams and examples
cc @vincentsarago, @maxrjones, @d-v-b, @briannapagan
Summary
The specification describes multiscale encoding but doesn't clearly define the exact hierarchical structure and relationship between parent groups and zoom level children.
Current Problem
Proposed Solution
Implementation Evidence
The EOPF implementation uses this hierarchy:
With multiscales metadata at the parent level:
Specification Sections to Update
cc @vincentsarago, @maxrjones, @d-v-b, @briannapagan