通用预报接口/v2.2

From CaiyunWiki
Revision as of 08:37, 20 November 2018 by Liuzhonghua (talk | contribs) (返回结构和说明)
Jump to: navigation, search

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

授权与认证

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

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

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

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

请求样例

示例1如下

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

https://api.caiyunapp.com/v2/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/TAkhjf8d1nlSlspN/121.6544,25.1552/hourly.json?lang=en_US&unit=metric&tzshift=14400&?hourlysteps=2
语言选项 lang:(简体中文(zh_CN)、繁体中文(zh_TW)、美式英语(en_US)、英式英语(en_GB))
经纬度附近地址中英文名称:getplacename=True
单位制选项 unit:(科学单位体系(SI) 、公制(metric)、英制(imperial))、(降水单位:mm/h)
时区偏移秒数:tzshift:(例如:印度东5.5区,tzshift=3600*5.5==19800,v2.3之后版本,返回时区信息,使用秒是为了支持像尼泊尔这样的差 5 小时 45 分钟的地区,它们有非整齐的偏移量)
定制返回预报总小时数:hourlysteps:(例如:未来360小时,未来2小时)
定制返回变量列表:fields=tmp,vis 【'ast', 'rad', 'prc', 'tmp', 'wnd', 'hmd', 'cld', 'aqi', 'pm25', 'pm25w', 'sky', 'skyh', 'lfi', 'alr', 'pres', 'vis', 'dswrf'】

返回结构和说明

