首页 / Cesium / 使用示例
点云分类着色
点云本身是灰的,分类之后才有意义。三种颜色对应三种地物,密集的点忽然可读了。
源码与运行效果
这个示例在做什么
同一片点云被分成三类:灰色是地面,蓝色是建筑立面,绿色是树冠。 三类点各自使用一种颜色,点云立刻有了语义。
激光点云的分类码通常存在属性里,取到之后按码表上色即可。 分类结果还能做很多事:只显示植被、按类别统计体积、把建筑点单独抽出来重建模型。 示例里三类点用不同密度采样,避免视觉上糊成一片。
关键接口
| 接口 | 作用 |
|---|---|
PointPrimitive.color | 逐点颜色,分类着色的基础 |
Cesium3DTileStyle | 真实 pnts 数据按分类码写样式表达式 |
feature.getProperty('Classification') | 读取分类码 |
PointPrimitive.show | 按类别整体显隐 |
可以直接改的地方
| 位置 | 改什么 | 效果 |
|---|---|---|
CLASS 三个颜色 | 换配色 | 整体分类色 |
i < 26 | 改成 80 | 树更多 |
k < 22 | 改成 8 | 每棵树点更少,树冠更虚 |
ground 的透明度 | 改成 1 | 地面点更实 |
替代说明:官方示例按分类码给 ion 点云着色。 这里在生成点时直接打上类别,效果等价;真实数据读取分类属性后用样式表达式即可。