首页 / deck.gl / API 文档
TerrainLayer
先看结论
读取高程瓦片生成地形网格,可叠加影像纹理,常与三维数据配合。
new deck.TerrainLayer(props)
参数
| 参数 | 默认 | 说明 |
|---|---|---|
elevationData | — | 高程瓦片地址模板,通常为 Terrain-RGB |
elevationDecoder | — | 解码参数 rScaler、gScaler、bScaler、offset |
texture | 无 | 叠加的影像地址模板 |
meshMaxError | 4 | 网格简化容差,越大越省、地形越粗 |
elevationScale | 1 | 高程倍率,常用 1.5 到 2 做夸张 |
wireframe | false | 显示网格线 |
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)。