{   "status":"ok",
    "api_version":"v2.2",
    "api_status":"active",
    "unit":"metric",
    "lang":"en_US",
    "result":{
        "forecast_keypoint":"cloudy, clear weather after 23 this midnight",
        "primary":0,
        "realtime":{"status":"ok",
                    "temperature":-1.21,
                    "pres":56320.24,
                    "humidity":0.09,
                    "wind":{"direction":284.91,"speed":30.12}},
                    "precipitation":{"local":{"status":"ok","intensity":0.0,"datasource":"gfs"}},
                    "cloudrate":0.3,
                    "dswrf":677.9,
                    "visibility":24.1,
                    
                    "skycon":"PARTLY_CLOUDY_DAY",
                    "ultraviolet":{"index":5.0,"desc":"Moderat"},
                    "comfort":{"index":11,"desc":"Icy wind cold"},
                    
                    "pm25":3,
                    "pm10":10.0,
                    "o3":97.0,
                    "no2":2.0,
                    "so2":7.0,
                    "co":0.4,
                    "aqi":10,
        
        "hourly":{"status":"ok",
                    "description":"cloudy, clear weather after 23 this midnight",
                    "temperature":[{"value":-1.21,"datetime":"2018-11-20 16:00"},{"value":-0.51,"datetime":"2018-11-20 17:00"}]},
                    "pres":[{"value":56320.2411405722,"datetime":"2018-11-20 16:00"},{"value":56309.4272949293,"datetime":"2018-11-20 17:00"}],
                    "humidity":[{"value":0.09,"datetime":"2018-11-20 16:00"},{"value":0.11,"datetime":"2018-11-20 17:00"}],
                    "wind":[{"direction":284.91,"speed":30.12,"datetime":"2018-11-20 16:00"},{"direction":288.24,"speed":32.91,"datetime":"2018-11-20 17:00"}],
                    "precipitation":[{"value":0.0,"datetime":"2018-11-20 16:00"},{"value":0.0,"datetime":"2018-11-20 17:00"}],
                    "cloudrate":[{"value":0.3,"datetime":"2018-11-20 16:00"},{"value":0.3,"datetime":"2018-11-20 17:00"}],
                    "dswrf":[{"value":677.9121814107,"datetime":"2018-11-20 16:00"},{"value":596.25984,"datetime":"2018-11-20 17:00"}],
                    "visibility":[{"value":24.1,"datetime":"2018-11-20 16:00"},{"value":24.1,"datetime":"2018-11-20 17:00"}],

                    "skycon":[{"value":"PARTLY_CLOUDY_DAY","datetime":"2018-11-20 16:00"},{"value":"WIND","datetime":"2018-11-20 17:00"}],
                    "pm25":[{"value":3,"datetime":"2018-11-20 16:00"},{"value":0,"datetime":"2018-11-20 17:00"}],
                    "aqi":[{"value":10,"datetime":"2018-11-20 16:00"},{"value":0,"datetime":"2018-11-20 17:00"}],

        "daily":{"status":"ok",
            
                "temperature":[{"date":"2018-11-20","max":1.19,"avg":-4.35,"min":-16.0},{"date":"2018-11-21","max":2.0,"avg":-7.32,"min":-18.0}],
                "pres":[{"date":"2018-11-20","max":56600.24,"avg":56422.06,"min":56309.43},{"date":"2018-11-21","max":56833.63,"avg":56653.05,"min":56553.63}],
                "humidity":[{"date":"2018-11-20","max":0.23,"avg":0.14,"min":0.09},{"date":"2018-11-21","max":0.15,"avg":0.11,"min":0.06}],
                "wind":[{"date":"2018-11-20","max":{"direction":290.25,"speed":35.9},"avg":{"direction":278.27,"speed":19.65},"min":{"direction":230.17,"speed":4.77}},{"date":"2018-11-21","max":{"direction":276.13,"speed":43.0},"avg":{"direction":262.47,"speed":24.54},"min":{"direction":216.1,"speed":12.48}}],
                "precipitation":[{"date":"2018-11-20","max":0.0,"avg":0.0,"min":0.0},{"date":"2018-11-21","max":0.0,"avg":0.0,"min":0.0}],
                
                "dswrf":[{"date":"2018-11-20","max":743.7,"avg":321.5,"min":0.0},{"date":"2018-11-21","max":748.3,"avg":202.3,"min":0.0}],
                "cloudrate":[{"date":"2018-11-20","max":0.76,"avg":0.49,"min":0.0},{"date":"2018-11-21","max":0.15,"avg":0.02,"min":0.0}],
                "visibility":[{"date":"2018-11-20","max":24.1,"avg":24.1,"min":24.1},{"date":"2018-11-21","max":24.1,"avg":24.1,"min":24.1}],
                
                "skycon":[{"date":"2018-11-20","value":"PARTLY_CLOUDY_DAY"},{"date":"2018-11-21","value":"CLEAR_DAY"}],
                "skycon_08h_20h":[{"date":"2018-11-20","value":"CLEAR_DAY"},{"date":"2018-11-21","value":"CLEAR_DAY"}]},
                "skycon_20h_32h":[{"date":"2018-11-20","value":"PARTLY_CLOUDY_NIGHT"},{"date":"2018-11-21","value":"CLEAR_NIGHT"}],
                "ultraviolet":[{"index":"5","desc":"Very high","datetime":"2018-11-20"},{"index":"5","desc":"Very high","datetime":"2018-11-21"}],
                "comfort":[{"index":"13","desc":"Dry cold","datetime":"2018-11-20"},{"index":"13","desc":"Dry cold","datetime":"2018-11-21"}],
                "carWashing":[{"index":"1","desc":"Suitable","datetime":"2018-11-20"},{"index":"1","desc":"Suitable","datetime":"2018-11-21"}],
                "coldRisk":[{"index":"4","desc":"Extremely prone","datetime":"2018-11-20"},{"index":"4","desc":"Extremely prone","datetime":"2018-11-21"}],
                "dressing":[{"index":"8","desc":"Extremely cold","datetime":"2018-11-20"},{"index":"8","desc":"Extremely cold","datetime":"2018-11-21"}],
                
                "pm25":[{"date":"2018-11-20","max":3,"avg":1.12,"min":0},{"date":"2018-11-21","max":1,"avg":0.58,"min":0}],
                "aqi":[{"date":"2018-11-20","max":10,"avg":1.25,"min":0},{"date":"2018-11-21","max":0,"avg":0.0,"min":0}],

                "astro":[{"date":"2018-11-20","sunset":{"time":"19:07"},"sunrise":{"time":"08:40"}},{"date":"2018-11-21","sunset":{"time":"19:07"},"sunrise":{"time":"08:41"}}],
            
        "minutely":{"status":"ok",
                    "precipitation_2h":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
                    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
                    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
                    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
                    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],
                    "precipitation":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
                    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
                    0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],
                    "datasource":"gfs",
                    "description":"No snow in the next hour"}
    },
    "placename":"Nyima, Nagqu, Tibet, China",
    "location":[31.658613,
                87.815109]
    "server_time":1542702509,
    "tzshift":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 降水强度 逐小时预报 全球 本地降水强度
云量 $.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

天气现象

天气现象 代码
晴(白天) CLEAR_DAY
晴(夜间) CLEAR_NIGHT
多云(白天) PARTLY_CLOUDY_DAY
多云(夜间) PARTLY_CLOUDY_NIGHT
CLOUDY
大风 WIND
雾霾 HAZE
RAIN
SNOW

支持的单位制

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)来判断,研发中...