登录 注册

产品概述

简介

    气象大数据平台隶属于北京天译科技有限公司,是中国天气网面向高校、科研院所、社会各行业用户及个人开发者,通过API接口方式提供气象数据产品服务的官方载体。随着气象大数据平台的逐渐完善,会面向广大用户提供更为丰富的气象数据,从而满足不同用户的不同需求。 用户通过气象大数据平台的定制数据,自由选择想要全国4万多个县、乡镇站点,全球18万个城市站点,自由选择目前六大气象产品中的任意要素,预报时长,以及更新频率,方便直观。

    气象大数据平台面向公众还有几款套餐供大家选择,目前有免费套餐,国内套餐,国内旅游套餐,国外套餐,国外旅游套餐,中国天气气象大数据平台陆续还有更多不同的套餐来服务大众。 气象大数据平台自运营以来,陆续和国内知名企业建立了合作伙伴关系,其中腾讯,奇虎360, 百度等国内一线互联网公司有长期的业务合作,也有为新创公司提供天气方面数据支持,如阿里妈妈,去滑雪GOSKI等。 气象大数据平台即是普通天气应用爱好者的首选开发平台,也是社会各行各业开拓天气价值,提升服务质量, 促进本行业更好地发展的一个不错的选择。

产品特色

气象大数据平台涉及的数据品类包括预报,实况,预警,空气质量,指数,图形产品,格点数据等,类型丰富。数据来源使用方式简单便捷,跨平台。

应用场景

网站全国城市天气预报,天气预报服务性的APP应用,电视盒子天气预报应用,游戏场景和天气结合,农业灾害预防,保险行业和天气结合,医疗单位和疾病防治中心和天气服务结合提升优化服务质量,单车出行应用服务用户出行。

服务电话

商务电话:010-68408994

技术支持电话:010-58991542

使用说明

使用流程

注册申请气象大数据平台帐号

登录气象大数据平台官方网站http://www.weatherdt.com,点击右上角“注册”按钮进行注册并激活帐号,如下图所示:

开发指南

接口URL

http://api.weatherdt.com/common/?area=站表ID&type=天气数据大类&key=741c428fc7116c6f718cb14f2dda49sm

站点拼装规则

http://api.weatherdt.com/common/?area=站表ID|站表ID|站表ID&type=天气数据大类&key=741c428fc7116c6f718cb14f2dda49sm

单站点

请求URL: http://api.weatherdt.com/common/?area=站表ID&type=天气数据大类&key=741c428fc7116c6f718cb14f2dda49sm

多站点

站点类型只能是4种类型的1种(中国站点,国外站点,旅游景点,机场),不能混,混着请求报错

站点数量N(2<=N<=20),超出范围报错

请求URL: http://api.weatherdt.com/common/?area=areaId|areaId&type=天气数据大类&key=741c428fc7116c6f718cb14f2dda49sm

要素拼装规则

单站点请求可以请求所有数据大类全部要素(推荐方式,简洁)

http://api.weatherdt.com/common/?area=areaId&type=index&key=741c428fc7116c6f718cb14f2dda49sm

http://api.weatherdt.com/common/?area=areaId&type=index|forecast|alarm&key=741c428fc7116c6f718cb14f2dda49sm

多站点请求可以请求所有数据大类全部要素

http://api.weatherdt.com/common/?area=areaId|areaId&type=air&key=741c428fc7116c6f718cb14f2dda49sm

http://api.weatherdt.com/common/?area=areaId|areaId&type=air|forecast|alarm&key=741c428fc7116c6f718cb14f2dda49sm

参数说明

参数是否必须示例说明
area必须10010101001|10010101002站号,多个之间使用|分隔,最多支持20个站号
type必须type=forecast|alarm|air|observe或者单独一个数据大类请求数据类型,多个大类之间使用|分割
key必须741c428fc7116c6f718cb14f2dda49sm密钥,与订单对应

接口错误编码表

