Further decouple CubeMetadata from CollectionMetadata, and properly apply spatio-temporal filtering
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
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_collectionandload_stacshould zone in onCubeMetadataas soon as possible, instead of confusingly still attachingCollectionMetadata - 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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Open-EO/openeo-python-client
-
JupyterLite supportAbiertoauth feature request
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Open-EO/openeo-python-client#953 ·
Los mantenedores suelen responder en 1 día
-
Stop providing conda packages?Abiertocollect feedback
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Open-EO/openeo-python-client#952 · 7 comentarios ·
Los mantenedores suelen responder en 1 día
-
asset download: support file:local_path to determine target file namePosiblemente ocupada @soxofaan la tomó hace 46 días. Abiertofeature request
Open-EO/openeo-python-client#902 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Add split_points functionalityPosiblemente ocupada @HansVRP la tomó hace 1 día. Abiertojob manager
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Open-EO/openeo-python-client#899 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
job manager
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Open-EO/openeo-python-client#888 · 2 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
Todos los issues de Open-EO/openeo-python-client
Issues similares
-
area: agents area: docs good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
openapi/gknowledge#23 ·
-
get() for StrEnumPosiblemente ocupada @FeJo5952 la tomó hoy. Abiertogood first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
collective/icalendar#1921 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Improvement Python Spans
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
getsentry/sentry-python#7994 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
alphagov/notifications-api#5004 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
equinor/radix-flux#3922 ·
Los mantenedores suelen responder en 1 día