Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Further decouple CubeMetadata from CollectionMetadata, and properly apply spatio-temporal filtering

Abierto
#949 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@soxofaan ya está trabajando en esto.

Desde el 6/10/2026.

  • #950 de @soxofaan — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
python
Área
api, data

Línea de trabajo

Start from how load_collection and load_stac attach metadata to a cube, and how CubeMetadata versus CollectionMetadata currently relate (including the inheritance CollectionMetadata(CubeMetadata)). Trace why cube.metadata still exposes full collection extents and bands in visualization while band_dimension already filters. Done means cubes get CubeMetadata as soon as possible so extents and default visualization match the loaded slice, without CollectionMetadata remaining sticky.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

supporting issue for #827 and related

PR #541 (for issue #464) introduced CubeMetadata as a less confusing alternative to CollectionMetadata, to focus on the concrete metadata of a cube, instead of overall metadata of a whole collection.
But we're not there yet: CollectionMetadata is still too sticky/dominant.

for example:

cube = connection.load_collection(
    "SENTINEL2_L2A",
    spatial_extent={"west": 3, "south": 51, "east": 3.1, "north": 51.1},
    temporal_extent="2026-09",
    bands=["B03"]
)

While cube is a tiny slice of the whole SENTINEL2_L2A data set, cube.metadata still point directly to SENTINEL2_L2A metadata, e.g. visualizing cube.metadata will show the full metadata of SENTINEL2_L2A: all bands, whole world, whole time converage.

e.g.

>>> cube.metadata.temporal_dimension.extent
['2015-06-27T10:25:31Z', None]
>>> cube.metadata.spatial_dimensions[0].extent
[-180, 180]

Band handling works better however: cube.metadata.band_dimension.band_names shows just the selected band ['B03'], but the default visualization of the whole metadata object will show all bands

Next steps: further decouple CubeMetadata and CollectionMetadata

  • at least: load_collection and load_stac should zone in on CubeMetadata as soon as possible, instead of confusingly still attaching CollectionMetadata
  • possible/necessary to eliminate the inheritance relation (class CollectionMetadata(CubeMetadata))?
Lenguaje dominante
Python
Estrellas
219
Forks
56
Merge medio
2 d 21 h
PR fusionados (30 d)
9

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Open-EO/openeo-python-client

Todos los issues de Open-EO/openeo-python-client

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.