编码错误说明备注
CC1000参数错误检查参数拼写
CC1003订单过期请重新购买服务
CC1004访问次数超限请合理访问接口
CC1005站点数过多错误单次访问请少于20个站点
CC1006访问接口路径错误访问接口路径错误
CC1100连接超时请稍后访问
CC1101密钥错误检查密钥
CC1102系统无响应请稍后访问
CC1200请求无效站点错误检查请求站点
CC1201请求站点与要素过多错误检查站点数量或要素数量
CC1300请求要素格式错误检查要素请求格式
CC1301请求未定制类型数据检查定制类型数据
CC1302请求类型定制天数超出错误检查请求类型的定制天数
CC1303请求多站点与指数多要素错误检查站点数量或指数要素数量

接口返回JSON示例

				

{

"air": {//空气质量

"101010100": {//站号

"2001006": {//数据大类

"006": "2.0",//SO2

"007": "32.0",//CO

"003": "65.0",//NO2

"004": "2.0",//O3

"000": "201611041000",//更新时间

"001": "290.0",//PM2.5

"005": "166.0",//PM10

"002": "290.0"//AQI

}

}

},

"alarm": {//预警

"101010100": {//站号

"1001003": [//数据大类

{

"006": "02",//预警级别编号

"010": "201611032200545111大雾黄色",//预警信息

"008": "2016-11-03 22:00",//预警发布时间

"011": "10101-20161103220000-1202.html",//天气网跳转地址

"009": "北京市气象台03日22时00分发布大雾黄色预警,预计当前至4日10时左右本市有雾,部分地区能见度小于500米,请注意防范。",//预警发布内容

"001": "北京市",//预警发布单位的省级名称

"005": "大雾",//预警类别名称

"004": "12",//预警类别编号

"003": "",//预警发布单位的县级名称

"007": "黄色",//预警级别名称

"002": ""//预警发布单位的市级名称

},

{

"006": "03",//预警级别编号

"010": "201611031750545111霾橙色",//预警信息

"008": "2016-11-03 17:50",//预警发布时间

"011": "10101-20161103175000-1303.html",//天气网跳转地址

"009": "北京市气象台03日17时50分更新发布霾橙色预警,预计3日夜间至4日,本市将出现中度到重度霾,能见度低,请注意防范。",//预警发布内容

"001": "北京市",//预警发布单位的省级名称

"005": "霾",//预警类别名称

"004": "13",//预警类别编号

"003": "",//预警发布单位的县级名称

"007": "橙色",//预警级别名称

"002": ""//预警发布单位的市级名称

}

]

}

},

"forecast": {//预报

"24h": {//逐24小时

"101010100": {//站号

"1001001": [//数据大类

{

"006": "0",//晚上风力

"008": "0",//晚上方向

"007": "0",//白天方向

"003": "15",//白天温度

"004": "4",//晚上温度

"001": "53",//白天天气现象编码

"005": "0",//白天风力

"002": "53"//晚上天气现象编码

},

{

"006": "0",//晚上风力

"008": "0",//晚上方向

"007": "0",//白天方向

"003": "17",//白天温度

"004": "3",//晚上温度

"001": "01",//白天天气现象编码

"005": "0",//白天风力

"002": "02"//晚上天气现象编码

},

{

"006": "0",//晚上风力

"008": "0",//晚上方向

"007": "0",//白天方向

"003": "10",//白天温度

"004": "4",//晚上温度

"001": "02",//白天天气现象编码

"005": "0",//白天风力

"002": "07"//晚上天气现象编码

}

],

"000": "201611040800"//更新时间

}

}

},

"observe": {//实况

"101010100": {//站号

"1001002": {//数据大类

"006": "0",//当前降水量(单位是毫米)

"007": "1004",//当前气压(单位百帕)

"003": "1",//当前风力(单位是级,不用转码)

"004": "2",//当前风向编号

"000": "10:25",//实况发布时间

"005": "79",//当前湿度(单位%)

"002": "7"//当前温度(单位摄氏度)

}

}

},

"index": {//指数

"24h": {//逐24小时

"101010100": {//站号

"1001004": [//数据大类

{

"002": {

"002002": "较冷",//指数等级

"002003": "建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。",//指数释义

"002001": "穿衣指数"//指数名称

},

"000": "20161104",

"005": {

"005001": "交通指数",//指数名称

"005003": "天气较好,但能见度很低,交通气象条件很差,车辆行驶缓慢,尽量减少出行。",//指数释义

"005002": "很差"//指数等级

},

"004": {

"004001": "感冒指数",//指数名称

"004003": "昼夜温差大,且空气湿度较大,易发生感冒,请注意适当增减衣服,加强自我防护避免感冒。",//指数释义

"004002": "易发"//指数等级

}

},

{

"002": {

"002002": "较冷",//指数等级

"002003": "建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。",//指数释义

"002001": "穿衣指数"//指数名称

},

"000": "20161105",

"005": {

"005001": "交通指数",//指数名称

"005003": "天气较好,路面干燥,交通气象条件良好,车辆可以正常行驶。",//指数释义

"005002": "良好"//指数等级

},

"004": {

"004001": "感冒指数",//指数名称

"004003": "昼夜温差很大,易发生感冒,请注意适当增减衣服,加强自我防护避免感冒。",//指数释义

"004002": "易发"//指数等级

}

},

{

"002": {

"002002": "较冷",//指数等级

"002003": "建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。",//指数释义

"002001": "穿衣指数"//指数名称

},

"000": "20161106",

"005": {

"005001": "交通指数",//指数名称

"005003": "阴天,路面干燥,交通气象条件良好,车辆可以正常行驶。",//指数释义

"005002": "良好"//指数等级

},

"004": {

"004001": "感冒指数",//指数名称

"004003": "各项气象条件适宜,无明显降温过程,发生感冒机率较低。",//指数释义

"004002": "少发"//指数等级

}

}

],

"000": "201611040800"//更新时间

}

}

}

}

