首页 / 浏览问题 / WebGIS / 问题详情
webgl 加载白模数据怎么获取白模中的属性?
227EXP 2024年06月05日

我参照cesium例子无法获取属性https://sandcastle.cesium.com/?src=3D%20Tiles%20Feature%20Picking.html,超图官方文档中没有详细的属性获取的api。我想问一下是不是超图发布出来的三维服务统统把属性丢掉了只保留了一个ID?

1个回答

您好,

一、在超图发布出来的三维服务中可以获取到属性。

目前有两种方式“通过数据服务查询”,“通过模型缓存属性查询”。详情可参考博客:“https://blog.csdn.net/supermapsupport/article/details/124879325”。
 

“通过数据服务查询”:
它是将对象的属性表另存为属性表数据集,在iServer中发布数据服务。以此实现在点击前端对象时发送请求获取属性信息。适用于属性信息会发生更新的情景,例如查看建筑物耗电功率,您可以参考示例:http://127.0.0.1:5502/examples/webgl/editor.html#S3MTiles_BIM ,涉及的API为S3MTileLayer.setQueryParameter: http://support.supermap.com.cn:8090/webgl/docs/Documentation/S3MTilesLayer.html#setQueryParameter

“通过模型缓存属性查询”:
它是在生成缓存时,就将属性信息保存在缓存中,当前端请求到缓存数据后,已携带属性信息。适用于属性信息相对固定不会发生改变的情景,例如建筑物名称,地址,邮编等信息。其涉及到的关键点在于:1.在iDesktopX中生成缓存时需要将“属性存储类型”设置为“Attribute”。2. 在iClient3D for WebGL中,设置S3MTileLayer.indexedDBSetting.isAttributesSave = true; 


二、关于您提到的白模属性
您可以参考 

【有道云笔记】2024年5月15日 矢量面数据+高程字段 制作白模并实现专题图

https://note.youdao.com/s/2UHksY00

当然,您参考Cesium的例子未能成功,该使用的是3DTiles数据,这里我们还需要了解您的数据情况。

希望能帮助到您


 

365EXP 2024年06月06日
...