首页 / Cesium / 使用示例
地形分级设色
地形分类最直观的做法是分级设色:低处深绿、高处灰白,再加一点方向阴影,起伏就出来了。
源码与运行效果
这个示例在做什么
地面被换成一张按高程分带的分类图:低洼深绿、草地中绿、丘陵土黄、裸岩褐、雪线灰白。 每个像素的亮度还叠加了左上方向的差分阴影,地势起伏因此看得出来。
真实地形分类来自 DEM 的分级设色或地表覆盖数据。渲染时可以把分级结果直接画成纹理,
也可以用 ClassificationPrimitive 把分类结果贴到地形上。
示例走的是贴图路线,一张 256×256 的 canvas 就够,不请求任何瓦片。
关键接口
| 接口 | 作用 |
|---|---|
Rectangle.fromDegrees | 用经纬度定义贴图范围 |
ImageMaterialProperty | 把 canvas 作为矩形材质 |
ClassificationPrimitive | 真实地形上的分类着色,需要地形数据 |
createImageData | 逐像素生成分类图,适合程序化数据 |
可以直接改的地方
| 位置 | 改什么 | 效果 |
|---|---|---|
bands 数组 | 增删分级或换色 | 分类方案变化 |
elev(x, y) | 改三角函数 | 地形形态变化 |
dz * 2.4 | 改系数 | 阴影强弱 |
Rectangle.fromDegrees 的四个角 | 改范围 | 贴图覆盖区域 |
替代说明:官方示例在 ion 地形上做分类着色,依赖真实高程与地表覆盖数据。 这里用程序化高程加分级色带生成贴图,分级逻辑与配色思路可以直接沿用。