Cesium開(kāi)發(fā)中茂装,如果想要看到真實(shí)感怠蹂,地形數(shù)據(jù)(DEM)不可或缺。
首先少态,地形數(shù)據(jù)是什么城侧?拿DEM數(shù)據(jù)來(lái)說(shuō),DEM數(shù)據(jù)就是數(shù)字高程模型彼妻,就是描述每個(gè)點(diǎn)位的高程數(shù)據(jù)而已嫌佑,沒(méi)有其他附加信息,更不會(huì)包含影像圖侨歉,單獨(dú)展示是看不出什么名堂的屋摇。DEM數(shù)據(jù)在ArcGIS中打開(kāi)只能看到是灰度圖。
其次为肮,如何展示呢摊册?地形數(shù)據(jù)需要結(jié)合影像圖或者普通瓦片來(lái)展示才能看到地球表面的高低起伏狀態(tài);結(jié)合影像圖展示效果最佳颊艳。
下面我將從獲取DEM數(shù)據(jù)到最后成功展示到Cesium中茅特,詳細(xì)描述其中的各個(gè)步驟,希望對(duì)大家有所幫助棋枕。
1.下載DEM數(shù)據(jù)白修,下載地址:http://www.gscloud.cn/,使用高級(jí)檢索重斑,根據(jù)實(shí)際需求兵睛,下載不同精度的DEM數(shù)據(jù)。
2.下載下來(lái)的DEM數(shù)據(jù)解壓后,有三個(gè)文件祖很,其中帶有dem標(biāo)識(shí)的即為我們需要的DEM數(shù)據(jù)文件笛丙;另外一個(gè)tif文件,num是DEM的允差值假颇。胚鸯。
3.如果一個(gè)區(qū)域存在多張dem數(shù)據(jù),為了方便切圖笨鸡,可以使用ArcGIS Toolbox的數(shù)據(jù)管理工具——柵格——柵格數(shù)據(jù)集——鑲嵌姜钳,可以將多張dem的tif合并為一個(gè)tif文件。
4.利用工具gdal2srtmtiles_x64(我用的是64位的形耗,32位的我沒(méi)測(cè)過(guò))哥桥,工具的使用說(shuō)明已經(jīng)很詳細(xì)了,這里我就不多作解釋了激涤。切圖完成之后的拟糕,成果如下圖:
5.將上邊的地形瓦片文件,發(fā)布到tomcat倦踢,IIS等服務(wù)器已卸。發(fā)布完成后的訪問(wèn)地址為http://localhost:8081/wzf_dem
6.在Cesium中創(chuàng)建 terrainProvider和imageryProvider。
var viewer = new Cesium.Viewer('cesiumContainer');
var terrainProvider = new Cesium.CesiumTerrainProvider({
url: 'http://localhost:8081/wzf_dem'
});
viewer.terrainProvider = terrainProvider;
viewer.camera.flyTo({
destination:Cesium.Cartesian3.fromDegrees(116, 40, 15000.0)
});
7.運(yùn)行頁(yè)面硼一,打開(kāi)之后,定位到有地形數(shù)據(jù)的地方梦抢。
從正上方俯視般贼,地形數(shù)據(jù)已經(jīng)很明顯了
按住Ctrl鍵,旋轉(zhuǎn)地球奥吩,從地平線方向看哼蛆,地形數(shù)據(jù)更明顯,效果更好霞赫。
最后再重復(fù)一下腮介,地形數(shù)據(jù)單獨(dú)是沒(méi)法展示出來(lái)看的,只是一堆高程數(shù)據(jù)而已端衰。結(jié)合影像圖來(lái)展示叠洗,效果最佳。
注意:最好把項(xiàng)目服務(wù)和高程數(shù)據(jù)服務(wù)部署在同一個(gè)服務(wù)器和端口下旅东,避免跨域灭抑。
本文主要參考了http://www.reibang.com/p/62d6f03f44e3。