Cesium中文網:http://cesiumcn.org/ | 國內快速訪問:http://cesium.coinidea.com/
CesiumJS支持對與水流相關的海洋、湖泊和河流以及全球高分辨率地形進行流式處理和可視化。查看山峰、山谷和其他地形特征,並擁抱三維數字地球。使用Cesium ion流式化您自己的切片地形數據或高分辨率管理地形,如Cesium World Terrain。
Quick Start 快速入門
打開Sandcastle的Hello World示例。默認情況下,地球球體是WGS84 ellipsoid。通過將terrainProvider選項傳遞給Viewer,指定不同的地形提供器。讓我們使用Cesium世界地形:
Cesium.Ion.defaultAccessToken = 'your_access_token';
var viewer = new Cesium.Viewer('cesiumContainer', {
terrainProvider : Cesium.createWorldTerrain()
});
NOTE: 創建Cesium賬號
NOTE: 本教程使用Cesium ion提供的地形。創建一個帳戶以獲取訪問令牌(access token),以便在本教程中使用地形。在這里注冊,上面的示例代碼將自動更新為您的令牌。如果您已經有帳戶,請登錄。
修改示例后,按F8運行該示例。縮放到山區,按住鼠標中鍵並拖動以傾斜到地平線視圖。下圖珠穆朗瑪峰的樣子:
隨着我們的縮放越來越近,CesiumJS基於地球上哪些部分可見以及它們離得有多遠來獲得更高分辨率的地形。
地形和圖像分別處理,任何圖像提供者都可以與任何地形提供者一起使用。請參見Imagery Layers Tutorial以管理圖像。
啟用地形照明和水體效果
Cesium世界地形還包括地形照明數據和水體效果所需的海岸線數據。默認情況下,此數據不會隨地形圖塊一起發送。若要啟用地形照明,請將requestVertexNormals設為true並開啟全球光照。
var viewer = new Cesium.Viewer('cesiumContainer', {
terrainProvider : Cesium.createWorldTerrain({
requestVertexNormals: true
})
});
viewer.scene.globe.enableLighting = true;
下圖是基於太陽位置開啟地形照明的珠穆朗瑪峰的同一個視圖。
使用requestWaterMask以類似的方式啟用水體效果:
var viewer = new Cesium.Viewer('cesiumContainer', {
terrainProvider : Cesium.createWorldTerrain({
requestWaterMask: true
})
});
縮放到有水的區域以查看效果。這里是舊金山灣:
隨着時間的推移,水波波動和明亮的鏡面反射太陽和月亮的光。通過使用** Globe.oceanNormalMapUrl**用於創建波浪來自定義水效果。更改圖像提供者也會影響水的外觀,因為水的顏色與底層圖像混合。改變圖層提供器也會改變水體效果的呈現,因為水體的顏色會和底下的圖層混合渲染。
請參閱Sandcastle的地形示例,探索一些有趣的地形和水體效果區域。
准備流式化地形
Cesium World Terrain: 高分辨世界地形,同時擴展支持地形照明和水體效果。Cesium Worl Terrain支持通過Cesium ion在線訪問,也支持付費下載,離線訪問。將它加入到Cesium應用中,將快速提高地形可視化效果。 Cesium World Terrain也可以通過on-premise獲得。
Terrain providers 地形提供器
Cesium基於地形提供器支持請求地形的若干種方法。大多數地形提供器使用HTTP上的REST接口來請求地形切片。地形提供器根據請求的格式和地形數據的組織方式而有所不同。CesiumJS支持以下地形提供器:
- CesiumTerrainProvider: 支持量化網格地形切片,針對地形流進行了優化。兼容Cesium ion所服務的地形和來自[3D tiling pipeline])(/3d-tiling-pipeline/terrain/)的輸出數據。
- GoogleEarthEnterpriseTerrainProvider: 支持由您的Google Earth Enterprise服務器生成的高程地圖地形。
- VRTheWorldTerrainProvider: 支持從VT MAK VR-TheWorld Server服務器請求的高度地圖地形圖。
- EllipsoidTerrainProvider:按照程序創建橢球的表面。缺乏地形的真實外觀,但不從服務器請求數據。
地形提供器的構造與圖層提供器類似,如果服務器不支持跨域資源共享CORS,則通常包括地形服務器的URL和可選的代理。
資源
查看Sandcastle中的地形示例和所有地形提供器的參考文檔。
Cesium中文網交流QQ群:807482793
Cesium中文網:http://cesiumcn.org/ | 國內快速訪問:http://cesium.coinidea.com/