Cesium入門7 - Adding Terrain - 添加地形

Cesium入門7 - Adding Terrain - 添加地形

Cesium中文網:http://cesiumcn.org/ | 國內快速訪問:http://cesium.coinidea.com/javascript

Cesium支持流式的、可視化的全球高程投影地形地勢、水形數據,包括海洋、湖泊、河流、山峯、峽谷和其餘可以被三維展現出來的且效果比二維好的地形數據。像圖層數據同樣,Cesium引擎會從一個服務器上請求流式地形數據,僅請求那些基於當前相機能看到的須要繪製的圖層上的數據。html

Cesium官方提供了一些地形數據集的例子,以及如何配置這些參數。java

支持的地形數據格式git

  • Quantized-mesh, Cesium團隊本身開源的一種格式
  • Heightmap
  • Google Earth Enterprise

爲了添加地形數據,咱們須要建立一個CesiumTerrainProvider,提供一個url和一些配置想,而後將這個provider賦值給viewer.terrainProvidergithub

此處,咱們使用Cesium WorldTerrian圖層,該圖層由Cesium ion提供,在「My Assets」中是默認提供的。咱們能夠用createWorldTerrainhelper函數建立一個由Cesium ion提供服務的Cesium WorldTerrian服務器

// Load Cesium World Terrain
viewer.terrainProvider = Cesium.createWorldTerrain({
    requestWaterMask : true, // required for water effects
    requestVertexNormals : true // required for terrain lighting
});

requestWaterMaskrequestVertexNormals是可選的配置項,告訴Cesium是否須要請求額外的水、光數據。這兩個選項默認是設爲false的。app

最終,既然咱們有了地形數據,咱們須要更多的線條來使得地形數據背後的objects可以正確地顯示,只有最前面、最上面的objects才能是可見的。ide

// Enable depth testing so things behind the terrain disappear.
viewer.scene.globe.depthTestAgainstTerrain = true;

咱們如今有地形數據和運動的水。紐約很是平坦,因此能夠在上面的地形數據上自由的探索。舉一個顯而易見的例子,你能夠跳轉到更加崎嶇的區域好比 Grand Canyon 或者 San Francisco。函數

關於地形數據的更多信息,請訪問Terrain Tutorialui

Cesium中文網交流QQ羣:807482793

Cesium中文網:http://cesiumcn.org/ | 國內快速訪問:http://cesium.coinidea.com/

相關文章
相關標籤/搜索