原生Cesium加载S3M倾斜模型数据
利用超图提供的插件可以使用原生Cesium加载scp配置文件。
使用方法
在Cesium官网下载release包, 将包中Build文件夹放在根目录,与3M_Parser_JS同级。
准备数据,数据目录为S3M_Parser_JS的data文件夹里。
将源码包放在服务端(比如tomcat)的webapp文件夹下发布。
若使用精模数据,范例为CBD.html,若使用实例化数据,范例为instance.html。
核心代码如下:
// 引入cesium
<script src="https://cesium.com/downloads/cesiumjs/releases/1.84/Build/Cesium/Cesium.js"></script>
<link href="https://cesium.com/downloads/cesiumjs/releases/1.84/Build/Cesium/Widgets/widgets.css" rel="stylesheet">
let viewer = new Cesium.Viewer('cesiumContainer');
let scene = viewer.scene;
window.scene = scene;
// 引入S3MTilesLayer.js文件
require(['./js/S3MTiles/S3MTilesLayer'], function(S3MTilesLayer) {
let layer = new S3MTilesLayer({
context : scene._context,
url: './data/comModel/comModel.scp' // 配置文件地址
});
})
通过SuperMap iDesktop对模型根节点合并后加载速度都有一定的提升。效果如图所示
最后附上github地址:https://github.com/SuperMap/s3m-spec
其中还包含b3dm和s3mb格式之间相互转换,有兴趣的小伙伴可以看下。