Difference between revisions of "小时级预报接口/v2.5"

From Caiyun Wiki
Jump to: navigation, search
(Created page with "{{彩云天气 API 版本状态}} =='''授权与认证'''== 请先至彩云开放平台[https://dashboard.caiyunapp.com/user/sign_up/ 注册],注册后可以获得 token...")
 
Line 7: Line 7:
  
 
<code>
 
<code>
<nowiki>https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/hourly.json</nowiki>
+
https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/hourly.json
 
</code>
 
</code>
  
Line 15: Line 15:
  
 
=== '''示例1如下''' ===
 
=== '''示例1如下''' ===
<blockquote><code><nowiki>https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/hourly.json</nowiki></code>
+
<blockquote><code>https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/hourly.json</code>
  
</blockquote><blockquote><nowiki>https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/hourly.jsonp?callback=MYCALLBACK</nowiki></blockquote><blockquote>'''token:'''这里是测试 token ,即 <code>TAkhjf8d1nlSlspN</code></blockquote><blockquote>'''经纬度:'''经度在前,纬度在后,中间用半角逗号隔开,这里是 <code>121.6544,25.1552</code></blockquote><blockquote>'''返回格式:'''json 或者 jsonp,jsonp 需提供回调函数名</blockquote>
+
</blockquote><blockquote>https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/hourly.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><nowiki>https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/hourly?lang=en_US&hourlysteps=2</nowiki></code></blockquote><blockquote>'''语言选项 lang:'''简体中文(zh_CN)、繁体中文(zh_TW)、美式英语(en_US)、英式英语(en_GB)</blockquote><blockquote>'''单位制选项 unit:'''默认为公制(metric)、科学单位体系(SI) 、英制(imperial)</blockquote><blockquote>'''时区偏移秒数 tzshift:'''用户提供所需时区偏移秒,考虑欧美夏令时,默认东八(tzshift=28800);例如,用户希望取得印度(东5.5区)习惯定义下的逐日天气,加参数&tzshift=19800(=3600*5.5),然后daily的计算都会做相应处理。</blockquote><blockquote>'''定制返回的起始时间戳 begin''':默认为当前utc时间戳,可以用来返回两日内的历史数据</blockquote><blockquote>'''定制返回逐小时预报总小时数 hourlysteps''':默认为48小时(包括当前时刻)</blockquote><blockquote>'''定制返回逐日预报总天数 dailysteps''':默认为5天(包括今天)</blockquote>
+
<blockquote><code>https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/hourly?lang=en_US&hourlysteps=2</code></blockquote><blockquote>'''语言选项 lang:'''简体中文(zh_CN)、繁体中文(zh_TW)、美式英语(en_US)、英式英语(en_GB)</blockquote><blockquote>'''单位制选项 unit:'''默认为公制(metric)、科学单位体系(SI) 、英制(imperial)</blockquote><blockquote>'''时区偏移秒数 tzshift:'''用户提供所需时区偏移秒,考虑欧美夏令时,默认东八(tzshift=28800);例如,用户希望取得印度(东5.5区)习惯定义下的逐日天气,加参数&tzshift=19800(=3600*5.5),然后daily的计算都会做相应处理。</blockquote><blockquote>'''定制返回的起始时间戳 begin''':默认为当前utc时间戳,可以用来返回两日内的历史数据</blockquote><blockquote>'''定制返回逐小时预报总小时数 hourlysteps''':默认为48小时(包括当前时刻)</blockquote><blockquote>'''定制返回逐日预报总天数 dailysteps''':默认为5天(包括今天)</blockquote>
 
==返回结构和说明==
 
==返回结构和说明==
 
<syntaxhighlight lang="javascript">
 
