潮汐 30 天预报产品共包含两个接口,潮汐站点列表
接口可获取行政区划省市 270+ 站点列表数据,潮汐 30 天预报
接口可根据潮汐站点列表
接口返回的站点编号,获取站点未来 30 天内高低潮位以及时间。
潮汐站点列表
提供 300 多潮汐站点列表元数据站点,返回的站点名是潮汐 30 天预报接口的请求条件
接口地址
https://api.foreocean.com/environment/tide/site/list
请求方式
GET
请求参数说明
参数名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
Token | String | 是 | API 调用令牌,您申请应用的 Token,放在请求头中 |
province | String | 否 | 省,例如:河北、山东 |
city | String | 否 | 市,例如:东营市、唐山市、秦皇岛市 |
当入参 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
请求参数说明
参数名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
Token | String | 是 | API 调用令牌,您申请应用的 Token,放在请求头中 |
siteId | String | 是 | 站点编号,例如: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
}