数据编码

产品大类编码表

编码 中文名称 英文名称
001预报forecast
002实况observe
003预警alarm
004指数index
006空气质量air

数据频率表

数据类型更新频率
常规预报每天发布3次 发布时间分别为:08时、12时、18时
实况每小时更新一次
预警不定期更新,为保证预警的时效性,建议程序启动后每隔10分钟进行一次轮循
指数每天发布3次 发布时间分别为:08时、12时、18时
空气质量每小时更新一次

风向编号表

风向编号中文名称英文名称
0无持续风向No wind
1东北风Northeast
2东风East
3东南风Southeast
4南风South
5西南风Southwest
6西风West
7西北风Northwest
8北风North
9旋转风Whirl wind

风力编号表

风力编号中文名称英文名称
0微风<5.4m/s
13-4级5.5~7.9m/s
24-5级8.0~10.7m/s
35-6级10.8~13.8m/s
46-7级13.9~17.1m/s
57-8级17.2~20.7m/s
68-9级20.8~24.4m/s
79-10级24.5~28.4m/s
810-11级28.5~32.6m/s
911-12级32.7~36.9m/s

天气现象编码表

天气现象编码中文名称英文名称
0Sunny
1多云Cloudy
2Overcast
3阵雨Shower
4雷阵雨Thundershower
5雷阵雨伴有冰雹Thundershower with hail
6雨夹雪Sleet
7小雨Light rain
8中雨Moderate rain
9大雨Heavy rain
10暴雨Storm
11大暴雨Heavy storm
12特大暴雨Severe storm
13阵雪Snow flurry
14小雪Light snow
15中雪Moderate snow
16大雪Heavy snow
17暴雪Snowstorm
18Foggy
19冻雨Ice rain
20沙尘暴Duststorm
21小到中雨Light to moderate rain
22中到大雨Moderate to heavy rain
23大到暴雨Heavy rain to storm
24暴雨到大暴雨Storm to heavy storm
25大暴雨到特大暴雨Heavy to severe storm
26小到中雪Light to moderate snow
27中到大雪Moderate to heavy snow
28大到暴雪Heavy snow to snowstorm
29浮尘Dust
30扬沙Sand
31强沙尘暴Sandstorm
53Haze
99Unknown
32浓雾Dense fog
49强浓雾Strong fog
54中度霾Moderate haze
55重度霾Severe haze
56严重霾Severe haze
57大雾Dense fog
58特强浓雾Extra heavy fog
301rain
302snow

php请求代码示例(ip)

            	

<?php

$url='http://api.weatherdt.com/common/?area=101020100&type=forecast&key=XXXXXX';

$resultJson=file_get_contents($url);

echo $resultJson;

?>

JAVA请求代码示例(ip)

            	

URL url = new URL("http://api.weatherdt.com/common/?area=101020100&type=forecast&key=XXXXXX");

HttpURLConnection uRLConnection = (HttpURLConnection)url.openConnection();

uRLConnection.setDoOutput(true);

uRLConnection.connect();

InputStream is = uRLConnection.getInputStream();

BufferedReader br = new BufferedReader(new InputStreamReader(is));

String respJson = "";

String readLine = null;

while((readLine =br.readLine()) != null){

respJson +=readLine;

}

is.close();

br.close();

uRLConnection.disconnect();

C#请求代码示例(域名)

            	

string url = "http://api.weatherdt.com/common/?area=101010100|101010200&type=forecast&key="XXXXXXXX";

Uri httpURL = new Uri(url,true);

HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(httpURL);

HttpWebResponse httpResp = (HttpWebResponse)httpReq.GetResponse();

Stream respStream = httpResp.GetResponseStream();

StreamReader respStreamReader = new StreamReader(respStream, Encoding.UTF8);

string jsonContent=respStreamReader.ReadToEnd();

Console.WriteLine(jsonContent);

图形产品文档

接口URL

http://api.weatherdt.com/pic/?area=101&type=1001&date=20160822&key=613e381aa0e0c9d377e2bce4cf14db87

area:地区,(101)全国

type:图片类型,只能请求一种类型

date:图片日期,形式(YYYYMMDD)

key:密钥

产品返回json串说明

				

{

"date":"20160822",//日期

"pictype":”1001",//图形产品类型

"content":[//图片地址和时间

{

"picurl":"",//图片地址

"time":"201600820080002400"//图片日期

},

{

"picurl":"",//图片地址

"time":"201600820080004800"//图片日期

}]

}

接口错误编码表

编码错误说明备注
CC1000参数错误检查参数拼写
CC1100连接超时请稍后访问
CC1101密钥错误检查密钥
CC1102访问日期超出订购日期范围访问日期超出订购日期范围
CC1103缓存已过期缓存已过期
CC1200请求无效站点错误检查请求站点
CC1300请求未定制类型数据请求未定制类型数据

下载图标

天气图标下载  点击下载>>

预警图标下载  点击下载>>

常见问题

Q:哪里可以下载使用文档?

A:用户中心【订单管理】,【我的订单】,【接口详情】中,点击链接在新的页面下载购买的站号,要素,以及使用说明文档。

Q:可以续费或者在原订单里增加要素和站点吗?

A:用户中心【订单管理】,【我的订单】中点击订单变更或者订单续费,增加要素和站点只能使用订单变更功能

Q:能否提供发票?

A:可以提供发票。提交订单时,请同时提交发票信息。如购买时没有提交发票信息,则视为放弃开具发票权利,后期不再予以开具任何性质发票。使用个人用户开具发票如是公司名称同样需提供“纳税人识别号”,如没有上传无法开具发票。如要开具'增值税发票',支付金额须大于1000元。本网站开具发票周期:每月10日-20日为上个自然月用户开票,本月完成交易需等待次月开票周期。用户可自行登录用户中心查询发票邮寄情况。

Q:为什么晚上更新的预报没有白天的数据?

A:白天已经过去,晚上更新预报时,再预报白天没有意义。如果有需要,用户可以对白天的数据自行进行缓存处理。

Q:关于超出在售范围外的数据的咨询?

A:有需要平台上尚未上线的数据,可以拨打商务电话010-68408994进行咨询。

Q:从智慧气象服务云平台购买的数据,是否可以进行二次销售?

A:根据电子合约,平台提供的数据,未经授权,不可以进行二次销售。

Q:天气接口的天气现象图片怎么获取?

A:可在帮助中心-下载图标进行下载。

Q:测试时发现接口的数据和中国天气网展示的数据不一致是怎么回事?

