【08】GeoScene发布海图服务——以s57数据标准为例

0
分享 2023-12-19
在GeoScene产品中发布海图服务——以s57数据标准为例,发布的服务方便不同的客户终端调用,例如:web端通过JS api进行调用,移动端通过GeoScene Runtime SDK进行调用。

1、海图服务部署
GeoScene_Maritime_for_Server海图模块安装完之后,需要在server里面注册海图soe和授权海图许可,如下:
步骤:点击“添加扩展”,从GeoScene_Maritime_for_Server安装路径下将MaritimeServer.soe文件导入。 
1.png

提供商信息为“GeoScene Pro”表明其与GeoScene Pro搭配使用。
2.png

授权海图许可 
3.png

2、海图服务发布
海图服务的发布需要先将海图服务模板拷贝到server的cache目录下面:
下图是海图服务模块安装后的目录: 
4.png

将这个目录作为海图服务的模板,修改名字(原则上这个名字最好和服务发布的名字保持一致,后面好找)直接拷贝到server的cache下面,注意还需要将待发布的000文件直接拷贝到datasets目录下面 
5.png

6.png

将坐标系为wgs84的数据发布成动态地图服务,因为海图数据当前只支持wgs84坐标系。 
7.png

在配置下设置海图数据路径 
8.png

9.png

并设置服务实例类型为专用实例池 
10.png

发布成功之后就可以在portal里面浏览,需要添加海图服务地址: 
11.png

12.png

13.png

将下图中的服务地址拿到portal、geoscene pro或者前端js api中去使用 
14.png

例如:在portal地图查看器将上一步的海图服务地址粘贴进来 
15.png

最终的效果如下: 
16.png

3、海图服务调用
如果使用前端js api可以这样调用。效果如下: 
17.png

示例代码如下:
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
<title>4加载海图</title>
<style>
html,
body,
#viewDiv {
padding: 0;
margin: 0;
height: 100%;
width: 100%;
}
</style>

<link
rel="stylesheet"
href="https://js.arcgis.com/4.26/esr ... ot%3B
/>
<script src="https://js.arcgis.com/4.26/%26 ... gt%3B
<script>
require(["esri/Map", "esri/views/MapView", "esri/layers/MapImageLayer"], function (Map, MapView, MapImageLayer) {
var map = new Map();

var view = new MapView({
container: "viewDiv",
map: map
});
var url1 = "https://whgeoscene.hygt.com/se ... 3B%3B
var url2 = "https://whgeoscene.hygt.com/se ... 3B%3B
var layer1 = new MapImageLayer(url1);
var layer2 = new MapImageLayer(url2);
map.add(layer1);
map.add(layer2);
});
</script>
</head>

<body></body>

</html>

0 个评论

要回复文章请先登录注册