Difference between revisions of "天级预报接口/v2.5"
Mengqingye (talk | contribs) (Created page with "{{彩云天气 API 版本状态}} =='''授权与认证'''== 请先至彩云开放平台[https://dashboard.caiyunapp.com/user/sign_up/ 注册],注册后可以获得 token...") |
Mengqingye (talk | contribs) (Tag: Visual edit) |
||
Line 7: | Line 7: | ||
<code> | <code> | ||
− | + | https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/daily.json | |
</code> | </code> | ||
Line 15: | Line 15: | ||
=== '''示例1如下''' === | === '''示例1如下''' === | ||
− | <blockquote><code | + | <blockquote><code>https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/daily.json</code> |
− | </blockquote><blockquote | + | </blockquote><blockquote>https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/daily.jsonp?callback=MYCALLBACK</blockquote><blockquote>'''token:'''这里是测试 token ,即 <code>TAkhjf8d1nlSlspN</code></blockquote><blockquote>'''经纬度:'''经度在前,纬度在后,中间用半角逗号隔开,这里是 <code>121.6544,25.1552</code></blockquote><blockquote>'''返回格式:'''json 或者 jsonp,jsonp 需提供回调函数名</blockquote> |
=== '''示例2如下''' === | === '''示例2如下''' === | ||
− | <blockquote><code | + | <blockquote><code>https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/daily.json?lang=en_US&dailysteps=360</code></blockquote><blockquote>'''语言选项 lang:'''默认为简体中文(zh_CN)、繁体中文(zh_TW)、美式英语(en_US)、英式英语(en_GB)</blockquote><blockquote>'''单位制选项 unit:'''默认为公制(metric)、科学单位体系(SI) 、英制(imperial)</blockquote><blockquote>'''定制返回逐日预报总日数 dailysteps''':默认为5日</blockquote><blockquote>'''时区偏移秒数 tzshift:'''默认为东八区,tzshift=28800;例如:印度东5.5区,tzshift=3600*5.5==19800,v2.3之后版本,返回时区信息,使用秒是为了支持像尼泊尔这样的差 5 小时 45 分钟的地区,它们有非整齐的偏移量;考虑了欧美夏令时。</blockquote> |
==返回结构和说明== | ==返回结构和说明== | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
{ status:ok, // 返回状态 | { status:ok, // 返回状态 | ||
− | api_version:v2. | + | api_version:v2.5, // 版本号 |
api_status:active, // 版本号状态 | api_status:active, // 版本号状态 | ||
lang:en_US, // 语言 | lang:en_US, // 语言 |
Revision as of 06:30, 19 February 2020
本文版本:天级预报接口/v2.5,当前稳定版本版本:v2.5,历史版本:v2.2,v2.3,和 v2.4。
授权与认证
请先至彩云开放平台注册,注册后可以获得 token 。
把您的 token 拼到 API 请求的 URL 中,如
https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/daily.json
其中 TAkhjf8d1nlSlspN 就是一个共用测试 token 。不要把私有token 告诉任何人!
请求样例
示例1如下
https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/daily.json
https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/daily.jsonp?callback=MYCALLBACK
token:这里是测试 token ,即 TAkhjf8d1nlSlspN
经纬度:经度在前,纬度在后,中间用半角逗号隔开,这里是 121.6544,25.1552
返回格式:json 或者 jsonp,jsonp 需提供回调函数名
示例2如下
https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/daily.json?lang=en_US&dailysteps=360
语言选项 lang:默认为简体中文(zh_CN)、繁体中文(zh_TW)、美式英语(en_US)、英式英语(en_GB)
单位制选项 unit:默认为公制(metric)、科学单位体系(SI) 、英制(imperial)
定制返回逐日预报总日数 dailysteps:默认为5日
时区偏移秒数 tzshift:默认为东八区,tzshift=28800;例如:印度东5.5区,tzshift=3600*5.5==19800,v2.3之后版本,返回时区信息,使用秒是为了支持像尼泊尔这样的差 5 小时 45 分钟的地区,它们有非整齐的偏移量;考虑了欧美夏令时。
返回结构和说明
{ status:ok, // 返回状态
api_version:v2.5, // 版本号
api_status:active, // 版本号状态
lang:en_US, // 语言
unit:metric, // 单位制
result:{
primary:0,
daily:{
status:ok, // 逐日预报模块返回状态
temperature:[{date:2018-11-20,max:23.0,avg:20.37,min:20.0},{date:2018-11-21,max:26.0,avg:22.97,min:20.33}], // 温度,最大值,平均值,最小值
pres:[{date:2018-11-20,max:100519.86,avg:100238.05,min:100119.53},{date:2018-11-21,max:100470.46,avg:100214.34,min:99940.79}], // 气压,最大值,平均值,最小值
humidity:[{date:2018-11-20,max:0.86,avg:0.84,min:0.76},{date:2018-11-21,max:0.87,avg:0.79,min:0.68}], // 相对湿度,最大值,平均值,最小值
wind:[{ date:2018-11-20,
max:{direction:70.43,speed:24.17}, // 风速,最大值,平均值,最小值
avg:{direction:101.11,speed:21.81},
min:{direction:148.08,speed:14.8}},
{ date:2018-11-21,
max:{direction:19.36,speed:29.25},
avg:{direction:24.59,speed:14.73},
min:{direction:254.91,speed:2.53}}],
precipitation:[{date:2018-11-20,max:0.0699,avg:0.0,min:0.0},{date:2018-11-21,max:0.2583,avg:0.0581,min:0.0}], // 本地降水强度,最大值,平均值,最小值(单位见表格)
cloudrate:[{date:2018-11-20,max:0.91,avg:0.62,min:0.18},{date:2018-11-21,max:1.0,avg:0.45,min:0.0}], // 云量,最大值,平均值,最小值
dswrf:[{date:2018-11-20,max:344.1,avg:84.0,min:0.0},{date:2018-11-21,max:601.5,avg:197.7,min:0.0}], // 短波辐射,最大值,平均值,最小值
visibility:[{date:2018-11-20,max:24.1,avg:22.9,min:14.2},{date:2018-11-21,max:24.1,avg:20.4,min:13.7}], // 能见度,最大值,平均值,最小值
skycon:[{date:2018-11-20,value:PARTLY_CLOUDY_DAY},{date:2018-11-21,value:PARTLY_CLOUDY_DAY}], // 全天,主要天气现象
skycon_08h_20h:[{date:2018-11-20,value:PARTLY_CLOUDY_DAY},{date:2018-11-21,value:PARTLY_CLOUDY_DAY}] // 白天,主要天气现象
skycon_20h_32h:[{date:2018-11-20,value:PARTLY_CLOUDY_NIGHT},{date:2018-11-21,value:RAIN}], // 夜晚,主要天气现象
ultraviolet:[{index:3,desc:Moderat,datetime:2018-11-20},{index:3,desc:Moderat,datetime:2018-11-21}], // 午间,紫外线指数和自然语言描述
comfort:[{index:4,desc:Warm,datetime:2018-11-20},{index:4,desc:Warm,datetime:2018-11-21}], // 全天,舒适度指数和自然语言描述
carWashing:[{index:3,desc:Less appropriate,datetime:2018-11-20},{index:3,desc:Less appropriate,datetime:2018-11-21}], // 全天,洗车指数和自然语言描述
coldRisk:[{index:3,desc:Prone,datetime:2018-11-20},{index:3,desc:Prone,datetime:2018-11-21}], // 全天,感冒指数和自然语言描述
dressing:[{index:5,desc:Cool,datetime:2018-11-20},{index:3,desc:Hot,datetime:2018-11-21}], // 全天,冷暖指数和自然语言描述(淘汰...)
pm25:[{date:2018-11-20,max:20,avg:15.62,min:8},{date:2018-11-21,max:28,avg:22.29,min:12}], // PM2.5,最大值,平均值,最小值
aqi:[{date:2018-11-20,max:42,avg:24.08,min:14},{date:2018-11-21,max:40,avg:31.75,min:17}], // AQI(国标),最大值,平均值,最小值
astro:[{date:2018-11-20,
sunset:{time:17:04},
sunrise:{time:06:13}},
{date:2018-11-21,
sunset:{time:17:04}, // 日出时间(北京时间,tzshift不作用在这个变量)
sunrise:{time:06:14}}], // 日出时间(返回北京时间,tzshift不作用在这个变量)
}
},
location:[25.1552,
121.6544], // 经纬度
server_time:1542698313, // 服务器本次返回的utc时间戳
tzshift:14400, // 时区的偏移秒数,如东八区就是 28800 秒
}
变量说明
逐日预报,没有逐日预报的自然语言描述字段
名称 | 健值路径(jsonpath) | 量 | 时间粒度 | 地理范围 | 注释 |
---|---|---|---|---|---|
温度 | $.result.daily.temperature[max,min,avg] | 温度 | 逐日预报 | 全球 | 地表2米气温 |
气压 | $.result.daily.pres[max,min,avg] | 气压(Pa) | 逐日预报 | 全球 | 地面气压 |
相对湿度 | $.result.daily.humidity[max,min,avg] | 相对湿度(%) | 逐日预报 | 全球 | 地表2米湿度 |
风速 | $.result.daily.wind.speed[max,min,avg] | 风速 | 逐日预报 | 全球 | 地表10米风速 |
本地降水强度 | $.result.daily.precipitation[max,min,avg] | 降水量(mm/h) | 逐日预报 | 全球 | 本地降水量 |
云量 | $.result.daily.cloudrate[max,min,avg] | 云量(0.0-1.0) | 逐日预报 | 全球 | 全天总云量 |
短波辐射 | $.result.daily.dswrf[max,min,avg] | 向下短波辐射通量(W/M2) | 逐日预报 | 全球 | 地表向下短波辐射通量 |
能见度 | $.result.daily.visibility[max,min,avg] | 能见度 | 逐日预报 | 全球 | 地表水平能见度 |
全天主要天气现象 | $.result.daily.skycon.value | 天气状况 | 逐日预报 | 全球 | 全天主要天气现象 |
白天主要天气现象 | $.result.daily.skycon_08h_20h.value | 天气状况 | 逐日预报 | 全球 | 白天主要天气现象 |
夜晚主要天气现象 | $.result.daily.skycon_20h_32h.value | 天气状况 | 逐日预报 | 全球 | 夜晚主要天气现象 |
紫外线指数 | $.result.daily.ultraviolet.desc | 紫外线指数自然语言 | 逐日预报 | 全球 | 紫外线指数及其描述 |
舒适度指数 | $.result.daily.comfort.desc | 舒适度指数自然语言 | 逐日预报 | 全球 | 舒适度指数及其描述 |
洗车指数 | $.result.daily.carWashing.desc | 洗车指数自然语言 | 逐日预报 | 全球 | 洗车指数及其描述 |
感冒指数 | $.result.daily.coldRisk.desc | 感冒指数自然语言 | 逐日预报 | 全球 | 感冒指数及其描述 |
穿衣指数 | $.result.daily.dressing.desc | 冷热指数自然语言 | 逐日预报 | 全球 | 穿衣指数(dressing),不建议继续使用,请使用舒适度 |
PM25浓度 | $.result.daily.pm25[max,min,avg] | PM25浓度(μg/m3) | 逐日预报 | 大陆、港澳台、暂无印度 | PM25浓度 |
AQI | $.result.daily.aqi[max,min,avg] | 国标AQI | 逐日预报 | 大陆、港澳台、暂无印度 | 国标AQI |
日出日落 | $.result.astro.aqi[sunrise,sunset] | 国标AQI | 逐日预报 | 大陆、港澳台、暂无印度 | 日出日落(当地时区的时刻,tzshift不作用在这个变量) |
天气现象 skycon v2.5
主要天气现象的优先级:冰雹 > 雷阵雨 > 降雪 > 降雨 > 雾 > 沙尘 > 浮尘 > 雾霾 > 大风 > 阴 > 多云 > 晴
天气现象 | 代码 | 备注 |
---|---|---|
晴(白天) | CLEAR_DAY | cloudrate < 0.2 |
晴(夜间) | CLEAR_NIGHT | cloudrate < 0.2 |
多云(白天) | PARTLY_CLOUDY_DAY | 0.8 >= cloudrate > 0.2 |
多云(夜间) | PARTLY_CLOUDY_NIGHT | 0.8 >= cloudrate > 0.2 |
阴 | CLOUDY | cloudrate > 0.8 |
轻度雾霾 | LIGHT_HAZE | PM2.5 100~150 |
中度雾霾 | MODERATE_HAZE | PM2.5 150~200 |
重度雾霾 | HEAVY_HAZE | PM2.5 > 200 |
小雨 | LIGHT_RAIN | |
中雨 | MODERATE_RAIN | |
大雨 | HEAVY_RAIN | |
暴雨 | STORM_RAIN | |
雾 | FOG | 能见度低,湿度高,风速低,温度低 |
小雪 | LIGHT_SNOW | |
中雪 | MODERATE_SNOW | |
大雪 | HEAVY_SNOW | |
暴雪 | STORM_SNOW | |
浮尘 | DUST | aqi > 150,pm10 > 150,湿度 < 30%,风速 < 6 m/s |
沙尘 | SAND | aqi > 150,pm10 > 150,湿度 < 30%,风速 > 6 m/s |
大风 | WIND | |
雷阵雨 | THUNDER_SHOWER | 闪电+降水 |
冰雹 | HAIL | 闪电+降水+其他 |
雨夹雪 | SLEET |
雾霾类(HAZE)天气现象(skycon)分三个等级:
轻度雾霾 | 中度雾霾 | 重度雾霾 |
AQI > 100 | AQI > 150 | AQI > 200 |
空气污染的自然语言描述air_quality: description字段,根据AQI有六个等级划分:
缺数据 missing | 优 good | 良 satisfactory | 轻度污染 moderate | 中度污染 unhealthy | 重度污染 very poor | 严重污染 hazardous |
无测站国家和位置 | 0~50 | 51~100 | 101~150 | 151~200 | 201~300 | >300 |
生活指数
1.目前支持的生活指数(life_index)包括:紫外线(ultraviolet)、舒适度(comfort)、洗车(carWashing)、感冒(coldRisk)、(穿衣指数(dressing),不建议继续使用,请使用舒适度):
紫外线(ultraviolet)实况 |
||
---|---|---|
level | desc | 自然语言描述 |
0 | None | 无(夜间) |
1 | Weak | 很弱 |
2 | Weak | 很弱 |
3 | Low | 弱 |
4 | Low | 弱 |
5 | Moderate | 中等 |
6 | Moderate | 中等 |
7 | High | 强 |
8 | High | 强 |
9 | Very High | 很强 |
10 | Very High | 很强 |
11 | Extreme | 极强 |
紫外线(ultraviolet)逐日预报(午间时段,10:00AM~14:00PM) |
||
---|---|---|
level | desc | 自然语言描述 |
0 | None | 无(夜间) |
1 | Weak | 最弱 |
2 | Low | 弱 |
3 | Moderate | 中等 |
4 | High | 强 |
5 | Very high | 很强 |
舒适度(comfort)实况和逐日预报 |
||
---|---|---|
level | desc | 自然语言描述 |
0 | Sticky | 闷热 |
1 | Extremely hot | 酷热 |
2 | Very hot | 很热 |
3 | Hot | 热 |
4 | Warm | 温暖 |
5 | Comfort | 舒适 |
6 | Cool | 凉爽 |
7 | Cold | 冷 |
8 | Very cold | 很冷 |
9 | Freezing | 寒冷 |
10 | Frigid | 极冷 |
11 | Icy | 刺骨的冷 |
12 | Clammy | 湿冷 |
13 | Dry cold | 干冷 |
洗车(carWashing)逐日预报 |
||
---|---|---|
level | desc | 自然语言描述 |
1 | Suitable | 适宜 |
2 | More appropriate | 较适宜 |
3 | Less appropriate | 较不适宜 |
4 | Unfit | 不适应 |
感冒(coldRisk)逐日预报 |
||
---|---|---|
level | desc | 自然语言描述 |
1 | Less prone | 少发 |
2 | Easily prone | 较易发 |
3 | Prone | 易发 |
4 | Extremely prone | 极易发 |
支持的单位制
1.目前支持的单位制包括:科学单位体系(SI,大写)、英制(imperial)、公制(不带参数&unit默认公制,公制还包括: metric:v1和metric:v2):
单位制 要素
|
SI(科学单位体系) | imperial(英制) | metric:v1(公制v1) | metric:v2(公制v2) | default metric(默认公制) |
---|---|---|---|---|---|
实况降水量 | 米/秒(meter/sec) | 英寸/小时(in/hr) | 雷达降水强度(0~1) | 毫米/小时(mm/hr) | 雷达降水强度(0~1) |
逐分钟降水短临预报降水量 | 米/秒(meter/sec) | 英寸/小时(in/hr) | 雷达降水强度(0~1) | 毫米/小时(mm/hr) | 雷达降水强度(0~1) |
逐小时预报降水量 | 米/秒(meter/sec) | 英寸/小时(in/hr) | 雷达降水强度(0~1) | 毫米/小时(mm/hr) | 毫米/小时(mm/hr) |
逐日预报降水量 | 米/秒(meter/sec) | 英寸/小时(in/hr) | 雷达降水强度(0~1) | 毫米/小时(mm/hr) | 毫米/小时(mm/hr) |
距离 | 米(m) | 英里(mi) | 公里(km) | 公里(km) | 公里(km) |
温度 | 开尔文(K) | 华氏度(℉) | 摄氏度(℃) | 摄氏度(℃) | 摄氏度(℃) |
气压 | 帕(Pa) | 帕(Pa) | 帕(Pa) | 帕(Pa) | 帕(Pa) |
相对湿度 | 0~1 | 0~1 | 0~1 | 0~1 | 0~1 |
风向 | 从北顺时针(0~360°) | 从北顺时针(0~360°) | 从北顺时针(0~360°) | 从北顺时针(0~360°) | 从北顺时针(0~360°) |
风速 | 米/秒(m/s) | 英里/小时(mi/hr) | 公里/小时(km/hr) | 公里/小时(km/hr) | 公里/小时(km/hr) |
云量 | 0~1 | 0~1 | 0~1 | 0~1 | 0~1 |
能见度 | 米(m) | 英里(mi) | 公里(km) | 公里(km) | 公里(km) |
unit=metric:v1时,所有类型中precipitation的单位都是:雷达降水强度(0~1)
unit=metric:v2时,所有类型中precipitation的单位都是:毫米/小时(mm/hr)
2.判断降水等级:
- 带参数&unit=metric:v1,请求实况、分钟级、逐小时和逐日降水强度,单位都为雷达降水强度(0 ~ 1);
- 雷达降水强度(0 ~ 1)判断降水等级:0.03~0.25 小雨(雪), 0.25~0.35 中雨(雪), 0.35~0.48大雨(雪), >0.48 暴雨(雪);
- v2.4版本中,本地存在降水时,可以根据skycon(存在于realtime、hourly、daily字段),和skycon_08h_20h和skycon_20h_32h(存在于daily字段),中的:LIGHT_RAIN, MODERATE_RAIN, HEAVY_RAIN, STORM_RAIN(LIGHT_SNOW, MODERATE_SNOW, HEAVY_SNOW,STORM_SNOW)直接获取降水等级
- 大暴雨(雪)和特大暴雨(雪),需要根据24小时累计公制降水量(mm/24hr)来判断,研发中...