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

TerrainLayer

先看结论

读取高程瓦片生成地形网格,可叠加影像纹理,常与三维数据配合。

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

参数

参数默认说明
elevationData—高程瓦片地址模板,通常为 Terrain-RGB
elevationDecoder—解码参数 rScaler、gScaler、bScaler、offset
texture无叠加的影像地址模板
meshMaxError4网格简化容差,越大越省、地形越粗
elevationScale1高程倍率,常用 1.5 到 2 做夸张
wireframefalse显示网格线
color—无纹理时的统一颜色

示例

new deck.TerrainLayer({
  id: 'terrain',
  elevationData: 'https://example.com/terrain/{z}/{x}/{y}.png',
  elevationDecoder: {
    rScaler: 6553.6,
    gScaler: 25.6,
    bScaler: 0.1,
    offset: -10000
  },
  texture: 'https://example.com/imagery/{z}/{x}/{y}.jpg',
  meshMaxError: 6,
  elevationScale: 1.8,
  wireframe: false
});

解码参数怎么来

Terrain-RGB 把高程编码进 RGB 三个通道。不同数据源的缩放系数不同, 照搬别处的参数会得到负数或者过于平坦的地形。 先取已知高程点验证一次,再铺满全图。

性能取舍

meshMaxError 控制网格顶点上限。 设为 1 时地形精细但网格数量大,移动端会明显掉帧; 4 到 8 之间在视觉上已经足够。

地形与贴地数据的偏移。地形抬高后,原本按 0 高程绘制的点会陷进山体。 给图层加 billboard 或提高 zOffset,比调高程倍率更有效。

引用本文

经纬志(2026)。《TerrainLayer》。https://www.jingweizhi.com/deckgl/api/terrain-layer.html(访问日期 2026-11-03)。