预警数据
预警没有独立的 API,可以通过任意一个天气数据接口加 alert=true
参数得到:
bash
curl "https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/116.3176,39.9760/realtime?alert=true"
json
{
"status": "ok",
"api_version": "v2.5",
"api_status": "active",
"lang": "zh_CN",
"unit": "metric",
"tzshift": 28800,
"timezone": "Asia/Shanghai",
"server_time": 1640755654,
"location": [39.976, 116.3176],
"result": {
"alert": {
"status": "ok",
"content": [
{
"province": "北京市",
"status": "预警中",
"code": "0501",
"description": "海淀区气象台29日07时25分发布大风蓝色预警,预计,当前至29日16时,海淀区将有3、4级偏北风,阵风6、7级,请注意防范。",
"regionId": "101010200",
"county": "无",
"pubtimestamp": 1640733900,
"latlon": [39.959912, 116.298056],
"city": "海淀区",
"alertId": "11010841600000_20211229072633",
"title": "海淀区气象台发布大风蓝色预警[IV/一般]",
"adcode": "110108",
"source": "国家预警信息发布中心",
"location": "北京市海淀区",
"request_status": "ok"
}
]
},
"realtime": {
// ...
},
"primary": 0
}
}
pubtimestamp
: 发布时间,单位是 Unix 时间戳,如 1587443583alertId
: 预警 ID,如 "35040041600001_20200421123203"status
: 预警信息的状态,如"预警中"adcode
: 区域代码,如 "350400"location
: 位置,如"福建省三明市"province
: 省,如"福建省"city
: 市,如"三明市"county
: 县,如"无"code
: 预警代码,如"0902"source
: 发布单位,如"国家预警信息发布中心",title
: 标题,如"三明市气象台发布雷电黄色预警[Ⅲ 级/较重]",description
: 描述,如"三明市气象台 2020 年 04 月 21 日 12 时 19 分继续发布雷电黄色预警信号:预计未来 6 小时我市有雷电活动,局地伴有短时强降水、6-8 级雷雨大风等强对流天气。请注意防范!"
编码规则
预警代码取自 code 字段,预警代码的前两位是预警信息类型,预警代码的后两位是预警级别。举例:"code": "0901”,可以分解出结构:预警类型编码+预警级别编码,于是我们得到雷电蓝色预警。
类型编码对照表
预警级别 | 级别编码 |
---|---|
台风 | 01 |
暴雨 | 02 |
暴雪 | 03 |
寒潮 | 04 |
大风 | 05 |
沙尘暴 | 06 |
高温 | 07 |
干旱 | 08 |
雷电 | 09 |
冰雹 | 10 |
霜冻 | 11 |
大雾 | 12 |
霾 | 13 |
道路结冰 | 14 |
森林火灾 | 15 |
雷雨大风 | 16 |
级别编码对照表
预警级别 | 级别编码 |
---|---|
蓝色 | 01 |
黄色 | 02 |
橙色 | 03 |
红色 | 04 |