预警数据
预警没有独立的 API,可以通过任意一个天气数据接口加 alert=true
参数得到:
bash
curl "https://api.caiyunapp.com/v2.6/TAkhjf8d1nlSlspN/116.3176,39.9760/realtime?alert=true"
json
{
"status": "ok", // 返回状态
"api_version": "v2.6", // API 版本
"api_status": "alpha", // API 状态
"lang": "zh_CN",
"unit": "metric",
"tzshift": 28800,
"timezone": "Asia/Shanghai",
"server_time": 1640759880,
"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", // 地区 ID
"county": "无", // 县区
"pubtimestamp": 1640733900, // 发布时间戳
"latlon": [39.959912, 116.298056], // 经纬度
"city": "海淀区", // 城市
"alertId": "11010841600000_20211229072633", // 预警 ID
"title": "海淀区气象台发布大风蓝色预警[IV/一般]", // 预警标题
"adcode": "110108", // 区域代码
"source": "国家预警信息发布中心", // 预警信息来源
"location": "北京市海淀区", // 地点
"request_status": "ok" // 请求状态
}
],
"adcodes": [
{
"adcode": 110000, // 区域代码
"name": "北京市" // 区域名称
},
{
"adcode": 110108, // 区域代码
"name": "海淀区" // 区域名称
}
]
},
"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 级雷雨大风等强对流天气。请注意防范!"adcodes
: 行政区划层级信息
编码规则
预警代码取自 code 字段,预警代码的前两位是预警信息类型,预警代码的后两位是预警级别。举例:"code": "0901”
,可以分解出结构:预警类型编码+预警级别编码,于是我们得到雷电蓝色预警。
类型编码对照表
预警级别 | 级别编码 |
---|---|
台风 | 01 |
暴雨 | 02 |
暴雪 | 03 |
寒潮 | 04 |
大风 | 05 |
沙尘暴 | 06 |
高温 | 07 |
干旱 | 08 |
雷电 | 09 |
冰雹 | 10 |
霜冻 | 11 |
大雾 | 12 |
霾 | 13 |
道路结冰 | 14 |
森林火险 | 15 |
雷雨大风 | 16 |
春季沙尘天气趋势预警 | 17 |
沙尘 | 18 |
级别编码对照表
预警级别 | 级别编码 |
---|---|
白色 | 00 |
蓝色 | 01 |
黄色 | 02 |
橙色 | 03 |
红色 | 04 |