近岸海域产品共包含两个接口,近岸海域元数据
是指划分好的县级海域,可获取近岸 213 个海域的编号、名称及文字描述,近岸海域预报数据
需要近岸海域编号查询预报数据。
近岸海域元数据
县级海域元数据接口,近岸 213 个海域的编号、名称及文字描述,根据海域编号查询预报数据
接口地址
https://api.foreocean.com/forecast/counties
请求方式
GET
请求参数说明
参数名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
Token | String | 是 | API 调用令牌,您申请应用的 Token,放在请求头中 |
请求示例
java
public static void main(String[] args) {
Map<String, Object> params = new HashMap<>(16);
String requestUrl = "https://api.foreocean.com/forecast/counties";
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/counties'
headers = {'Token': 'API调用令牌'}
params = {}
response = requests.get(url, headers=headers, params=params)
print(response.text)
返回结果示例
{
"code": "1000", //响应码, 1000-处理成功,其他代码说明请参考API返回错误代码说明
"data": [{
"countyID": "E01", //县级海域ID
"name": "赣榆近岸海域", //县级海域名称
"description": "北边界为赣榆区与山东省海域勘界界线与领海外部界限拐点处连线...", //县级海域描述
"centerPoint": "119.5705,34.963" //海域中心点经纬度坐标
},
{
"countyID": "E02", //县级海域ID
"name": "连云港沿岸海域", //县级海域名称
"description": "北边界为赣榆区与连云区海域勘界界线与领海外部界限拐点处连线...", //县级海域描述
"centerPoint": "119.7055,34.7877" //海域中心点经纬度坐标
},
...
],
"msg": "success", //返回信息描述
"success": true //请求是否成功,true-成功,false-失败
}
近岸海域预报数据
县级海域预报数据接口,参数为 countyID,由县级海域元数据接口获得,返回结果为所查海域的逐时共 72 小时预报数据
接口地址
https://api.foreocean.com/forecast/countyData
请求方式
GET
请求参数说明
参数名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
Token | String | 是 | API 调用令牌,您申请应用的 Token,放在请求头中 |
countyID | String | 是 | 县级海域 ID,县级海域元数据接口获得海域 ID |
请求示例
java
public static void main(String[] args) {
Map<String, Object> params = new HashMap<>(16);
params.put("countyID", "E01");
String requestUrl = "https://api.foreocean.com/forecast/countyData";
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/countyData'
headers = {'Token': 'API调用令牌'}
params = {'countyID': 'E01'}
response = requests.get(url, headers=headers, params=params)
print(response.text)
返回结果示例
{
"code": "1000", //响应码,1000-处理成功,其他代码说明请参考API返回错误代码说明
"data": {
"countyID": "E01", //县级海域编号
"releaseDate": "2020-01-09 08:20:00", //更新时间
"initialTime": "2020-01-09 08:00:00", //起报时间
"forecast": [{
"astronomicalTide": "-117.00", //天文潮,单位是cm厘米
"period": "3.3", //周期,单位是s秒
"seaLevel": "-134.30", //水位,单位是cm厘米
"sst": "5.40", //海温,单位是°C摄氏度
"forecastTime": "2020-01-09 09:00:00", //预报时间
"surgeHeight": "-17.30", //风暴潮,单位是cm厘米
"waveHeight": "0.60", //浪高,单位是m米
"waveDirection": "51" //浪向角度,范围0~360,0为正北,90为正东,180为正南,270为正西
}]
},
"msg": "success", //返回信息描述
"success": true //请求是否成功,true-成功,false-失败
}