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

处理工具:cesiumlab2。

数据格式:las。

数据处理步骤:

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

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


b)、全选添加点云数据

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


c)、设置相关参数

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


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

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


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

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


d)、选择须绑定字段(选择后,可通过模型获取到相关属性):

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


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

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


f)、其他参数:

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

 

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

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

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

下面分别看下pickedFeature的属性。

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

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

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

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

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

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

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

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

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

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

相关文章:

  • 2021-09-26
  • 2021-12-20
  • 2021-05-25
  • 2022-12-23
  • 2022-12-23
  • 2021-09-03
  • 2022-12-23
  • 2021-12-27
猜你喜欢
  • 2021-11-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-28
  • 2021-08-17
  • 2022-12-23
相关资源
相似解决方案