首页 / 浏览问题 / WebGIS / 问题详情
iserver 怎么发布 3dtiels数据?
5EXP 2021年03月18日
两个问题:

1、已经切好的3dtiles数据,能发布到iserver上么?我在iserve里面“快速发布服务”看到有发布3dtiles的选项,但是发布之后,直接在iserver预览都报错,是没发布好么?怎么预览发布后的3ditles呢?

2、如果原始数据是rvt等bim模型,是否通过处理,可以在iserver发布出一个3dtiles的服务,以便cesium能正常加载。

1个回答

您好,1.可以发布到iserver上,目前不支持预览,但可以在webgl中加载出来,具体您可以下载最新webgl包,参考3D Tiles Photogrammetry.html这个示例。 2.您得先在桌面对bim模型生成三维缓存,缓存类型选为s3mb,然后通过s3m工具包把s3mb转为3dtiles,可在http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?tt=ProductAAS&id=137下载。

1,545EXP 2021年03月18日

您好,第一个问题,我按您给的建议,翻看了3D Tiles Photogrammetry.html这个示例,其中里面加载3dtiles的核心代码如下:

        var tileset = new Cesium.Cesium3DTileset({
          url: Cesium.IonResource.fromAssetId(40866),
        });

        viewer.scene.primitives.add(tileset);
        viewer.zoomTo(tileset);

我将上述代码中的url地址换成我自己发布的3dtiles的路径,一直加载不出来,我本地的url如下:

http://localhost:8090/iserver/services/3D-ThreeDTilesCache-tileset2/rest

另外,我也尝试了下面这个地址:

http://localhost:8090/iserver/services/3D-ThreeDTilesCache-tileset2/rest/realspace/datas/tileset/config

第二个地址能够缩放到定位到模型的位置,但依然无法显示模型

是我的地址有误么?还是什么问题?

我判断是因为,这个路径http://localhost:8090/iserver/services/3D-ThreeDTilesCache-tileset2/rest/realspace/datas/tileset/config虽然指向了3dtiles的tileset.json文件,但是tileset.json中有相对路径   

 "url": "Models/0.b3dm",而正常来b3dm的访问路径应该如下,

http://localhost:8090/iserver/services/3D-ThreeDTilesCache-tileset2/rest/realspace/datas/tileset/config/Models/0.b3dm

但很明显,这个路径是无法正常访问的,所以导致模型出不来。有什么好的解决办法呢?我不想修改tileset.json中的url指向

第二个地址是对的,

var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({ url: 'http://localhost:8090/iserver/services/3D-ThreeDTilesCache-tileset/rest/realspace/datas/tileset/config', isSuperMapiServer: true }))

您这样写,加上isSuperMapiServer为true
...