Sentinel 2A: datastrip in item.id does not match datastrip in item.properties.s2:datastrip_id
还没有人认领这个 Issue。
评估
调研方向
报告中没有指定任何仓库文件或测试。首先针对 catalog 重现两个 Sentinel-2 示例,并比较 item.id 中的 datastrip 段与 properties.s2:datastrip_id,然后追踪这些字段是如何生成或导入的。完成的标准是:解释清楚重复数据行为和标识符不匹配问题;如果确认这是 catalog bug,则通过修正后的数据或回归检查加以覆盖。
由索引模型根据 Issue 内容生成。
描述
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 |
- 主要语言
- TypeScript
- 星标
- 46
- 派生
- 22
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/PlanetaryComputerDataCatalog 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 45/100
-
难度 3/5 1-2 天 新手友好度 35/100
-
难度 4/5 3-5 天 新手友好度 25/100
-
难度 3/5 1-2 天 新手友好度 25/100
microsoft/PlanetaryComputerDataCatalog#461 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 35/100
查看 microsoft/PlanetaryComputerDataCatalog 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
-
area:tools bug good first issue help wanted priority:P2
难度 2/5 1-3 小时 新手友好度 90/100
TaewoooPark/Motifcode#14 ·
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
newrelic-experimental/preflight#793 · 1 条评论 ·
-
bug 🐞
难度 2/5 1-3 小时 新手友好度 68/100
-
[Bounty proposal] fix(web): memory insights count an evening memory on the next day ($25 proposed) 未关闭
难度 2/5 1-3 小时 新手友好度 84/100
BasedHardware/omi#15320 ·