feat: implement PolyWeather dashboard with map UI, data collection, analysis, and comprehensive documentation.

This commit is contained in:
2569718930@qq.com
2026-03-10 09:02:56 +08:00
parent aab4477ab3
commit 396c373cba
18 changed files with 2398 additions and 634 deletions
+9 -5
View File
@@ -681,11 +681,15 @@ def _build_city_detail_payload(
) -> Dict[str, Any]:
distribution = data.get("probabilities", {}).get("distribution", []) or []
primary_bucket = distribution[0] if distribution else None
model_probability = (
(primary_bucket.get("probability") / 100.0)
if isinstance(primary_bucket, dict) and primary_bucket.get("probability") is not None
else None
)
model_probability = None
if isinstance(primary_bucket, dict) and primary_bucket.get("probability") is not None:
try:
raw_probability = float(primary_bucket.get("probability"))
model_probability = (
raw_probability / 100.0 if raw_probability > 1.0 else raw_probability
)
except Exception:
model_probability = None
fallback_sparkline = [
p.get("probability", 0)
for p in distribution[:8]