Wetterstationen in verschiedenen Städten mit gleicher Stationskennung
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 文档
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 领域
- api, documentation
调研方向
从 stationsIds 或 stationID 参数的 API 文档以及链接的 DWD stations lexicon 开始,重点关注重复标识符 10519 和此 issue 中的示例。将文档描述的查找行为与 lexicon 条目进行比较;当文档清楚地解释标识符的适用范围、重复情况以及在需要时如何选择特定站点时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
In der DWD API-Dokumentation heißt es
Beim Parameter stationsIds handelt es sich um die Stationskennungen. Die List der Stationskennungen kann z.B. hier eingesehen werden.
Im oben verlinkten Stationslexikon habe ich in die Tabelle geschaut und gemerkt, dass die Stationskennung 10519 doppelt für verschiedene Städte vorkommt, und zwar neben Königswinter-Heiderhof (mich von Interesse) auch in Karlsruhe-Durlach.
import pandas as pd
stations_lexikon = pd.read_html("https://www.dwd.de/DE/leistungen/klimadatendeutschland/statliste/statlex_html.html?view=nasPublication")[0]["Stationslexikon"]
print(stations_lexikon[stations_lexikon["Stations-kennung"] == "10519"][
["Stations_ID", "Stations-kennung", "Stationsname"]
])
# Stations_ID Stations-kennung Stationsname
# 8348 10519 10519 Karlsruhe-Durlach (Ph)
# 9203 603 10519 Königswinter-Heiderhof
# 9206 603 10519 Königswinter-Heiderhof
Ich bin nicht überrascht dass die gleiche Kennung für mehrere Stationen unterschiedlichen Typs in einer Stadt erhalte, aber dass die gleiche Stationskennung in verschiedenen Städten vorkommt hat mich überrascht, weil ich erwartet hatte, damit über die API eindeutig Wetterdaten für einen bestimmten Standort zu erhalten.
Wenn ich in der API die Stationskennung 10519 verwende, bekomme ich die Wetterdaten für Königswinter-Heiderho und nicht Karlsruhef, jedenfalls scheint es so wenn ich die Temperaturen vergleichen mit dem was ich in der DWD-App sehe. Das ist eigentlich auch was ich möchte.
Auf diese Duplizierung kam ich nur, weil ich in meinem Skript eine Funktion schreiben wollte, die von der stationID automatisch den Stationsnamen über das Stationslexikon herausholt, was jetzt aber doch nicht so eindeutig ist wie ich erhofft hatte.
Das kommt sogar recht häufig vor
station_name_counts = stations_lexikon.groupby("Stations-kennung")["Stationsname"].agg(
[lambda namen: len(set(namen)), lambda namen: set(namen)]
)
station_name_counts.columns = ["counts", "Stationsnamen"]
station_name_counts = station_name_counts[station_name_counts["counts"] > 1]
station_name_counts.sort_values("counts", ascending=False)
# counts Stationsnamen
# Stations-kennung
# 10791 3 {Großer Arber, Obereschach, Grosser Falkenstein}
# 10639 3 {Langen (BZ), Darmstadt (US-Air-Base), Lauda-K...
# 10156 3 {Lübeck, Sankt Goarshausen, Lübeck-Blankensee}
# 10515 3 {Heidelberg-Königstuhl, Koblenz, Bendorf}
# 10875 3 {Hayingen (PH), Mühldorf, Obertaufkirchen}
# ... ... ...
# 10424 2 {Leonberg/Württ., Werl}
# 10419 2 {Ingelfingen (PH), Lüdenscheid (Flugplatz)}
# 10418 2 {Lüdenscheid, Hermuthausen}
# 10410 2 {Weinsberg, Essen-Bredeney}
# T362 2 {Winterberg, Winterberg-Altastenberg}
#
# [402 rows x 2 columns]
War mir nicht sicher wen ich hier am besten zuerst anpingen soll und über welche Kanäle, aber dachte vielleicht kriege ich über ein Issue Antworten, vielleicht weiß jemand von euch mehr. Vermute die Stations-kennung ist vielleicht nur innnerhalb eines Stationstyps eindeutig. Z.B. ist 10519 in Karlsruhe-Durlach vom Typ PE (phänologische Beobachtungen) und die sind vielleicht eh nicht über die API erreichbar, bin mir aber nicht sicher, denn wüsste jetzt nicht wie ich Karlsruhe-Durlach 10519 über die API anpingen kann 🤷
Was von Seiten der API-Dokumentation gemacht werden muss ist möglicherweise nur ein Hinweis zum Kommentar zur stationID, vielleiht gibt es aber auch weitere Parameter mit denen man die die Stations einschränken kann?
Übrigens ist mir auch bewusst, dass die Stationslexikon-Tabelle nicht Teil der API ist, aber irgendwie gehört sie meines Erachtens nach zur Dokumentation und daher würde ich sie gerne verstehen.
- 主要语言
- Python
- 星标
- 148
- 派生
- 11
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
bundesAPI/dwd-api 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 35/100
-
API Server error未关闭
难度 3/5 1-2 天 新手友好度 38/100
-
难度 1/5 1-3 小时 新手友好度 35/100
-
Dokumentation未关闭
难度 2/5 1-3 小时 新手友好度 45/100
-
难度 3/5 1-2 天 新手友好度 48/100
查看 bundesAPI/dwd-api 的全部 Issue
相似的 Issue
-
tunneld on Windows: Wi-Fi devices are not discovered because uvicorn runs on a ProactorEventLoop未关闭
难度 2/5 1-3 小时 新手友好度 76/100
doronz88/pymobiledevice3#2051 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 90/100
collabnix/awesome-mcp-lists#230 ·
维护者通常 9 天内回复
-
Groc schedules with out of range values pass config validation and fail later when the scheduler is built可能已有人在做 @auraseb 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
-
enhancement
难度 2/5 1-3 小时 新手友好度 72/100
autowarefoundation/autoware_carla_scenario#342 ·
维护者通常 1 天内回复
-
documentation
难度 2/5 1-3 小时 新手友好度 72/100
ianktoo/project-monitor#14 ·