首页 / 浏览问题 / 三维GIS / 问题详情
webgl 实现三维立体注记
74EXP 2022年06月06日
webgl  如何实现三维立体注记,在桌面端通过对二维矢量面在三维场景中制作标签专题图,之后对场景进行生成缓存,之后再iserver 中发布的服务啥也不显示呢,如何通过webgl实现三维立体注记。

1个回答

您好,

三维立体标记有三种实现方法:

1.您可以在 iDesktop 中将二维矢量面添加到球面场景,并制作标签专题图,标签专题图不建议选择贴地模式,为了立体显示效果,您可以把标签专题图绝对高度的底部高程设置一个值。对场景切缓存,发布三维服务后可以在webgl进行加载,是可以实现的;

2.您可以在 iDesktop 中将二维矢量面添加至地图,并制作标签专题图,对地图切矢量瓦片,发布mvt瓦片服务后,在webgl进行加载,是可以实现的;

3.您也可以在webgl实现立体标注。通过添加实体对象的方式添加标注。
例如:viewer.entities.add({
                    position: Cesium.Cartesian3.fromDegrees(116.45993156102118, 39.915555849040764, 28.6133),
                    label: {
                               text: '11111',
                              }
          });
可以添加颜色、对齐方式、字体大小等参数,具体可参考官网的API。另外,也可以通过添加气泡或者广告牌的方式添加立体标注。(注:数据过多时不推荐)

另外,iserver 中发布的服务不显示,需要确认下您那边数据源是udbx还是udb,udb数据源是独占的,必须要关闭桌面的工作空间才能在iserver上成功预览。

希望可以帮助到您。

760EXP 2022年06月06日
我的需求是我有行政区的shp文件,我想把它加载在三维球体上,并且将行政区名称字段显示成三维立体标签呢。如果通过viewer.entities方法,如果数据量多的化,就不是很方便。
点击矢量面,右键选择添加到新的球面场景,将矢量面加载至球面场景。在“场景”选项卡“数据”组中选择“专题图”按钮,在弹出的“制作专题图”功能界面中,选择“标签专题图”对应右侧列表中类型可生成标签专题图。在“三维标签专题图”窗口中可以修改专题图的设置内容,将表达式设置为您的行政区名称字段即可。

对标签专题图进行风格设置,右键单击场景结点,通过右键菜单“生成场景缓存...”命令,生成场景缓存。在isever中发布服务,进行webgl端的加载就可以咯。
是把二维矢量面放在场景中生成缓存吗?还是地图啊?场景生成缓存没问题,但是发布到iserver中就有问题啦

是的,按照您的操作方法,可以在场景中生成缓存。请确认在启动服务之前数据源是否被其他软件打开而出现独占的情况,确保只有当前服务使用该数据源。打开replace节点下的scenes节点以WebGL3D形式浏览看看是否正常显示。

...