【收藏】一起學習三維GIS—Cesium教程

Cesium是什么?
我們打開Cesium官網(wǎng),能夠很清晰的看到官方賦予Cesium的使命,即構建世界一流的3D地理空間應用程序。那Cesium到底是個什么東東呢?
Cesium是一個跨平臺、跨瀏覽器的展示三維地球和地圖的javascript庫
Cesium使用WebGL來進行硬件加速圖形,使用時不需要任何插件支持,但是瀏覽器必須支持WebGL
Cesium是基于Apache2.0許可的開源程序,它可以免費的用于商業(yè)和非商業(yè)用途
Cesium強調(diào)的是BIM三維模型,傾斜攝影的表達,重點在于三維建模與時態(tài)模擬.
Ps:更多Cesium視頻課程及教程獲取方式在文末
Cesium支持的數(shù)據(jù)格式
影像數(shù)據(jù):Bing、天地圖、ArcGIS、OSM、WMTS、WMS等
地形數(shù)據(jù):ArcGIS、谷歌、STK等
矢量數(shù)據(jù):KML、KMZ、GeoJSON、TopoJSON、CZML
三維模型:GLTF、GLB(二進制glTF文件)
三維瓦片:3D Tiles(傾斜攝影、人工模型、 三維建筑物、CAD、BIM,點云數(shù)據(jù)等)
Cesium的優(yōu)點
1.支持傾斜攝影,地形,海洋環(huán)境等三維場景展現(xiàn)...
2.支持三維瓦片格式:m3d.
3.支持BIM管網(wǎng)建模和3dx,gltf,的展示.
4.支持時態(tài),時間播放,時間動畫,時空聚類等時空展現(xiàn)




