【08】GeoScene发布海图服务——以s57数据标准为例
分享
在GeoScene产品中发布海图服务——以s57数据标准为例,发布的服务方便不同的客户终端调用,例如:web端通过JS api进行调用,移动端通过GeoScene Runtime SDK进行调用。
1、海图服务部署
GeoScene_Maritime_for_Server海图模块安装完之后,需要在server里面注册海图soe和授权海图许可,如下:
步骤:点击“添加扩展”,从GeoScene_Maritime_for_Server安装路径下将MaritimeServer.soe文件导入。
提供商信息为“GeoScene Pro”表明其与GeoScene Pro搭配使用。
授权海图许可
2、海图服务发布
海图服务的发布需要先将海图服务模板拷贝到server的cache目录下面:
下图是海图服务模块安装后的目录:
将这个目录作为海图服务的模板,修改名字(原则上这个名字最好和服务发布的名字保持一致,后面好找)直接拷贝到server的cache下面,注意还需要将待发布的000文件直接拷贝到datasets目录下面
将坐标系为wgs84的数据发布成动态地图服务,因为海图数据当前只支持wgs84坐标系。
在配置下设置海图数据路径
并设置服务实例类型为专用实例池
发布成功之后就可以在portal里面浏览,需要添加海图服务地址:
将下图中的服务地址拿到portal、geoscene pro或者前端js api中去使用
例如:在portal地图查看器将上一步的海图服务地址粘贴进来
最终的效果如下:
3、海图服务调用
如果使用前端js api可以这样调用。效果如下:
示例代码如下:
1、海图服务部署
GeoScene_Maritime_for_Server海图模块安装完之后,需要在server里面注册海图soe和授权海图许可,如下:
步骤:点击“添加扩展”,从GeoScene_Maritime_for_Server安装路径下将MaritimeServer.soe文件导入。
提供商信息为“GeoScene Pro”表明其与GeoScene Pro搭配使用。
授权海图许可
2、海图服务发布
海图服务的发布需要先将海图服务模板拷贝到server的cache目录下面:
下图是海图服务模块安装后的目录:
将这个目录作为海图服务的模板,修改名字(原则上这个名字最好和服务发布的名字保持一致,后面好找)直接拷贝到server的cache下面,注意还需要将待发布的000文件直接拷贝到datasets目录下面
将坐标系为wgs84的数据发布成动态地图服务,因为海图数据当前只支持wgs84坐标系。
在配置下设置海图数据路径
并设置服务实例类型为专用实例池
发布成功之后就可以在portal里面浏览,需要添加海图服务地址:
将下图中的服务地址拿到portal、geoscene pro或者前端js api中去使用
例如:在portal地图查看器将上一步的海图服务地址粘贴进来
最终的效果如下:
3、海图服务调用
如果使用前端js api可以这样调用。效果如下:
示例代码如下:
<!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 个评论
相关问题
- 作为Desktop用户对数据的获取比较乏力,可能缺了哪些知识?
- 有谁知道哪里可以免费获取各省市地图数据呢,包括详细的shape文件数据
- 有栅格数据a(大数据),小数据b,怎么从a中扣掉b,得到a数据剩下的部分?栅格能裁剪取反吗?
- 在windows server2008 R2 64位中安装了portal 10.5 设置好托管arcgis server站点,并用data store为托管数据库,发布数据出错
- ArcGIS数据库数据逐图幅裁剪
- cityengine怎么导入arcgis的shp数据,对shp数据有什么要求
- 我已经设置背景了,发布后背景却为白色?
- ArcEngine10.1 如何发布地图服务
- ArcGIS Server制作的缓存地图服务中,能否实现大比例尺下楼房阴影类似的3d效果?
- 地图服务发布成功,但无法启动服务
- Linux下如何将ArcGIS Server的服务端口改为80