Cesium 点云数据的处理(无法点击获取属性相关)

 

最近帮公司做点云的模型,之前一直做的是3dmax或者bim的,第一次弄,也遇到了一些问题,最终还是解决了。也感谢在这个过程中耐心帮我解疑的朋友。

处理工具:cesiumlab2。

数据格式:las。

数据处理步骤:

a)、打开cesiumlab,选择点云切片


b)、全选添加点云数据


c)、设置相关参数


设置epsg坐标系,由点云模型设计人员提供,并且设置最大级别。


注:此处最大级别的确定,可先转换其中一个las,看切到了多少级,找最大层级,如下(此处即选择18级):


d)、选择须绑定字段:


e)、设定缓存文件,当数据量过大时需设置:


f)、其他参数:

 

以上点云就处理好了,加载方式和普通的3dtiles相同。

下面我想通过点击点云的某个部件,获取部件的相关信息,开始我以为和3dmax bim转出来的3dtiles操作相同即可,后来发现差距很大,折磨了我两天。
首先看下属性获取的代码,无论对点云还是3dmax、bim,此处获取的代码是相同的:

下面分别看下pickedFeature的属性。

我们先看下3dmax bim转出的3dtiles的属性获取的结果:

从这里可以看到,这里的属性是 Cesium3DTileFeature对象。再看下它的相关部件属性信息:

从这里可以看到,是可以获取到部件属性的。

下面我们来看下点云的结果:

明显能看到这里返回的是两个对象,一个是Cesium3DTileset类型的,一个是PointCloud3DTileContent的。和上面的bim、3dmax的Cesium3DTileFeature类型是不一样的。

我查了下github以及google了一下,都没提供获取属性的方法。后来为了确认下,和cesiumlab官方的人也交流了一下,点云里为了提高渲染和转换的效率,一般是拾取不了属性的。当然点云的存储形式有两种,另外一种还是存储成batchTable的形式,就可以直接拾取了,但用cesiumlab转的是非batchTable存储,所以没法获取。

解决办法:点云反向建模,为模型绑定。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值