Cesium的缺點
1.webgl的渲染沒有類似unity的特殊光暈效果,雖然使用了webgl但效果平平
2.獨特自成體系的模型與幾何繪制策略,需要重新學習
3.代碼過重,并且主視圖必須獲取頂級div,影響工程代碼結構,復雜場景需要手動開辟釋放內(nèi)存
Cesium教程
https://github.com/vtxf/Cesium-Tutorials-Index
Cesium是一個用于顯示三維地球和地圖的開源js庫。
官網(wǎng)地址:https://cesiumjs.org/。
它可以用來顯示海量三維模型數(shù)據(jù)、影像數(shù)據(jù)、地形高程數(shù)據(jù)、矢量數(shù)據(jù)等等。三維模型格式支持gltf、三維瓦片模型格式支持3d-tilse。矢量數(shù)據(jù)支持geojson、topojson格式。影像數(shù)據(jù)支持wmts等。高程支持STK格式。
Cesium每月出一個版本。
下載地址:
https://cesiumjs.org/downloads/
Cesium教程匯總
Cesium官方教程
教程集合:
https://cesiumjs.org/tutorials/
API文檔:
https://cesiumjs.org/refdoc/
示例程序:
https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/
github地址:
https://github.com/AnalyticalGraphicsInc/cesium.git
Cesium官網(wǎng)國內(nèi)訪問較慢,可以在github上下載源碼或者zip包來開發(fā),其中已包含示例和API文檔。
Peter Lu的Cesium教程匯總
http://www.cnblogs.com/fuckgiser/p/5706842.html
Cesium應用篇:1快速搭建?
http://www.cnblogs.com/fuckgiser/p/5633748.html
Cesium應用篇:2影像服務(上)?
http://www.cnblogs.com/fuckgiser/p/5647429.html
Cesium應用篇:2影像服務(下)?
http://www.cnblogs.com/fuckgiser/p/5647457.html
Cesium應用篇:3控件(1)
Clock?http://www.cnblogs.com/fuckgiser/p/5669920.html
Cesium應用篇:3控件(2)
BaseLayerPicker?http://www.cnblogs.com/fuckgiser/p/5686238.html
Cesium應用篇:3控件(3)
SelectionIndicator& InfoBox?http://www.cnblogs.com/fuckgiser/p/5702544.html
Cesium應用篇:3控件(4)
Geocoder?http://www.cnblogs.com/fuckgiser/p/5708673.html
Cesium應用篇:3控件(5)
CesiumInspector?http://www.cnblogs.com/fuckgiser/p/5715342.html
Cesium應用篇:3控件(6)?
FullScreen/ VR /?
Home?http://www.cnblogs.com/fuckgiser/p/5716046.html
合肥火星科技
快速入門:
http://www.marsgis.cn/cesium/docs/go.html?id=11
翻譯的Cesium教程:
http://www.marsgis.cn/cesium/docs/go.html?id=12
工具匯總
gltf相關
Cesium加載模型時使用gltf格式。gltf格式是opengl官方的三維模型格式,充分考慮了網(wǎng)絡模式下數(shù)據(jù)加載的特點,非常適合網(wǎng)絡環(huán)境下使用。gltf目前已有1.0和2.0兩個版本,Cesium從1.36版開始同時支持gltf1.0和支持gltf2.0格式。
gltf
https://github.com/KhronosGroup/glTF
gltf規(guī)格說明
glTF-Sample-Models
https://github.com/KhronosGroup/glTF-Sample-Models
樣例數(shù)據(jù)
gltf-pipeline
https://github.com/AnalyticalGraphicsInc/gltf-pipeline
用來處理gltf格式文件,主要功能有:
1)將gltf格式分解成多個文件(紋理、頂點二進制數(shù)據(jù)、shader等)
2)文本格式(gltf)和二進制格式(glb)的互轉(zhuǎn)
3)將紋理壓縮成dds、pvr、etc等分別適合windows桌面端、iphone手機端、android手機端紋理的高效顯示
4)自動進行紋理烘焙,生成環(huán)境遮蔽紋理(ambient occlusion)
5)對頂點數(shù)據(jù)進行壓縮等
gltf-vscode
https://github.com/AnalyticalGraphicsInc/gltf-vscode
vscode插件,可以在vscode中打開gltf文件的同時顯示三維模型。
obj2gltf
https://github.com/AnalyticalGraphicsInc/obj2gltf
將obj格式模型轉(zhuǎn)成gltf格式模型
3d-tiles相關
3d-tiles是Cesium用來顯示大規(guī)模海量三維模型數(shù)據(jù)格式,比如傾斜攝影數(shù)據(jù),可以通過轉(zhuǎn)化成3d-tiles格式來在Cesium中顯示出來。3d-tiles格式考慮了普通三維模型、點云數(shù)據(jù)、矢量數(shù)據(jù)等形式,其中矢量數(shù)據(jù)格式還在開發(fā)中,目前的源碼中已經(jīng)有體現(xiàn),但是官方還未做宣傳;普通三維模型等格式已相對成熟。3d-tiles內(nèi)部實際上是使用gltf來作為單個瓦片模型的格式。
3d-tiles
https://github.com/AnalyticalGraphicsInc/3d-tiles?3d-tiles格式標準
3d-tiles-tools
https://github.com/AnalyticalGraphicsInc/3d-tiles-tools 3d-tiles格式處理工具,可以對3d-tiles進行調(diào)試、分析、驗證。
3d-tiles-samples
https://github.com/AnalyticalGraphicsInc/3d-tiles-samples?3d-tiles的樣例數(shù)據(jù)
其他雜項
cesium-threejs-experiment
https://github.com/AnalyticalGraphicsInc/cesium-threejs-experiment
同時使用Cesium和three.js進行三維展示
quantized-mesh
https://github.com/AnalyticalGraphicsInc/quantized-mesh
Cesium所使用的STK地形格式標準
turf
https://github.com/Turfjs/turf
一個用于空間分析的JavaScript庫。它包括傳統(tǒng)的空間操作,用于創(chuàng)建GeoJSON數(shù)據(jù)的幫助函數(shù),以及數(shù)據(jù)分類和統(tǒng)計工具。Turfjs可以作為客戶端插件添加到您的網(wǎng)站,也可以使用Node.js運行Turf服務器端。
citygml-to-3dtiles
https://github.com/njam/citygml
Cesium課程獲取方式
想要獲取更多GIS資料、Cesium課程
轉(zhuǎn)發(fā)本鏈接至朋友圈,并加小理微信:gis2210
將轉(zhuǎn)發(fā)界面截圖給小理即可獲取

