经纬志
首页 / deck.gl / 使用示例

六边形聚合

九万个点落在六片聚集区,按米制半径分箱后拉成棱柱。 切换 600 米到 2.5 公里四档半径,观察统计单元如何改变结论。

deck.gl 9.0 · 更新 2026-10-27
源码与运行效果
运行效果

说明

六个中心用极坐标撒点,半径按 sqrt(random) 分布, 保证圆内均匀而非中心堆积。每个点带 0.4–2.0 的权重, 颜色与高度都用权重和的 SUM。

配置作用
radius六边形外接圆半径,单位米
coverage: 0.9留出 10% 缝隙,相邻单元不粘连
elevationRange: [0, 3200]固定高度映射,切换半径时高度可比
upperPercentile: 100不做百分位排除,避免密集区出现空洞
material环境光与漫反射,让棱柱有明暗层次

半径改变结论

600 米时能看到每个聚集区内部的结构,热点与次热点分离; 2.5 公里时六片区域合并成两三个大块,细节消失,总量对比变得清楚。 同一份数据的三维柱状图,会随分箱粒度给出不同的「最高点」。

代码在切换时重建图层,但 id 与数据引用不变, deck.gl 会复用顶点缓冲,只重算聚合结果,切换基本无感。

半径与视角要一起定。视口横向装下 20–40 个单元时最易读。 如果一屏只有五六根柱子,说明半径过大;如果细到看不清缝隙, 说明半径过小,此时即使提高 coverage 也无济于事。