Difference between revisions of "实况天气接口/v2.2"

From Caiyun Wiki
Jump to: navigation, search
 
(94 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{彩云天气 API 版本状态}}
  
{{彩云天气 API/授权与认证}}
+
=='''授权与认证'''==
  
==天气现象==
+
请先至彩云开放平台[https://dashboard.caiyunapp.com/user/sign_up/ 注册],注册后可以获得 token 。
  
{{彩云天气 API/天气现象}}
+
把您的 token 拼到 API 请求的 URL 中,如
  
 +
<code>
 +
<nowiki>https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/realtime.json</nowiki>
 +
</code>
  
==请求参数==
+
其中 TAkhjf8d1nlSlspN 就是一个共用测试 token 。不要把私有token 告诉任何人!
  
===要素===
+
=='''请求样例'''==
  
===单位制===
+
===== 示例1如下 =====
 +
<blockquote><code> <nowiki>https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/realtime.json</nowiki> </code></blockquote><blockquote><code> <nowiki>https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/realtime.jsonp?callback=MYCALLBACK</nowiki></code></blockquote><blockquote>'''token :'''这里是测试 token ,即 <code>TAkhjf8d1nlSlspN</code></blockquote><blockquote>'''经纬度:'''经度在前,纬度在后,中间用半角逗号隔开,这里是 <code>121.6544,25.1552</code></blockquote><blockquote>'''返回格式:'''json 或者 jsonp,jsonp 需提供回调函数名</blockquote>
  
===语言===
+
==== 示例2如下 ====
 +
<blockquote><code> <nowiki>https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/realtime.json?lang=en_US</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=3600*5.5==19800,使用秒是为了支持像尼泊尔这样的差 5 小时 45 分钟的地区,它们有非整齐的偏移量;考虑了欧美夏令时。</blockquote>
  
 +
=='''返回结构和说明'''==
 +
<syntaxhighlight lang="yaml">
  
==请求格式==
+
status: ok
 +
api_version: v2.2                                          # 版本号
 +
api_status: active                                        # 版本号状态
 +
lang: zh_CN                                                # 语言
 +
unit: metric                                              # 单位制
 +
location: [25.1552 121.6544]                              # 经纬度
 +
server_time: 1443418222                                    # 服务器本次返回的utc时间戳
 +
tzshift: 28800                                            # 时区的偏移秒数,如东八区就是 28800 秒
 +
result:
 +
    status:  ok                                            # 实况模块返回状态
 +
    temperature: 28.0                                      # 温度
 +
    pres:  100991.3                                        # 气压
 +
    humidity: 0.92                                        # 相对湿度
 +
    wind:
 +
        direction: 25.33                                  # 风向,单位是度。正北方向为0度,顺时针增加到360度。
 +
        speed: 83.3                                        # 风速,米制下是公里每小时
 +
    precipitation:
 +
        nearest:
 +
            status: ok
 +
            distance: 0.77                                # 最近的降水带距离
 +
            intensity: 0.3125                              # 最近的降水带降水强度(单位为雷达降水强度)
 +
        local:
 +
            status: ok
 +
            intensity: 0.2812                              # 本地降水强度(单位为雷达降水强度)
 +
            datasource: radar                              # 本地降水观测的数据源(radar,GFS)
 +
    cloudrate: 0.51                                        # 云量
 +
    dswrf:  8.3                                            # 向下短波辐射通量
 +
    visibility:  8.3                                      # 能见度
 +
    skycon: RAIN                                          # 主要天气现象
 +
    comfort:                                              # 舒适度指数及其自然语言描述
 +
        index: 7
 +
        desc: 冷
 +
    ultraviolet:                                          # 紫外线指数及其自然语言描述
 +
      index: 0
 +
      desc: 无
 +
    pm25: 18                                              # pm25,质量浓度值
 +
    pm10: 46                                              # pm10,质量浓度值
 +
    o3:  47                                                # 臭氧,质量浓度值
 +
    no2: 14                                                # 二氧化氮,质量浓度值
 +
    so2: 1                                                # 二氧化硫,质量浓度值
 +
    co: 0.3                                                # 一氧化碳,质量浓度值
 +
    aqi: 46                                                # AQI(国标)
  
 +
</syntaxhighlight>
  
 +
=='''变量说明'''==
  
<code>
+
{| class="wikitable"
https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/realtime.json
+
! 名称
</code>
+
! 健值路径(jsonpath) !! 量 !! 时间粒度 !! 地理范围 !! 注释
 +
|-
 +
! 温度
 +
| $.result.temperature || 温度 || 实况 || 全球 || 地表2米气温
 +
|-
 +
! 气压
 +
| $.result.pres || 气压(Pa) || 实况 || 全球 || 地面气压
 +
|-
 +
! 相对湿度
 +
| $.result.humidity || 相对湿度(%) || 实况 || 全球 || 地表2米湿度
 +
|-
 +
! 风向
 +
| $.result.wind.direction || 风向 || 实况 || 全球 || 地表10米风向
 +
|-
 +
! 风速
 +
| $.result.wind.speed || 风速 || 实况 || 全球 || 地表10米风速
 +
|-
 +
! 最近降水距离
 +
| $.result.precipitation.nearest.distance || 距离 || 实况 || 全球 || 最近降水带与本地的距离
 +
|-
 +
! 最近降水强度
 +
| $.result.precipitation.nearest.intensity || 降水强度 || 实况 || 全球 || 最近降水处的降水强度
 +
|-
 +
! 本地降水强度
 +
| $.result.precipitation.local.intensity || 雷达降水强度 || 实况 || 全球 || 最近降水处的降水强度
 +
|-
 +
! 云量
 +
| $.result.cloudrate || 云量(0.0-1.0) || 实况 || 全球 || 全天总云量
 +
|-
 +
! 短波辐射
 +
| $.result.dswrf|| 向下短波辐射通量(W/M2) || 实况 || 全球 || 地表向下短波辐射通量
 +
|-
 +
! 能见度
 +
| $.result.visibility || 能见度 || 实况 || 全球 || 地表水平能见度
 +
|-
 +
!
 +
!
 +
!
 +
!
 +
!
 +
!
 +
|-
 +
! 天气状况
 +
| $.result.skycon || 天气状况 || 实况 || 全球 || 天气状况
 +
|-
 +
! 舒适度指数
 +
| $.result.comfort.index || 舒适度指数自然语言 || 实况 || 全球 || 舒适度指数及其描述
 +
|-
 +
! 紫外线指数
 +
| $.result.ultraviolet.index || 紫外线指数自然语言 || 实况 || 全球 || 紫外线指数及其描述
 +
|-
 +
!
 +
!
 +
!
 +
!
 +
!
 +
!
 +
|-
 +
! PM25浓度
 +
| $.result.pm25 || PM25浓度(μg/m3) || 实况 || 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 || PM25浓度
 +
|-
 +
! PM10浓度
 +
| $.result.pm10 || PM10浓度(μg/m3) || 实况 || 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 || PM10浓度
 +
|-
 +
! 臭氧浓度
 +
| $.result.o3 || 臭氧浓度(μg/m3) || 实况 || 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 || 臭氧浓度
 +
|-
 +
! 二氧化氮浓度
 +
| $.result.no2 || 二氧化氮浓度(μg/m3) || 实况 || 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 || 二氧化氮浓度
 +
|-
 +
! 二氧化硫浓度
 +
| $.result.so2 || 二氧化硫浓度(μg/m3) || 实况 || 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 || 二氧化硫浓度
 +
|-
 +
! 一氧化碳浓度
 +
| $.result.co || 一氧化碳浓度(mg/m3) || 实况 || 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 || 一氧化碳浓度
 +
|-
 +
! AQI
 +
| $.result.aqi || 国标AQI || 实况 || 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 || 国标AQI
 +
|}
 +
{{天气现象}}
 +
 
 +
=='''生活指数'''==
 +
{{生活指数}}
  
<code>
+
=='''支持的单位制'''==
https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/realtime.jsonp?callback=MYCALLBACK
 
</code>
 
  
==数据返回样例和说明==
+
{{Template:彩云天气 API/支持的单位制}}
<syntaxhighlight lang="javascript">
 
{
 
    "status":"ok",
 
    "lang":"zh_CN",  //目前只支持简体中文(zh_CN、zh_SG)、繁体中文(zh_TW、zh_HK),英语(en_US、en_GB)在测试中
 
    "server_time":1443418222,
 
    "tzshift":28800, //时区的偏移秒数,如东八区就是 28800 秒,使用秒是为了支持像尼泊尔这样的差 5 小时 45 分钟的地区,它们有非整齐的偏移量
 
    "location":[
 
        25.1552, //纬度
 
        121.6544 //经度
 
    ],
 
    "unit":"metric", //目前只支持米制(metric)和科学计量法(SI),英制还有待开发
 
    "result":{
 
        "status":"ok",
 
        "temperature":28.0,  //温度
 
        "skycon":"RAIN",  //天气概况
 
        "pm25": 11,      //pm25值  在新的api中增加的字段
 
        "cloudrate":0.51,  // 云量
 
        "humidity":0.92,  //相对湿度
 
        "precipitation":{ //降水
 
            "nearest":{ //最近的降水带 //用户补充:nearest字段有时候没有
 
                "status":"ok",
 
                "distance":0.77, //距离
 
                "intensity":0.3125 //降水强度
 
            },
 
            "local":{ //本地的降水
 
                "status":"ok",
 
                "intensity":0.2812, //降水强度,这是彩云自定义的一个量。如果需要mm/h,请在请求中加参数 ?unit=metric:v2
 
                "datasource":"radar" //数据源
 
            }
 
        },
 
        "wind":{ //风
 
            "direction":25.33, //风向。单位是度。正北方向为0度,顺时针增加到360度。
 
            "speed":83.3 //风速,米制下是公里每小时
 
        }
 
    }
 
}
 
  
</syntaxhighlight>
+
[[Category:API 产品]]

Latest revision as of 10:13, 20 May 2019

本文版本:实况天气接口/v2.2,当前稳定版本版本:v2.5,历史版本:v2.2v2.3,和 v2.4

授权与认证

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

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

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

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

请求样例

示例1如下
https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/realtime.json
https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/realtime.jsonp?callback=MYCALLBACK
token :这里是测试 token ,即 TAkhjf8d1nlSlspN
经纬度:经度在前,纬度在后,中间用半角逗号隔开,这里是 121.6544,25.1552
返回格式:json 或者 jsonp,jsonp 需提供回调函数名

示例2如下

https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/realtime.json?lang=en_US
语言选项 lang:默认为简体中文(zh_CN)、繁体中文(zh_TW)、美式英语(en_US)、英式英语(en_GB)
单位制选项 unit:默认为公制(metric)、科学单位体系(SI) 、英制(imperial)
时区偏移秒数 tzshift:默认为东八区,tzshift=28800;例如:印度东5.5区,tzshift=3600*5.5==19800,使用秒是为了支持像尼泊尔这样的差 5 小时 45 分钟的地区,它们有非整齐的偏移量;考虑了欧美夏令时。

返回结构和说明

status: ok
api_version: v2.2                                          # 版本号
api_status: active                                         # 版本号状态
lang: zh_CN                                                # 语言
unit: metric                                               # 单位制
location: [25.1552 121.6544]                               # 经纬度
server_time: 1443418222                                    # 服务器本次返回的utc时间戳
tzshift: 28800                                             # 时区的偏移秒数,如东八区就是 28800 秒
result:
    status:  ok                                            # 实况模块返回状态
    temperature: 28.0                                      # 温度
    pres:  100991.3                                        # 气压
    humidity: 0.92                                         # 相对湿度
    wind:
        direction: 25.33                                   # 风向,单位是度。正北方向为0度,顺时针增加到360度。
        speed: 83.3                                        # 风速,米制下是公里每小时
    precipitation:
        nearest:
            status: ok
            distance: 0.77                                 # 最近的降水带距离
            intensity: 0.3125                              # 最近的降水带降水强度(单位为雷达降水强度)
        local:
            status: ok
            intensity: 0.2812                              # 本地降水强度(单位为雷达降水强度)
            datasource: radar                              # 本地降水观测的数据源(radar,GFS)
    cloudrate: 0.51                                        # 云量
    dswrf:  8.3                                            # 向下短波辐射通量
    visibility:  8.3                                       # 能见度
    skycon: RAIN                                           # 主要天气现象
    comfort:                                               # 舒适度指数及其自然语言描述
        index: 7 
        desc:  
    ultraviolet:                                           # 紫外线指数及其自然语言描述
       index: 0 
       desc:  
    pm25: 18                                               # pm25,质量浓度值
    pm10: 46                                               # pm10,质量浓度值
    o3:  47                                                # 臭氧,质量浓度值
    no2: 14                                                # 二氧化氮,质量浓度值
    so2: 1                                                 # 二氧化硫,质量浓度值
    co: 0.3                                                # 一氧化碳,质量浓度值
    aqi: 46                                                # AQI(国标)

变量说明

名称 健值路径(jsonpath) 时间粒度 地理范围 注释
温度 $.result.temperature 温度 实况 全球 地表2米气温
气压 $.result.pres 气压(Pa) 实况 全球 地面气压
相对湿度 $.result.humidity 相对湿度(%) 实况 全球 地表2米湿度
风向 $.result.wind.direction 风向 实况 全球 地表10米风向
风速 $.result.wind.speed 风速 实况 全球 地表10米风速
最近降水距离 $.result.precipitation.nearest.distance 距离 实况 全球 最近降水带与本地的距离
最近降水强度 $.result.precipitation.nearest.intensity 降水强度 实况 全球 最近降水处的降水强度
本地降水强度 $.result.precipitation.local.intensity 雷达降水强度 实况 全球 最近降水处的降水强度
云量 $.result.cloudrate 云量(0.0-1.0) 实况 全球 全天总云量
短波辐射 $.result.dswrf 向下短波辐射通量(W/M2) 实况 全球 地表向下短波辐射通量
能见度 $.result.visibility 能见度 实况 全球 地表水平能见度
天气状况 $.result.skycon 天气状况 实况 全球 天气状况
舒适度指数 $.result.comfort.index 舒适度指数自然语言 实况 全球 舒适度指数及其描述
紫外线指数 $.result.ultraviolet.index 紫外线指数自然语言 实况 全球 紫外线指数及其描述
PM25浓度 $.result.pm25 PM25浓度(μg/m3) 实况 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 PM25浓度
PM10浓度 $.result.pm10 PM10浓度(μg/m3) 实况 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 PM10浓度
臭氧浓度 $.result.o3 臭氧浓度(μg/m3) 实况 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 臭氧浓度
二氧化氮浓度 $.result.no2 二氧化氮浓度(μg/m3) 实况 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 二氧化氮浓度
二氧化硫浓度 $.result.so2 二氧化硫浓度(μg/m3) 实况 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 二氧化硫浓度
一氧化碳浓度 $.result.co 一氧化碳浓度(mg/m3) 实况 大陆、港澳台、印度、日本,美国、阿拉斯加、夏威夷、加拿大 一氧化碳浓度
AQI $.result.aqi 国标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.目前支持的生活指数(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)来判断,研发中...