开发文档开发文档
文档
官网
控制台
服务协议
更新日志
文档
官网
控制台
服务协议
更新日志
  • 开始使用

    • 如何接入API
    • API计费限流规则
    • API错误代码说明
    • 不同版本区别
    • 联系我们
    • 海洋天气对照表
    • 海洋要素对照表
  • 海洋警报

    • 极端天气预警
    • 海浪警报
    • 风暴潮警报
    • 海冰警报
    • 海啸
  • 海洋环境(国内)

    • 3天预报
    • 7天预报
    • 15天预报
    • 逐小时预报72小时
    • 逐小时预报168小时
    • 逐小时预报360小时
    • 潮汐30天预报
    • 逐小时潮汐预报72小时
    • 逐小时潮汐预报168小时
    • 逐小时潮汐预报360小时
  • 海洋环境(全球)

    • 3天预报
    • 7天预报
    • 15天预报
    • 逐小时预报72小时
    • 逐小时预报168小时
    • 逐小时预报360小时
  • 海洋天气

    • 海洋天气实况
    • 3天预报
    • 7天预报
    • 15天预报
    • 逐小时预报72小时
    • 逐小时预报168小时
    • 逐小时预报360小时
    • 热带气旋
    • 海上强对流数据接口
    • 海雾数据接口
  • 海洋专题

    • 渔区网格
    • 近岸海域
    • 渔场
    • 港口
  • 海洋生态

  • 地理环境

    • 日出日落
    • 月出月落月相
    • 全球水深数据
    • 通用地理环境
  • 旅游专题

    • 钓鱼
    • 赶海
    • 通用旅游指数

热带气旋产品接口共包含四个接口,台风预报台列表接口用以返回预报台站点名和编码 CODE,台风列表接口可按查询年份返回当年的台风数据,台风预报接口可以获取台风预报轨迹点和路径,台风实况路径可实时获取台风信息,包括台风实时位置、等级、气压、风力、速度。

台风预报台列表

获取台风预报台列表,返回预报台编码和名称

接口地址

https://api.foreocean.com/typhoon/station/list

请求方式

GET

请求参数说明

参数名称类型是否必须备注
TokenString是API 调用令牌,您申请应用的 Token,放在请求头中

请求示例

