首页 / deck.gl / API 文档
PointCloudLayer
先看结论
渲染三维点云,可带法线参与光照,常用笛卡尔坐标系。
new deck.PointCloudLayer(props)
参数
| 参数 | 默认 | 说明 |
|---|---|---|
getPosition | — | 三维坐标 [x, y, z] |
getNormal | — | 法线,提供后受光照影响 |
getColor | 黑 | 可选,未提供时可用 color |
pointSize | 10 | 点的像素尺寸 |
sizeUnits | 'pixels' | 点尺寸单位 |
coordinateSystem | DEFAULT | 点云通常改成 deck.COORDINATE_SYSTEM.CARTESIAN |
material | 内置 | 光照参数 |
示例
new deck.PointCloudLayer({
id: 'cloud',
data: points,
coordinateSystem: deck.COORDINATE_SYSTEM.CARTESIAN,
getPosition: function (d) { return d.pos; },
getColor: function (d) { return [80 + d.z * 5, 150, 255 - d.z * 4]; },
pointSize: 2,
pickable: false
});
与 ScatterplotLayer 的差别
ScatterplotLayer 面向地图上的圆点,支持描边、半径按米计算。 PointCloudLayer 面向三维点集,只画方形点,没有描边, 也不做圆角处理,换来更低的顶点开销。
数据来源
LAS / PLY 点云先按包围盒平移到原点附近,再统一缩放。 坐标绝对值过大(几十万)会让深度精度不足,表现为点面闪烁。
点云不要开拾取。每个点都是候选目标,拾取会多渲染一遍全量点, 数据量大时开销翻倍。
经纬志(2026)。《PointCloudLayer》。https://www.jingweizhi.com/deckgl/api/point-cloud-layer.html(访问日期 2026-11-03)。