A:首先请确认是否同一站点数据,是否同一时次、同一更新时间。智慧气象服务云平台提供的数据与中国天气网的数据为同一数据源。如有疑问,请拨打售后支持电话010-58991542。

Q:怎样查看自己的key?

A:有两种方式:一种是在用户中心【订单管理】,【我的订单】,【接口详情】查看;一种是【订单管理】,【我的订单】中的产品名称列,点击国内站点,弹出详情,就可看到密钥。

接口调试

发送
参数 返回结果
type:forecast
area:101160901|101160801
key:fd034bf8fe70289698ec4ea79876feaa



※内部用户接口说明

产品概述

简介

    本文档用于云平台用户得到授权后,对被授权数据进行下载操作的说明。

下载范围

    用户得到某种类数据的授权后,可下载自授权之日起的所有文件。

文件下载

下载准备

通过用户登录按钮,登录【用户中心】-【使用记录】,查找到当前账号的aid、akey,到被授权数据列表中找到该类数据的编码bucketName。

下载流程

注:本平台支持两种方式下载文件,一种为接口调用方式,一种为执行shell脚本方式。下载源码

一、接口过程演示:

1、打开下载的源码包->接口调用方式->FlieDownloadProcess.java,导入关联的jar包

2、修改java文件中main方法的变量

     ①aid:用户的aid;

     ② akey:用户的akey;

     ③ bucketName:用户被授权的数据编码;

     ④ downloadPathPre:文件下载的目标路径。

3、执行FlieDownloadProcess.java的main方法,获得下载的文件


public static void main(String[] args) {

// TODO 用户修改

String aid = "3ab50537ff444cedb8d10573ea81";

String akey = "9e2fd4b5b6d54cd5b5297f937a64";

String bucketName = "product-nmc-nwpr-eki";

String downloadPathPre = "D:\\user\\file\\";

try {

System.out.println("download file start!");

//1、获取bucketId 示例

String bucketId = getBucketIdByName(aid, akey, bucketName);

// 2、获取可下载的文件信息示例,返回类型为JSONArray,可能为null,需要进行空值判断,避免空指针

JSONArray downFileIds = getDownFileIds(aid, akey, bucketId);

for (int i = 0; i < (downFileIds != null ? downFileIds.size() : 0); i++) {

JSONObject jo = JSON.parseObject(downFileIds.get(i).toString());

// 3、申请下载示例

String fileId = jo.getString("fileId");

String targetFileName = jo.getString("name");

JSONObject downApply = downApply(fileId, aid, akey, bucketId);

// 4、执行下载示例

String downloadURL = downApply.getString("downloadURL");

String downloadToken = downApply.getString("downloadToken");

down(downloadURL, downloadToken, downloadPathPre + targetFileName);

}

System.out.println("download file end");

} catch (Exception e) {

e.printStackTrace();

}

}

二、执行shell脚本过程演示:

1、配置环境变量,打开下载的源码包->shell脚本,将jq文件放到linux任意目录下;

     ①[root@localhost json]# pwd

     /user/json

     [root@localhost json]# clear

     [root@localhost json]# pwd

     /user/json

     [root@localhost json]# vi ~/.bash_profile

     # .bash_profile

     # Get the aliases and functions

     if [ -f ~/.bashrc ]; then

        . ~/.bashrc

     fi

     # User specific environment and startup programs

     ②PATH=$PATH:$HOME/bin:/user/json(第一步jq的目录)

     export PATH

     ③[root@localhost json]# source ~/.bash_profile

2、修改认证信息

     aid=92775b34be5e4e89b47a82ba(用户的aid

     akey=34243172bd030e04eae0c62(用户的akey


3、执行下载操作

   [root@localhost user]# sh d.sh radar-png-az9734  /user/download

    200

    download success!


错误编码表

编码错误说明备注
B00001缺少必填参数请稍后访问
C00004操作权限不足请检查授权数据
I00003存储区或文件权限非法请检查数据是否有修改权限
I00004存储区或文件不存在文件未上传
I70203用户AID参数错误用户AID标识出错
I00021时间参数校验错误请确认上传的时间格式

咨询&建议