java
public static void main(String[] args) {
		Map<String, Object> params = new HashMap<>(16);
		String requestUrl = "https://api.foreocean.com/typhoon/station/list";
		String response = get(requestUrl, params);
		System.out.println(response);
	}

	public static String get(String url, Map<String, Object> params) {
		try {
			CloseableHttpClient httpClient = HttpClients.createDefault();
			url = url + "?";
			for (Iterator<String> iterator = params.keySet().iterator(); iterator.hasNext();) {
				String key = iterator.next();
				String temp = key + "=" + params.get(key) + "&";
				url = url + temp;
			}
			url = url.substring(0, url.length() - 1);
			HttpGet httpGet = new HttpGet(url);
			httpGet.addHeader("Token","API调用令牌");
			CloseableHttpResponse response = httpClient.execute(httpGet);
			try {
				HttpEntity entity = response.getEntity();
				if (entity != null) {
					String str = EntityUtils.toString(entity, CHARSET);
					return str;
				}
			} finally {
				response.close();
				httpClient.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
python
import requests

if __name__ == '__main__':
    url = 'https://api.foreocean.com/typhoon/station/list'
    headers = {'Token': 'API调用令牌'}
    params = {}
    response = requests.get(url, headers=headers, params=params)
    print(response.text)

返回结果示例

{
    "code": "1000",//响应码,1000-处理成功,其他代码说明请参考API返回错误代码说明
    "data": [//预报站点名
        "中国",
        "香港",
        "美国",
        "台湾",
        "日本",
        "广州",
        "上海",
        "浙江",
        "江西"
    ],
    "msg": "success",//返回信息描述
    "success": true//请求是否成功,true-成功,false-失败
}

台风列表

根据年份查询当年份的台风列表

接口地址

https://api.foreocean.com/typhoon/list

请求方式

GET

请求参数说明

参数名称类型是否必须备注
TokenString是API 调用令牌,您申请应用的 Token,放在请求头中
yearString是年份,例如:2021

请求示例

java
public static void main(String[] args) {
		Map<String, Object> params = new HashMap<>(16);
		params.put("year", "2022");
		String requestUrl = "https://api.foreocean.com/typhoon/list";
		String response = get(requestUrl, params);
		System.out.println(response);
	}

	public static String get(String url, Map<String, Object> params) {
		try {
			CloseableHttpClient httpClient = HttpClients.createDefault();
			url = url + "?";
			for (Iterator<String> iterator = params.keySet().iterator(); iterator.hasNext();) {
				String key = iterator.next();
				String temp = key + "=" + params.get(key) + "&";
				url = url + temp;
			}
			url = url.substring(0, url.length() - 1);
			HttpGet httpGet = new HttpGet(url);
			httpGet.addHeader("Token","API调用令牌");
			CloseableHttpResponse response = httpClient.execute(httpGet);
			try {
				HttpEntity entity = response.getEntity();
				if (entity != null) {
					String str = EntityUtils.toString(entity, CHARSET);
					return str;
				}
			} finally {
				response.close();
				httpClient.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
python
import requests

if __name__ == '__main__':
    url = 'https://api.foreocean.com/typhoon/list'
    headers = {'Token': 'API调用令牌'}
    params = {'year': '2022'}
    response = requests.get(url, headers=headers, params=params)
    print(response.text)

返回结果示例

{
	"code": "1000", //响应码,1000-处理成功,其他代码说明请参考API返回错误代码说明
	"data": [{
		"code": "202116", //台风编号code
		"name": "蒲公英", //台风名
		"updatetime": "2021-09-30 10:20:06", //数据更新时间
		"enname": "Mindulle", //台风英文名
		"status": "active" //当前是否活跃,分 active 活跃 和 over 完结 两种情况
	}],
	"msg": "success", //返回信息描述
	"success": true //请求是否成功,true-成功,false-失败
}

台风预报

获取台风预报轨迹点和路径

接口地址

https://api.foreocean.com/typhoon/forecast

请求方式

GET

请求参数说明

参数名称类型是否必须备注
TokenString是API 调用令牌,您申请应用的 Token,放在请求头中
codeString是台风编号,例如:2021 年蒲公英台风传 202116
forecastOrgString否预报台机构,例如:中国,取值为预报台列表接口返回的信息

请求示例

java
public static void main(String[] args) {
		Map<String, Object> params = new HashMap<>(16);
		params.put("code", "202116");
        params.put("forecastOrg", "中国");
		String requestUrl = "https://api.foreocean.com/typhoon/forecast";
		String response = get(requestUrl, params);
		System.out.println(response);
	}

	public static String get(String url, Map<String, Object> params) {
		try {
			CloseableHttpClient httpClient = HttpClients.createDefault();
			url = url + "?";
			for (Iterator<String> iterator = params.keySet().iterator(); iterator.hasNext();) {
				String key = iterator.next();
				String temp = key + "=" + params.get(key) + "&";
				url = url + temp;
			}
			url = url.substring(0, url.length() - 1);
			HttpGet httpGet = new HttpGet(url);
			httpGet.addHeader("Token","API调用令牌");
			CloseableHttpResponse response = httpClient.execute(httpGet);
			try {
				HttpEntity entity = response.getEntity();
				if (entity != null) {
					String str = EntityUtils.toString(entity, CHARSET);
					return str;
				}
			} finally {
				response.close();
				httpClient.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
python
import requests

if __name__ == '__main__':
    url = 'https://api.foreocean.com/typhoon/forecast'
    headers = {'Token': 'API调用令牌'}
    params = {'code': '202116','forecastOrg': '中国'}
    response = requests.get(url, headers=headers, params=params)
    print(response.text)

返回结果示例

{
	"code": "1000", //响应码,1000-处理成功,其他代码说明请参考API返回错误代码说明
	"data": [{ //外层为台风历史轨迹
		"code": "202116", //台风编号
		"r7Se": "220", //七级风圈-东南
		"depict": "",
		"forecastList": [
		    { //forecastList层结构为站点预测台风轨迹
                "code": "202122",//台风编号
                "depict": "",
                "lng": "139.3",//经度
                "bizDate": "2021-12-14 02:00:00",//轨迹时间点
                "moveDirection": "",//移动方向
                "forecastOrg": "中国",//预报机构
                "updateTime": "2021-12-13 15:34:59",//更新时间
                "centerSpeed": "23",//中心风速
                "centerPressure": "990",//中心点气压 百帕
                "moveSpeed": "",//移动速度
                "radius10": "",// 十级风圈半径
                "bedit": "0",
                "radius7": "",// 七级风圈半径
                "lat": "6.4",//纬度
                "forecastDate": "2021-12-13 14:00:00"//预报时间
		    },
		    {
                "code": "202122",
                "depict": "",
                "lng": "136.7",
                "bizDate": "2021-12-14 14:00:00",
                "moveDirection": "",
                "forecastOrg": "中国",
                "updateTime": "2021-12-13 15:34:59",
                "centerSpeed": "30",
                "centerPressure": "980",
                "moveSpeed": "",
                "radius10": "",
                "bedit": "0",
                "radius7": "",
                "lat": "7.5",
                "forecastDate": "2021-12-13 14:00:00"
            },
            {
                "code": "202122",
                "depict": "",
                "lng": "134.4",
                "bizDate": "2021-12-15 02:00:00",
                "moveDirection": "",
                "forecastOrg": "中国",
                "updateTime": "2021-12-13 15:34:59",
                "centerSpeed": "35",
                "centerPressure": "970",
                "moveSpeed": "",
                "radius10": "",
                "bedit": "0",
                "radius7": "",
                "lat": "8.1",
                "forecastDate": "2021-12-13 14:00:00"
            },
            //后面省略了
		],
		"bizDate": "2021-09-23 20:00:00", //轨迹点时间
		"r10Sw": "0", //十级风圈-西南
		"r12Sw": "0", //十二级风圈-西南
		"centerSpeed": "18", //中心点风速 米/秒
		"centerPressure": "998", //中心点气压 百帕
		"radius10": "0", // 十级风圈半径
		"radius12": "0", //十二级风圈半径
		"r12Se": "0", //十二级风圈-东南
		"radius7": "250", // 七级风圈半径
		"r7Nw": "200", //七级风圈-西北
		"lat": "13.8", //纬度
		"r10Se": "0", //十级风圈-东南
		"r12Nw": "0", //十二级风圈-西北
		"lng": "143.3", //经度
		"r10Nw": "0", //十级风圈-西北
		"moveDirection": "西西北 ", //移动方向
		"r7Ne": "250", //七级风圈-东北
		"moveSpeed": "20", //移动速度 公里/小时
		"r10Ne": "0", //十级风圈-东北
		"r12Ne": "0", //十级风圈-东北
		"bedit": "0",
		"updatetime": "2021-09-23 21:31:06", //更新时间
		"r7Sw": "180" //七级风圈-西南
	}],
	"msg": "success", //返回信息描述
	"success": true //请求是否成功,true-成功,false-失败
}

台风实况路径

可实时获取台风信息,包括台风实时位置、等级、气压、风力、速度

接口地址

https://api.foreocean.com/typhoon/track

请求方式

GET

请求参数说明

参数名称类型是否必须备注
TokenString是API 调用令牌,您申请应用的 Token,放在请求头中
codeString是台风编号,例如:2021 年蒲公英台风传 202116

请求示例

java
public static void main(String[] args) {
		Map<String, Object> params = new HashMap<>(16);
		params.put("code", "202116");
		String requestUrl = "https://api.foreocean.com/typhoon/track";
		String response = get(requestUrl, params);
		System.out.println(response);
	}

	public static String get(String url, Map<String, Object> params) {
		try {
			CloseableHttpClient httpClient = HttpClients.createDefault();
			url = url + "?";
			for (Iterator<String> iterator = params.keySet().iterator(); iterator.hasNext();) {
				String key = iterator.next();
				String temp = key + "=" + params.get(key) + "&";
				url = url + temp;
			}
			url = url.substring(0, url.length() - 1);
			HttpGet httpGet = new HttpGet(url);
			httpGet.addHeader("Token","API调用令牌");
			CloseableHttpResponse response = httpClient.execute(httpGet);
			try {
				HttpEntity entity = response.getEntity();
				if (entity != null) {
					String str = EntityUtils.toString(entity, CHARSET);
					return str;
				}
			} finally {
				response.close();
				httpClient.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
python
import requests

if __name__ == '__main__':
    url = 'https://api.foreocean.com/typhoon/track'
    headers = {'Token': 'API调用令牌'}
    params = {'code': '202116'}
    response = requests.get(url, headers=headers, params=params)
    print(response.text)

返回结果示例

{
	"code": "1000", //响应码,1000-处理成功,其他代码说明请参考API返回错误代码说明
	"data": [
	    {
            "code": "202116", //台风编号
            "r7Se": "220", //七级风圈-东南
            "forecastList": [],
            "bizDate": "2021-09-23 20:00:00", //轨迹点时间
            "r10Sw": "0", //十级风圈-西南
            "r12Sw": "0", //十二级风圈-西南
            "centerSpeed": "18", //中心点风速 米/秒
            "centerPressure": "998", //中心点气压 百帕
            "radius10": "0", // 十级风圈半径
            "radius12": "0", //十二级风圈半径
            "r12Se": "0", //十二级风圈-东南
            "radius7": "250", // 七级风圈半径
            "r7Nw": "200", //七级风圈-西北
            "lat": "13.8", //纬度
            "r10Se": "0", //十级风圈-东南
            "r12Nw": "0", //十二级风圈-西北
            "lng": "143.3", //经度
            "r10Nw": "0", //十级风圈-西北
            "moveDirection": "西西北         ", //移动方向
            "r7Ne": "250", //七级风圈-东北
            "moveSpeed": "20", //移动速度 公里/小时
            "r10Ne": "0", //十级风圈-东北
            "r12Ne": "0", //十级风圈-东北
            "bedit": "0",
            "updatetime": "2021-09-23 21:31:06", //更新时间
            "r7Sw": "180", //七级风圈-西南
            "depict": ""
	    },
	    //后面省略了
	],
	"msg": "success", //返回信息描述
	"success": true //请求是否成功,true-成功,false-失败
}
Prev
逐小时预报360小时
Next
海上强对流数据接口