Skip to content

Multiscale hierarchy structure needs clarification #83

@emmanuelmathot

Description

@emmanuelmathot

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

  1. Define precise hierarchy structure with clear examples
  2. Clarify metadata placement and inheritance rules
  3. Specify group naming conventions for zoom levels
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions