首页 / 浏览问题 / WebGIS / 问题详情
为什么我发布的三维管线场景(生成缓存,发布文件夹数据,选择缓存工作空间,管线是符号化成三维的),在网页展示时,放大才是三维管线,缩小一点就是线
10EXP 2024年04月25日
放大线才变成三维管线

1个回答

您好,

请在iDesktop/iDesktopX桌面端查看添加该缓存的场景是否与网页显示效果一致,此显示效果是由于生成缓存时设置了LOD层级及简化率,iDesktop/iDesktopX桌面端默认LOD缩放比例为1。

根据您的描述,如想要在放大缩小操作下均显示三维管线效果,参考以下两种方法:

(1)对于桌面端场景内的缓存图层,图层属性参数面板调大LOD缩放比例(倍),该参数为模型LOD的不同层级之间切换距离的缩放倍数,调整值按需设置,调整后保存场景与工作空间重新发布服务,参数面板如下图所示:

(2)在前端通过代码设置:S3MTilesLayer. lodRangeScale可获取或设置图层的LOD层级切换距离缩放系数。参考代码如下所示:

var layer = scene.layers.find('管线@building');
layer.lodRangeScale= 100;

希望能够帮助到您!

440EXP 2024年04月25日
我用第一种方法在,管线场景添加到球面场景,普通图层右击图层属性没有lod缩放比例,和你发的图层属性面板不一样,我接着在普通图层右击添加三维切片缓存,加入了对应的scp文件右击图层属性才和你的一样有lod缩放比例,但是修改好以后,我把之前的图层去掉,只留管线管点的三维切片图层,保存场景但是右击生成场景缓存,弹出的页面没有数据集

我用第二种方法不知道find后面路径怎么加

您好,

对于您的问题一,原始图层和缓存图层不同,调整LOD缩放比例需针对缓存图层。新建场景,场景中添加生成好的缓存,右键缓存图层调整LOD缩放比例即可,保存场景后不用再生成场景缓存,因为场景内已全为缓存图层。保存工作空间和场景后发布三维服务即可。

对于您的问题二,scene.layers.find后跟的是图层名称,场景内图层名称大致可通过以下三种方式查看:

(1)iDesktop/iDesktopX桌面端打开场景后,图层管理器中查看场景各图层名称;

(2)iServer内三维服务中通过三维图层列表查看,如下图所示:

(3)使用SuperMap iClient3D for WebGL/Cesium产品,通过console.log(viewer.scene.layers)打印,于控制台查看当前场景内所有图层信息,如下图所示:

希望能够帮助到您!

,非常非常非常非常非常非常从费城费城费城感谢您
还有一个问题,就是为什么我desktop 单机新建自适应管点符号后没反应?

您好,

已于社区查看到您已重新提问:http://ask.supermap.com/143184

如下次有其他新问题,请重新在社区进行提问,以便负责相应产品的工程师为您更好地解答。

...