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来设置。