首页 / 浏览问题 / 三维GIS / 问题详情
cesium加载s3mb数据能请求但是在地图上没有显示
1EXP 2023年02月15日
代码如下:
let viewer = new Cesium.Viewer('cesiumContainer');
   let scene = viewer.scene;
   let layer = new S3MTilesLayer({
       context : scene._context,
       url: 'http://xxx:9000/3dData/wf3/Combine.scp',
   });

   const result = scene.primitives.add(layer);
   layer.readyPromise.then(function() {
       scene.camera.setView({
           destination : Cesium.Cartesian3.fromDegrees(114.1603807501233,
               35.78320846685121, 1000)
       });
   }).otherwise(function(error) {
       console.log(error);
   });

1个回答

您好,

首先您需要确认您的定位是否准确

其次,您需要核对一下,服务的加载方式是否正确。看您的代码是加载的图层服务。

最后,确认一下您的数据生成缓存后在桌面能否打开,数据的坐标系是否正常,在iserver的预览中能否看到
4,151EXP 2023年02月15日

我是按照github上的例子写的,https://github.com/SuperMap/s3m-spec

例子中的模型是可以正常加载的,scp中的dataType是BIM,投影是epsg:4326

甲方给的,scp中的dataType是RealityMesh,投影是epsg:4490

不知道是不是跟这个有关系,RealityMesh类型用cesium怎么加载呢?

您这边是否有我们的iDesktop桌面软件呢,您把这个scp在桌面中进行加载看能否显示。
您那边前端可以加载例子中的数据,加载不了这个,很大的可能是数据本身的问题。
还有一种可能是数据的版本较高,前端版本较低,低版本未兼容高版本数据。
建议您这边首先查看您的WebGL前端的版本,然后下载对应版本的iDesktop桌面,在桌面中加载看能否显示。
如果不能显示,就是数据本身的问题了。RealityMesh类型的数据我们桌面并没有。

iDesktop可以正常加载

前端是用的S3M_SDK方式,github地址:https://github.com/SuperMap/s3m-spec

还有其它的加载方式吗,需要基于cesium的

在iserver中查看对应的服务是否能正常预览呢?

另外,这个是原生cesium使用咱们出的对接插件加载s3m的问题,建议github的issue里提问
...