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

    • 如何接入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小时
    • 热带气旋
    • 海上强对流数据接口
    • 海雾数据接口
  • 海洋专题

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

  • 地理环境

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

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

渔场产品共包含两个接口,渔场元数据可获取 53 个渔场的编号、名称及文字描述,渔场预报数据需要渔场编号查询预报数据。

渔场元数据

渔场元数据接口,53 个渔场的编号、名称及文字描述,根据渔场编号获取预报数据

接口地址

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

请求方式

GET

请求参数说明

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

请求示例

java
public static void main(String[] args) {
		Map<String, Object> params = new HashMap<>(16);
		String requestUrl = "https://api.foreocean.com/forecast/fishery";
		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/forecast/fishery'
    headers = {'Token': 'API调用令牌'}
    params = {}
    response = requests.get(url, headers=headers, params=params)
    print(response.text)

返回结果示例

{
	"code": "1000", //响应码,1000-处理成功,其他代码说明请参考API返回错误代码说明
	"data": [{
			"fisheryID": "1", //渔场编号
			"name": "渤海湾渔场", //渔场名称
			"description": "面积约3600平方海里,水温年平均表层为11.5~12.4℃......", //渔场描述
			"centerPoint": "117.75,38.75" //渔场中心点经纬度坐标
		},
		{
			"fisheryID": "2", //渔场编号
			"name": "滦河口渔场", //渔场名称
			"description": "渤海滦河口外,面积约3600平方海里......", //渔场描述
			"centerPoint": "119.25,39.25" //渔场中心点经纬度坐标
		}
		...
	],
	"msg": "success", //返回信息描述
	"success": true //请求是否成功,true-成功,false-失败
}

经纬度转换渔场名称

根据经纬度坐标获取对应渔场的名称

接口地址

https://api.foreocean.com/forecast/fishery/name

请求方式

GET

请求参数说明

参数名称类型是否必须备注
TokenString是API 调用令牌,您申请应用的 Token,放在请求头中
locationString是经纬度,例如:121.447518,37.519286

请求示例

java
public static void main(String[] args) {
		Map<String, Object> params = new HashMap<>(16);
		params.put("location", "121.447518,37.519286");
		String requestUrl = "https://api.foreocean.com/forecast/fishery/name";
		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/forecast/fishery/name'
    headers = {'Token': 'API调用令牌'}
    params = {'location': '121.447518,37.519286'}
    response = requests.get(url, headers=headers, params=params)
    print(response.text)

返回结果示例

{
    "code": "1000",//响应码,1000-处理成功,其他代码说明请参考API返回错误代码说明
    "data": {
        "center": "121.25,30.25", //渔场中心点经纬度坐标
        "name": "舟山渔场" //渔场名称
    },
    "msg": "success",//返回信息描述
    "success": true//请求是否成功,true-成功,false-失败
}

渔场预报数据

渔场预报数据接口,参数为 fisheryID,由渔场元数据接口获得,返回结果是所查渔场的每天共 72 小时预报数据

接口地址

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

请求方式

GET

请求参数说明

参数名称类型是否必须备注
TokenString是API 调用令牌,您申请应用的 Token,放在请求头中
fisheryIDString是渔场 ID,渔场元数据接口获得渔场 ID

请求示例

java
public static void main(String[] args) {
		Map<String, Object> params = new HashMap<>(16);
		params.put("fisheryID", "1");
		String requestUrl = "https://api.foreocean.com/forecast/fisheryData";
		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/forecast/fisheryData'
    headers = {'Token': 'API调用令牌'}
    params = {'fisheryID': '1'}
    response = requests.get(url, headers=headers, params=params)
    print(response.text)

返回结果示例

{
	"code": "1000", //响应码,1000-处理成功,其他代码说明请参考API返回错误代码说明
	"data": {
		"fisheryID": "1", //渔场编号
		"name": "渤海湾渔场", //渔场名称
		"initialTime": "2020-01-09 09:00:00", //起报时间
		"forecast": [{
				"windLevel": "3.00", //风级,单位是级
				"validity": "24", //预报时效,分为24小时、48小时、72小时
				"waveHeight": "0.30", //浪高,单位是m米
				"windDirection": "东南风" //风向
			},
			{
				"windLevel": "3.00", //风级,单位是级
				"validity": "48", //预报时效,分为24小时、48小时、72小时
				"waveHeight": "0.30", //浪高,单位是m米
				"windDirection": "西北风" //风向
			},
			{
				"windLevel": "4.00", //风级,单位是级
				"validity": "72", //预报时效,分为24小时、48小时、72小时
				"waveHeight": "0.80", //浪高,单位是m米
				"windDirection": "东风" //风向
			}
		]
	},
	"msg": "success", //返回信息描述
	"success": true //请求是否成功,true-成功,false-失败
}
Prev
近岸海域
Next
港口