本天气服务系统通过定时访问第三方天气服务商的服务,将得到的指定城市的天气数据存入本地,并向外提供了可获取天气数据的HTTP接口,供各产品线业务系统调用。
本天气服务中所有天气相关数据来源于服务提供商——心知天气(https://www.seniverse.com/)。
按时间划分,支持以下类型数据
温度、相对湿度、能见度、气象文字、气象代码、风向、风速
日最高/低温、相对湿度、白天气象文字/代码、夜晚气象文字/代码、风向文字、风向角、风速、风力等级、降水量
注:最早支持到2017年1月1日。 支持数据类型如下: 温度、相对湿度、气象文字、气压、能见度、风向文字、风速、风向角风速、风力等级、(2020.7.1之前不支持以下类型)体感温度、空气质量、云量、pm25、pm10、so2、no2、co、o3
注:最早支持到2017年1月1日。 支持数据类型如下: 日最高温、日最低温、相对湿度、白日气象文字、夜晚气象文字、风向文字、风速、风向角风速、风力等级、(2020.7.1之前不支持以下类型)白天夜晚\气象代码、降雨量
按其他维度划分
支持以下数据类型[温度, 相对湿度, 风速, 气压, 能见度]的日最大/小值,日均值查询
本天气服务HTTP接口返回数据指标的默认单位说明如下:
["优"、"良"、"轻度污染"、"中度污染"、"重度污染"、"严重污染"]
{
"0": "晴",
"1": "晴",
"2": "晴",
"3": "晴",
"4": "多云",
"5": "晴间多云",
"6": "晴间多云",
"7": "大部多云",
"8": "大部多云",
"9": "阴",
"10": "阵雨",
"11": "雷阵雨",
"12": "雷阵雨伴有冰雹",
"13": "小雨",
"14": "中雨",
"15": "大雨",
"16": "暴雨",
"17": "大暴雨",
"18": "特大暴雨",
"19": "冻雨",
"20": "雨夹雪",
"21": "阵雪",
"22": "小雪",
"23": "中雪",
"24": "大雪",
"25": "暴雪",
"26": "浮尘",
"27": "扬沙",
"28": "沙尘暴",
"29": "强沙尘暴",
"30": "雾",
"31": "霾",
"32": "风",
"33": "大风",
"34": "飓风",
"35": "热带风暴",
"36": "龙卷风",
"37": "冷",
"38": "热",
"99": "未知"
}
["台风", "暴雨", "暴雪", "寒潮", "大风", "沙尘暴", "高温", "干旱", "雷电", "冰雹", "霜冻", "大雾", "道路结冰", "雷雨大风"]
["白色", "蓝色", "黄色", "橙色", "红色"]
目前天气服务只向外提供了HTTP接口形式的服务,其中POST方法的接口支持两种参数请求方式。
根据Header参数Content-Type的值不同,提供HTTP参数请求两种方式。
该类接口以接口以/EMS_Weather/Spring/MVC/entrance/unifier开头 HTTP请求的Header需设置参数如下:
Content-Type=application/x-www-form-urlencoded
body体传参为字符串,格式为jsonString={"key":"value"},其中jsonString为固定字符,后面为Json格式字符串参数。
该类接口以接口以/EMS_Weather/Spring/MVC/entrance/unifierJson开头 HTTP请求的Header需设置参数如下:
Content-Type=application/json
body体内容为Json格式字符串,例如:{"key":"value"}。
所有查询指定城市天气数据的接口,都需要在参数中指明是哪一个城市。目前天气服务支持传入以下三个参数(至少有一个),来定位城市。三个参数的key及说明如下:
注:以下对于接口说明,均已3.1所述的方式二进行举例。凡是涉及到到传指定城市信息参数的地方,示例请求参数均已cityName作为参数,实际接口调用时,可根据3.2中说明使用cityCode或者projectId代替cityName参数作为入参。
{
"cityName":"上海",
"dataType":"all"
}
参数说明:dataType的值是以下三个枚举值字符串中的一个,weather,只获取A类数据;air,只获B类数据;all,获取A类和B类数据。
{
"version": "1.0",
"result": "success",
"reason": null,
"content": [
{
"code": "9", // 天气现象编码,str
"o3": "43",
"visibility": "9.3", // 能见度,str
"pm10": "50",
"wind_direction": "北", // 风向文字,str
"pressure": "1017", // 气压值,str
"clouds": "90", // 云量,str
"co": "0.532",
"feels_like": "17", // 体感温度,str
"quality": "优", // 空气质量文字,str
"no2": "45",
"pm25": "30",
"so2": "7",
"last_update": "2021-01-21 15:50:00",
"wind_scale": "0", // 风力等级,str
"aqi": "50",
"primary_pollutant": "", // 首要污染物,str,若无则为空串
"temperature": "17", // 温度,str
"humidity": "82", // 相对湿度,str
"wind_direction_degree": "0", // 风向角,str
"wind_speed": "0.72", // 风速,str
"text": "阴" // 天气现象文字,str
}
]
}
{
"cityName":"北京"
}
{
"version": "1.0",
"result": "success",
"reason": null,
"content": [
{
"location": {// 匹配到的城市信息
"id": "WX4FBXXFKE4F", // 城市编码
"name": "北京",
"country": "CN",
"path": "北京,北京,中国", // 隶属区域
"timezone": "Asia/Shanghai",
"timezone_offset": "+08:00"
},
"hourly": [ // 24条小时预报数据
{
"time": "2021-01-21 17:00:00",
"text": "晴", // 天气现象文字,str
"code": "0", // 天气现象编码,str
"temperature": "4", // 温度,str
"humidity": "41", // 相对湿度,str
"wind_direction": "西南", // 风向文字,str
"wind_speed": "10" // 风速,str
},
{
"time": "2021-01-21 18:00:00",
"text": "晴",
"code": "1",
"temperature": "1",
"humidity": "42",
"wind_direction": "西南",
"wind_speed": "15"
},
... // 省略部分数据
,
{
"time": "2021-01-22 16:00:00",
"text": "晴",
"code": "0",
"temperature": "4",
"humidity": "62",
"wind_direction": "南",
"wind_speed": "10"
}
]
}
]
}
{
"cityName":"北京",
"startDay":"2021-01-21", // 非必需参数,未来14天中,某一段时间的开始日(包含)
"endDay":"2021-01-29" // 非必需参数,未来14天中,某一段时间的结束日(不包含)
}
{
"version": "1.0",
"result": "success",
"reason": null,
"content": [
{
"date": "2021-01-21",
"maxTemperature": "6", // 日最高温
"rainfall": "0.0", // 降雨量
"codeDay": "0", // 白日气象编码
"windDirectionDegree": "225", // 风向角
"textDay": "晴", // 白日气象文字
"codeNight": "1", // 夜晚气象编码
"minTemperature": "-5", // 日最低温
"textNight": "晴", // 夜晚气象文字
"humidity": "49", // 相对湿度
"windDirection": "西南", // 风向文字
"windSpeed": "8.4", // 风速
"windScale": "2" // 风力等级
},
... // 省略部分结果
,
{
"date": "2021-01-28",
"maxTemperature": "4",
"rainfall": "0.0",
"codeDay": "0",
"windDirectionDegree": "225",
"textDay": "晴",
"codeNight": "1",
"minTemperature": "-5",
"textNight": "晴",
"humidity": "44",
"windDirection": "西南",
"windSpeed": "8.4",
"windScale": "2"
}
]
}
接口最大支持查询7天的数据。
Method:POST
Header参数:Content-Type=application/json
URL:/EMS_Weather/Spring/MVC/entrance/unifierJson/HourHistoryData
{
"startTime":"2021-01-01 00:00:00", // 开始时间(包含)
"endTime":"2021-01-02 00:00:00", // 结束时间(不包含)
"cityName":"北京市",
"minResponse":false // 是否只返回部分指标数据,boolean
}
注:参数minResponse,默认值true,表示返回所有气象指标数据;false,只返回温度、相对湿度、风速、空气质量文字、天气现象文字六项数据
{
"version": "1.0",
"result": "success",
"reason": null,
"content": [
{
"code": "1", // 天气现象编码
"visibility": "15.3", // 能见度
"o3": "7",
"pm10": "60",
"pressure": "1023", // 气压值
"clouds": "0", // 云量
"co": "0.608",
"quality": "良", // 空气质量文字
"feelsLike": "-6", // 体感温度
"windDirectionDegree": "0", // 风向角
"no2": "52",
"hourTime": "2021-01-01 00:00:00",
"pm25": "22",
"so2": "3",
"temperature": "-7", // 温度
"aqi": "55", // 气象指标指数
"humidity": "37", // 相对湿度
"primaryPollutant": "PM10", // 首要污染物
"text": "晴", // 天气现象文字
"windDirection": "北", // 风向
"windSpeed": "2.16", // 风速
"windScale": "1" // 风力等级
},...
]
}
URL:/EMS_Weather/Spring/MVC/entrance/unifierJson/DayHistoryData
{ "startTime":"2021-01-01 00:00:00", // 开始时间(包含) "endTime":"2021-01-02 00:00:00", // 结束时间(不包含) "cityName":"北京市" }
{
"version": "1.0",
"result": "success",
"reason": null,
"content": [
{
"rainfall": "0.0", // 降雨量
"codeDay": "0", // 白日气象编码
"dayTime": "2021-01-01 00:00:00",
"windDirectionDegree": "225", // 风向角
"high": "1", // 日最高温
"textDay": "晴", // 白日天气现象文字
"codeNight": "1", // 夜晚气象编码
"low": "-11", // 日最低温
"textNight": "晴", // 晚间天气现象文字
"humidity": "24", // 相对湿度
"windDirection": "西南", // 风向描述
"windSpeed": "8.4", // 风速
"windScale": "2" // 风力等级
}
]
}
简介:获取以下气象指标【温度、相对湿度、风速、气压、能见度】的日最大/小值和日均值数据。 注意:有小时天气历史数据的城市才有日统计数据记录,该记录数据在每日凌晨将昨日小时气象数据统计得出;该接口最大支持一年的数据查询。
Method:POST
Header参数:Content-Type=application/json
URL:/EMS_Weather/Spring/MVC/entrance/unifierJson/DayStaticData
{ "startTime":"2021-01-01 00:00:00", // 开始时间(包含) "endTime":"2021-01-02 00:00:00", // 结束时间(不包含) "cityName":"北京市", "dataType":"All" // 返回数据类型,字符串枚举值 }
注:参数dataType三个可选枚举值,默认为Max,表示获取最大最小值;Avg,表示获取平均值;All,表示获取最大最小值和平均值
{
"version": "1.0",
"result": "success",
"reason": null,
"content": [
{
"maxVisibility": 27.0, // 能见度最大值,number
"avgPressure": 1021.5, // 气压均值,number
"maxTemp": 1.0, // 温度度最大值,number
"avgHumidity": 37.0, // 相对湿度均值,number
"avgTemp": -5.4, // 温度均值,number
"minHumidity": 17.0, // 相对湿度最小值,number
"dayTime": "2021-01-01 00:00:00",
"minTemp": -11.0, // 温度最小值,number
"maxWindSpeed": 8.0, // 风速最大值,number
"avgWindSpeed": 4.0, // 风速均值,number
"minVisibility": 11.0, // 能见度最小值,number
"avgVisibility": 17.0, // 能见度均值,number
"minPressure": 1020.0, // 气压最小值,number
"maxPressure": 1024.0, // 气压最大值,number
"minWindSpeed": 1.0, // 风速最小值,number
"maxHumidity": 59.0 // 相对湿度最大值,number
}
]
}
简介:获取指定城市的指定时间区间的灾害预警信息。 注: 1.同一种灾害预警如果级别不同,则结果可能返回多条结果数据; 2.灾害数据更新频率为15分钟/次; 3.所查询的时间跨度最大支持一年。
Method:POST
Header参数:Content-Type=application/json
URL:/EMS_Weather/Spring/MVC/entrance/unifierJson/DisasterWarningQuery
{ "startTime":"2021-01-18 00:00:00", // 开始时间(包含) "endTime":"2021-01-21 00:00:00", // 结束时间(不包含) "cityName":"北京市", "type":"道路结冰", // 非必需,灾害类型枚举值 "level":"黄色" // 非必需,预警级别枚举值 }
{
"version": "1.0",
"result": "success",
"reason": null,
"content": [
{
"insertTime": "2021-01-19 06:16:06",
"path": "北京,北京,中国",
"level": "黄色",
"pubTime": "2021-01-19 06:08:39",
"name": "北京",
"description": "市气象台2021年1月19日06时00分发布道路结冰黄色预警信号:目前本市大部分地区出现降雪天气,且地面温度较低,预计当前至20日中午将出现道路结冰现象,请注意防范。",
"cityId": "WX4FBXXFKE4F",
"title": "北京市气象台2021年1月19日06时00分发布道路结冰黄色预警信号",
"type": "道路结冰"
}
]
}
简介:根据坐标或者数据字典城市编码或者包含数据字典城市编码的项目数据字典ID计算日出日落时间。 注:入参支持数据字典城市名称,数据字典城市编码,符合数据字典命名规范的项目ID,经纬度值,四项参数不能全部为空,使用优先级:经纬度值> 数据字典城市编码 > 项目ID > 城市名称。该接口支持最长一年的数据计算。
Method:POST
Header参数:Content-Type=application/json
URL:/EMS_Weather/Spring/MVC/entrance/unifierJson/SunRiseAndSet
{
"cityName":"北京市",
"longitude":116.4, // 经度坐标,Double
"latitude":39.9, // 纬度坐标,Double
"startDay":"2021-02-14", // 开始日(含),yyyy-MM-dd
"endDay":"2021-02-15" // 结束日(不含),yyyy-MM-dd
}
{
"version": "1.0",
"result": "success",
"reason": null,
"content": [
{
"sunSet": "2021-02-14 17:50:00", // 日落时间
"sunRise": "2021-02-14 07:06:00" // 日出时间
}
]
}
简介:获取天气现象编码及文字描述信息。
Method:POST
Header参数:Content-Type=application/json
URL:/EMS_Weather/Spring/MVC/entrance/unifierJson/DicWeatherCodeName
{}
{
"version": "1.0",
"result": "success",
"reason": null,
"content": [
{
"0": "晴",
"1": "晴",
"2": "晴",
"3": "晴",
"4": "多云",
"5": "晴间多云",
"6": "晴间多云",
"7": "大部多云",
"8": "大部多云",
"9": "阴",
"10": "阵雨",
"11": "雷阵雨",
"12": "雷阵雨伴有冰雹",
"13": "小雨",
"14": "中雨",
"15": "大雨",
"16": "暴雨",
"17": "大暴雨",
"18": "特大暴雨",
"19": "冻雨",
"20": "雨夹雪",
"21": "阵雪",
"22": "小雪",
"23": "中雪",
"24": "大雪",
"25": "暴雪",
"26": "浮尘",
"27": "扬沙",
"28": "沙尘暴",
"29": "强沙尘暴",
"30": "雾",
"31": "霾",
"32": "风",
"33": "大风",
"34": "飓风",
"35": "热带风暴",
"36": "龙卷风",
"37": "冷",
"38": "热",
"99": "未知"
}
]
}
简介:获取灾害预警类型信息。
Method:POST
Header参数:Content-Type=application/json
URL:/EMS_Weather/Spring/MVC/entrance/unifierJson/DicDisasterType
{}
{
"version": "1.0",
"result": "success",
"reason": null,
"content": [
"台风",
"暴雨",
"暴雪",
"寒潮",
"大风",
"沙尘暴",
"高温",
"干旱",
"雷电",
"冰雹",
"霜冻",
"大雾",
"道路结冰",
"雷雨大风"
]
}
简介:获取灾害预警类型信息。
Method:POST
Header参数:Content-Type=application/json
URL:/EMS_Weather/Spring/MVC/entrance/unifierJson/DicDisasterLevel
{}
{
"version": "1.0",
"result": "success",
"reason": null,
"content": [
"白色",
"蓝色",
"黄色",
"橙色",
"红色"
]
}
URL说明: