经纬志
首页 / Cesium / 使用示例

地形分级设色

地形分类最直观的做法是分级设色:低处深绿、高处灰白,再加一点方向阴影,起伏就出来了。

CesiumJS 1.121 · 更新 2026-10-28
源码与运行效果
运行效果

这个示例在做什么

地面被换成一张按高程分带的分类图:低洼深绿、草地中绿、丘陵土黄、裸岩褐、雪线灰白。 每个像素的亮度还叠加了左上方向的差分阴影,地势起伏因此看得出来。

真实地形分类来自 DEM 的分级设色或地表覆盖数据。渲染时可以把分级结果直接画成纹理, 也可以用 ClassificationPrimitive 把分类结果贴到地形上。 示例走的是贴图路线,一张 256×256 的 canvas 就够,不请求任何瓦片。

关键接口

接口作用
Rectangle.fromDegrees用经纬度定义贴图范围
ImageMaterialProperty把 canvas 作为矩形材质
ClassificationPrimitive真实地形上的分类着色,需要地形数据
createImageData逐像素生成分类图,适合程序化数据

可以直接改的地方

位置改什么效果
bands 数组增删分级或换色分类方案变化
elev(x, y)改三角函数地形形态变化
dz * 2.4改系数阴影强弱
Rectangle.fromDegrees 的四个角改范围贴图覆盖区域

替代说明:官方示例在 ion 地形上做分类着色,依赖真实高程与地表覆盖数据。 这里用程序化高程加分级色带生成贴图,分级逻辑与配色思路可以直接沿用。