Skip to Content

镜像地球开放平台

天气代码转换

将天气代码转换为可读的中文描述,方便在前端展示。

当接口返回天气代码(weather_id)时,可以使用下表或参考实现将其转换为中文描述。

代码对照表

代码描述
0
1多云
2
3阵雨
4雷阵雨
5雷阵雨伴有冰雹
6雨夹雪
7小雨
8中雨
9大雨
10暴雨
11大暴雨
12特大暴雨
13阵雪
14小雪
15中雪
16大雪
17暴雪
18
19冻雨
20沙尘暴
21小到中雨
22中到大雨
23大到暴雨
24暴雨到大暴雨
25大暴雨到特大暴雨
26小到中雪
27中到大雪
28大到暴雪
29浮尘
30扬沙
31强沙尘暴
32浓雾
33龙卷风
34弱高吹雪
35轻雾
49强浓雾
53
54中度霾
55重度霾
56严重霾
57大雾
58特强浓雾
301
302
999999缺测

参考实现

export function getWeatherDescription(code: number | string): string {
  const codeStr = String(code);
  switch (codeStr) {
    case "0": return "晴";
    case "1": return "多云";
    case "2": return "阴";
    case "3": return "阵雨";
    case "4": return "雷阵雨";
    case "5": return "雷阵雨伴有冰雹";
    case "6": return "雨夹雪";
    case "7": return "小雨";
    case "8": return "中雨";
    case "9": return "大雨";
    case "10": return "暴雨";
    case "11": return "大暴雨";
    case "12": return "特大暴雨";
    case "13": return "阵雪";
    case "14": return "小雪";
    case "15": return "中雪";
    case "16": return "大雪";
    case "17": return "暴雪";
    case "18": return "雾";
    case "19": return "冻雨";
    case "20": return "沙尘暴";
    case "21": return "小到中雨";
    case "22": return "中到大雨";
    case "23": return "大到暴雨";
    case "24": return "暴雨到大暴雨";
    case "25": return "大暴雨到特大暴雨";
    case "26": return "小到中雪";
    case "27": return "中到大雪";
    case "28": return "大到暴雪";
    case "29": return "浮尘";
    case "30": return "扬沙";
    case "31": return "强沙尘暴";
    case "32": return "浓雾";
    case "33": return "龙卷风";
    case "34": return "弱高吹雪";
    case "35": return "轻雾";
    case "49": return "强浓雾";
    case "53": return "霾";
    case "54": return "中度霾";
    case "55": return "重度霾";
    case "56": return "严重霾";
    case "57": return "大雾";
    case "58": return "特强浓雾";
    case "301": return "雨";
    case "302": return "雪";
    case "999999": return "缺测";
    default: return "未知";
  }
}
note
如果遇到未列出的代码,请统一展示为“未知”。

Previous

支持的时区

Next

ERA5 历史数据