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

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

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

  • 地理环境

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

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

潮汐 30 天预报产品共包含两个接口,潮汐站点列表接口可获取行政区划省市 270+ 站点列表数据,潮汐 30 天预报接口可根据潮汐站点列表接口返回的站点编号,获取站点未来 30 天内高低潮位以及时间。

潮汐站点列表

提供 300 多潮汐站点列表元数据站点,返回的站点名是潮汐 30 天预报接口的请求条件

接口地址

https://api.foreocean.com/environment/tide/site/list

请求方式

GET

请求参数说明

参数名称类型是否必须备注
TokenString是API 调用令牌,您申请应用的 Token,放在请求头中
provinceString否省,例如:河北、山东
cityString否市,例如:东营市、唐山市、秦皇岛市

当入参 province 时,city置空,返回传入省区划的所有站点

当入参 city 时,province置空,返回传入市区划的所有站点

当入参 province 和 city 时,检索返回传入省市下的所有站点

请求示例

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

返回结果示例

{
	"code": "1000", //响应码,1000-处理成功,其他代码说明请参考API返回错误代码说明
	"data": [{
			"coordinate": "119.283,39.583",//站点中心经纬度
            "province": "河北",//省
            "city": "秦皇岛市",//市
            "name": "七里海",//站点名
            "siteId": "cn130"//站点编号,可做为潮汐30天预报接口的查询条件
		}
		...省略其他预报站点
	],
	"msg": "success",
	"success": true
}

潮汐 30 天预报

潮汐 30 天预报数据,提供站点预报潮汐数据未来 30 天内高低潮位以及时间

接口地址

https://api.foreocean.com/environment/tide/daily/30d

请求方式

GET

请求参数说明

参数名称类型是否必须备注
TokenString是API 调用令牌,您申请应用的 Token,放在请求头中
siteIdString是站点编号,例如:cn001、cn100,站点编号由潮汐站点列表接口获得

请求示例

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

返回结果示例

{
	"code": "1000", //响应码,1000-处理成功,其他代码说明请参考API返回错误代码说明
	"data": [
        {
            "date": "09月06日",//预报日期
            "event": {//高低潮发生的时间和潮位数值
                "high1": {
                    "time": "07:43",
                    "val": "133"
                },
                "high2": {
                    "time": "19:48",
                    "val": "158"
                },
                "low1": {
                    "time": "01:36",
                    "val": "49"
                },
                "low2": {
                    "time": "13:16",
                    "val": "52"
                }
            },
            "mark": "在平均海面下",//潮位基准面
            "siteId": "cn170",//站号
            "siteName": "团山角",//站名
            "tide": [//逐时潮数据,0时-23时,从0时开始
                "66",
                "51",
                "50",
                "58",
                "74",
                "94",
                "116",
                "130",
                "133",
                "124",
                "107",
                "84",
                "64",
                "53",
                "56",
                "70",
                "89",
                "113",
                "136",
                "153",
                "158",
                "148",
                "128",
                "102"
            ]
        }
        ...省略29天数据
    ],
	"msg": "success",
	"success": true
}
Prev
逐小时预报360小时
Next
逐小时潮汐预报72小时