Sentinel 2A: datastrip in item.id does not match datastrip in item.properties.s2:datastrip_id
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 30/100
Línea de trabajo
El informe no nombra archivos del repositorio ni pruebas. Empieza por reproducir los dos ejemplos de Sentinel-2 contra el catálogo y compara el segmento del datastrip en item.id con properties.s2:datastrip_id; después, rastrea cómo se generan o importan esos campos. Se considera terminado cuando se hayan explicado el comportamiento de datos duplicados y la discrepancia entre identificadores y, si se confirma que es un error del catálogo, queden cubiertos mediante datos corregidos o una comprobación de regresión.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I was just debugging why I had duplicate tiles in a certain pipeline. I found out that this was related to the datastrip_id property, which depends on to the downlink station - see S2 specification. The data seems to be the same for both item's, although I only checked this for 1 band. Why do you keep duplicate data when multiple downlink stations are used?
Anyways... I then noticed that the datastrip id that is included in the item.id does not match the one that is provided in item.properties.s2:datastrip_id. Not sure if this is important, but I thought it would be worth mentioning. Please see example below.
from copy import deepcopy
import pandas as pd
import planetary_computer
import pystac_client
def items_to_dataframe(items):
_items = []
for i in items:
_i = deepcopy(i)
_items.append(_i)
df = pd.DataFrame(pd.json_normalize(_items))
for field in ["properties.datetime"]:
if field in df:
df[field] = pd.to_datetime(df[field])
df = df.sort_values("properties.datetime")
return df
catalog = pystac_client.Client.open(
"https://planetarycomputer.microsoft.com/api/stac/v1",
modifier=planetary_computer.sign_inplace,
)
roi = {
"type": "Polygon",
"coordinates": [
[
[146.0678527, -15.3746464],
[147.0909455, -15.3765786],
[147.0913918, -16.369226],
[146.0632786, -16.3671625],
[146.0678527, -15.3746464],
]
],
}
search = catalog.search(
collections=["sentinel-2-l2a"],
intersects=roi,
datetime="2022-01-01/2022-11-01",
)
items = search.item_collection()
items_ = [i.to_dict() for i in items]
df = items_to_dataframe(items_)
def split_id(x):
return pd.Series(x.id.split("_"))
df[
[
"mission_id",
"product_level",
"datetake_start_time",
"relative_orbit_number",
"tilenumber",
"id_datastrip",
]
] = df.apply(split_id, axis=1)
# two examples for which I found data which same data, but different datastrips
SAME_DATA_DIFFERENT_DATASTRIP = [
"S2A_MSIL2A_20220128T002711_R016_T55LDC_20220227T190716",
"S2A_MSIL2A_20220128T002711_R016_T55LDC_20220212T221526",
]
df_ = df.loc[df["id"].isin(SAME_DATA_DIFFERENT_DATASTRIP)].copy()
# makes it a bit easier to see the difference
def split_s2_datstrip(x):
return x["properties.s2:datastrip_id"].split("_")[6]
df_["s2_datastrip"] = df_.apply(split_s2_datstrip, axis=1)
df_[["id_datastrip", "s2_datastrip"]]
| id_datastrip | s2_datastrip |
|---|---|
| 20220227T190716 | 20220227T190717 |
| 20220212T221526 | 20220212T221527 |
- Lenguaje dominante
- TypeScript
- Estrellas
- 46
- Forks
- 22
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 microsoft/PlanetaryComputerDataCatalog
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
-
Add VIIRS to catalag Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
-
Sentinel-3 has invalid checksums Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
microsoft/PlanetaryComputerDataCatalog#461 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Todos los issues de microsoft/PlanetaryComputerDataCatalog
Issues similares
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 76/100
-
code-quality refactoring
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
langchain-ai/deepagents#6450 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
vercel/react-tweet#225 ·