Cesium之地形
Cesium支持对海洋,湖泊和河流的全球高分辨率地形和水影像进行流式传输和可视化。
支持多种地形provider来接收地形数据,大多数provider使用rest类型的接口来请求地形瓦片。
缺省情况下, 地球是一个 WGS84 椭球体。要添加Cesium的世界地形, 添加下面代码,珠穆朗玛峰显示如下:
viewer.terrainProvider = Cesium.createWorldTerrain();

Cesium世界地形还包括地形照明数据以及水效应所需的海岸线数据。默认情况下, 地形服务器不发送照明或海岸线数据与地形瓦片。在构造 CesiumTerrainProvider 时, 要启用地形照明, 从地形服务器请求 VertexNormals 扩展, 并启用全球照明。开启照明后珠穆朗玛峰显示如下:
var terrainProvider = Cesium.createWorldTerrain({
requestVertexNormals: true
});
viewer.terrainProvider = terrainProvider;
viewer.scene.globe.enableLighting = true;

从地形服务器请求WaterMask扩展,开启水波效果:
var terrainProvider = Cesium.createWorldTerrain({
requestWaterMask: true
});
viewer.terrainProvider = terrainProvider;

| 类型 | 说明 | 详情 |
|---|---|---|
| Cesium World Terrain | 高分辨率世界各地的地形, 支持地形照明和水影响的延伸。使用开放的运行时格式、量化网格 v1.0 将地形瓦片传递给客户端。 | CesiumTerrainProvider |
| Google Earth Enterprise | 从高度地图产生地形。 | GoogleEarthEnterpriseTerrainProvider |
| VT MAK VR-TheWorld Server | 从VR-TheWorld服务器中请求的高度地图生成地形。他们的托管服务器有90米的间距为整个地球, 包括水深。 | VRTheWorldTerrainProvider |
| Ellipsoid | 创建光滑表面的椭球体。这缺乏地形的真实外观, 但不请求服务器的数据, 对许多应用程序 (如空间) 非常有用。 | EllipsoidTerrainProvider |
可以通过TerrainProvider接口访问其它地形服务。要使用地形服务提供者,通过Viewer.terrainProvider来设置。