<syntaxhighlight lang="javascript">
  
 
{  status:ok,
 
{  status:ok,
     api_version:v2.2,                                                                                                          // 版本号
+
     api_version:v2.5,                                                                                                          // 版本号
 
     api_status:active,                                                                                                        // 版本号状态
 
     api_status:active,                                                                                                        // 版本号状态
 
     lang:en_US,                                                                                                                // 语言
 
     lang:en_US,                                                                                                                // 语言

Revision as of 06:28, 19 February 2020

本文版本:小时级预报接口/v2.5,当前稳定版本版本:v2.5,历史版本:v2.2v2.3,和 v2.4

授权与认证

请先至彩云开放平台注册,注册后可以获得 token 。

把您的 token 拼到 API 请求的 URL 中,如

https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/hourly.json

其中 TAkhjf8d1nlSlspN 就是一个共用测试 token 。不要把私有token 告诉任何人!

请求样例

示例1如下

https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/hourly.json
https://api.caiyunapp.com/v2.5/TAkhjf8d1nlSlspN/121.6544,25.1552/hourly.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/hourly?lang=en_US&hourlysteps=2
语言选项 lang:简体中文(zh_CN)、繁体中文(zh_TW)、美式英语(en_US)、英式英语(en_GB)
单位制选项 unit:默认为公制(metric)、科学单位体系(SI) 、英制(imperial)
时区偏移秒数 tzshift:用户提供所需时区偏移秒,考虑欧美夏令时,默认东八(tzshift=28800);例如,用户希望取得印度(东5.5区)习惯定义下的逐日天气,加参数&tzshift=19800(=3600*5.5),然后daily的计算都会做相应处理。
定制返回的起始时间戳 begin:默认为当前utc时间戳,可以用来返回两日内的历史数据
定制返回逐小时预报总小时数 hourlysteps:默认为48小时(包括当前时刻)
定制返回逐日预报总天数 dailysteps:默认为5天(包括今天)

返回结构和说明

{   status:ok,
    api_version:v2.5,                                                                                                          // 版本号
    api_status:active,                                                                                                         // 版本号状态
    lang:en_US,                                                                                                                // 语言
    unit:metric,                                                                                                               // 单位制
    result:{
        hourly:{
            status:ok,                                                                                                          // 逐小时预报模块返回状态
            temperature:[{value:23.0,datetime:2018-11-20 10:00},{value:22.0,datetime:2018-11-20 11:00}]},                           // 温度
            pres:[{value:100279.8643200001,datetime:2018-11-20 10:00},{value:100249.1918336001,datetime:2018-11-20 11:00}],         // 气压
            humidity:[{value:0.77,datetime:2018-11-20 10:00},{value:0.77,datetime:2018-11-20 11:00}],                               // 相对湿度
            wind:[ {   direction:95.62,                                                                                             // 风向,单位是度。正北方向为0度,顺时针增加到360度。
                       speed:22.85,datetime:2018-11-20 10:00},                                                                      // 风速,米制下是公里每小时
                   {   direction:97.97,
                       speed:23.27,datetime:2018-11-20 11:00}],
            precipitation:[{value:0.0,datetime:2018-11-20 10:00},{value:0.0,datetime:2018-11-20 11:00}],                            // 本地降水强度(单位见表格)
            cloudrate:[{value:0.77,datetime:2018-11-20 10:00},{value:0.46,datetime:2018-11-20 11:00}],                              // 云量
            dswrf:[{value:344.09456384,datetime:2018-11-20 10:00},{value:325.9617024,datetime:2018-11-20 11:00}],                   // 短波辐射
            visibility:[{value:23.24,datetime:2018-11-20 10:00},{value:23.0,datetime:2018-11-20 11:00}],                            // 能见度

            skycon:[{value:PARTLY_CLOUDY_DAY,datetime:2018-11-20 10:00},{value:PARTLY_CLOUDY_DAY,datetime:2018-11-20 11:00}],       // 主要天气现象
            description:cloudy, clear weather after 7 tomorrow morning, increasing cloudiness,                                      // 逐小时天气预报,自然语言描述
            forecast_keypoint:cloudy, clear weather after 7 tomorrow morning, increasing cloudiness,primary:0                     // 逐小时和逐分钟天气预报,综合自然语言描述

            pm25:[{value:8,datetime:2018-11-20 10:00},{value:9,datetime:2018-11-20 11:00}],                                         // PM2.5
            aqi:[{value:33,datetime:2018-11-20 10:00},{value:13,datetime:2018-11-20 11:00}]                                         // AQI(国标)
            },
    location:[25.1552,
              121.6544]                                                                                                            // 经纬度
    server_time:1542695724,                                                                                                     // 服务器本次返回的utc时间戳
    tzshift:14400,                                                                                                              // 时区的偏移秒数,如东八区就是 28800 秒
}

变量说明

逐小时预报,没有生活指数变量
名称 健值路径(jsonpath) 时间粒度 地理范围 注释
温度 $.result.hourly.temperature.value 温度 逐小时预报 全球 地表2米气温
气压 $.result.hourly.pres.value 气压(Pa) 逐小时预报 全球 地面气压
相对湿度 $.result.hourly.humidity.value 相对湿度(%) 逐小时预报 全球 地表2米湿度
风向 $.result.hourly.wind.direction.value 风向 逐小时预报 全球 地表10米风向
风速 $.result.hourly.wind.speed.value 风速 逐小时预报 全球 地表10米风速
本地降水强度 $.result.hourly.precipitation.value 降水量(mm/h) 逐小时预报 全球 本地降水量
云量 $.result.hourly.cloudrate.value 云量(0.0-1.0) 逐小时预报 全球 全天总云量
短波辐射 $.result.hourly.dswrf.value 向下短波辐射通量(W/M2) 逐小时预报 全球 地表向下短波辐射通量
能见度 $.result.hourly.visibility.value 能见度 逐小时预报 全球 地表水平能见度
主要天气现象 $.result.hourly.skycon.value 天气状况 逐小时预报 全球 天气状况
逐小时预报自然语言描述 $.result.hourly.description 舒适度指数自然语言 逐小时预报 全球 舒适度指数及其描述
综合预报自然语言描述 $.result.hourly.forecast_keypoint 紫外线指数自然语言 逐小时预报 全球 逐小时和逐分钟天气预报,综合自然语言描述
PM25浓度 $.result.hourly.pm25.value PM25浓度(μg/m3) 逐小时预报 大陆、港澳台、暂无印度 PM25浓度
AQI $.result.hourly.aqi.value 国标AQI 逐小时预报 大陆、港澳台、暂无印度 国标AQI

天气现象 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.目前支持的单位制包括:科学单位体系(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)来判断,研发中...