基于SuperMap三维WebGL开发之s3m切片缓存图层属性查询

API参考http://support.supermap.com.cn:8090/webgl/Build/Documentation/index.html

一、使用场景
在给定的模型里面,选定其中某个模型返回其属性进行展示,以官方例子中的樱花树为例,选择场景中的某一事物,需要返回他的属性信息。
二、数据处理及发布
1、管网下载樱花树数据,用桌面打开,可以查看默认的场景信息。
2、给数据集添加缓存,操作如下
(1)选定数据集,右键生成缓存,缓存类型如果有OSGB,选择OSGB格式,文件类型选择s3m,选择缓存存放目录
在这里插入图片描述
生成目录如下
在这里插入图片描述
注:每个数据集添加的缓存文件加都会带有一个.scp文件,该文件是用来将缓存添加到图层中来
(3)添加缓存到图层
打开场景,在图层管理器中,右键选择“普通图层”,添加“三维切片缓存图层”,选择每个数据集对应的缓存文件.scp,打开即可,如果多个数据集,重复以上步骤即可。
在这里插入图片描述
(4)将模型数据表另存为属性表(官方支持说是为了数据服务中查询效率)
选择数据集,浏览属性表,全选打开的表记录,鼠标右键,另存为数据集,保存为属性表即可
在这里插入图片描述
(5)保存新的工作空间,Iserver发布,发布选择三维服务,如果有数据查询,再加上数据服务就可以了。
三、webgl开发
1、加载影像图层,超图已经做好了,直接上代码即可
在这里插入图片描述
根据项目喜好,添加即可
2、设置气泡位置(非必须,可以换成自己的弹窗,或者alert)
在这里插入图片描述
3、添加缓存图层(s3m)
这种方式用来添加s3m缓存图层,桌面端必须生成场景缓存,具体见上面步骤
图中的相机参数第一可以通过桌面获取,或者在Iserver中webgl浏览时打印出相机的对象console.log(promise.camera)
4、添加图层点击事件
在这里插入图片描述
查询点击的面或者范围的的图层ID(数据集中的SMID)进行sql查询,查出具体的面的 其他属性,空间和sql的结合。
5、sql查询
在这里插入图片描述
和二维查询的方式一样,调用官方的api进行查询,需要注意的是datasetNames: [“Cherry:” + “yhsdata”] 里面的数据集最好使用属性

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值