From 1ad2eb6e60b19f7c9c60ca5e422e373def52d6cd Mon Sep 17 00:00:00 2001 From: yarnom Date: Wed, 27 Aug 2025 14:15:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E7=9A=84=E9=A3=8E=E5=90=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/tools/exporter.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/internal/tools/exporter.go b/internal/tools/exporter.go index 533c249..8d7b16e 100644 --- a/internal/tools/exporter.go +++ b/internal/tools/exporter.go @@ -384,8 +384,17 @@ func (e *Exporter) fetchCaiyunRealtimeWind(ctx context.Context, lat, lon float64 if strings.ToLower(data.Status) != "ok" || strings.ToLower(data.Result.Realtime.Status) != "ok" { return 0, 0, false } - // 使用 SI 单位,风速直接为 m/s - return data.Result.Realtime.Wind.Speed, data.Result.Realtime.Wind.Direction, true + // 使用 SI 单位,风速为 m/s;风向为弧度,这里转换为度[0,360) + spd := data.Result.Realtime.Wind.Speed + dirRad := data.Result.Realtime.Wind.Direction + dirDeg := dirRad * 180.0 / math.Pi + for dirDeg < 0 { + dirDeg += 360 + } + for dirDeg >= 360 { + dirDeg -= 360 + } + return spd, dirDeg, true } func ensureFileWithHeader(path string) bool {