经纬志
首页 / deck.gl / API 文档

PointCloudLayer

先看结论

渲染三维点云,可带法线参与光照,常用笛卡尔坐标系。

最后验证 2026-11-03 · deck.gl 9.0 · 更新 2026-10-27 · 引用本文
new deck.PointCloudLayer(props)

参数

参数默认说明
getPosition—三维坐标 [x, y, z]
getNormal—法线,提供后受光照影响
getColor黑可选,未提供时可用 color
pointSize10点的像素尺寸
sizeUnits'pixels'点尺寸单位
coordinateSystemDEFAULT点云通常改成 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)。