前言

Cesium作為三維GIS和BIM應用的主力引擎,目前已經受到越來越多的開發者的青睞。這兩年筆者也一直做Cesium相關的開發工作,真切地感受到Cesium的強大,其豐富的API、豐富的示例為開發三維GIS/BIM應用提供了極大的便利。

為了進一步豐富Cesium的開發生態,我們把之前在Cesium基礎上開發的功能,以及大量的改良功能,封裝成若干個獨立的js包。這樣也避免開發者重複造輪子。對於大屏展示、C端替代等直接本地部署Cesium的應用場景,可以直接免費使用我們封裝的EarthSDK擴充套件包。

EarthSDK簡介

EarthSDK和Cesium的關係

Cesium的擴充套件工具包-EarthSDK使用指南1

EarthSDK中主要包括XbsjEarth。js和XbsjCesium。js兩個js包。

XbsjCesium。js用來擴充套件Cesium所不具備的三維視覺化功能,例如影片融合、分析工具、模型壓平等。

XbsjEarth。js則主要目標在於封裝出更加易於使用的API介面,儘可能遮蔽掉前端開發工程師所不熟悉的圖形學、GIS相關內容。會在Cesium的基礎上封裝好一些複雜的互動操作,並提供極其簡單的API介面方便呼叫。

EarthSDK提供超級易用的API

響應式屬性

EarthSDK從前端開發者的角度考慮設計API,大部分類的屬性都是響應式設計,透過簡單操作即可監控相應的屬性變化,透過bind方便可以實現屬性的相互繫結。特別針對Vue的開發者,實現了和vue的響應式屬性的無縫融合。具體可以參考這篇文章的介紹:三維應用的響應式設計探索。

JSON配置式API

之前使用過ECharts的同學可能對ECharts的操作簡單印象深刻。ECharts相當於把大量的API轉成配置式,真正使用時,只需要透過setOptions來進行一個大JSON物件的配置,即可完成圖示的建立。

EarthSDK的API設計也是受ECharts的啟發,會盡量減少不需要的API,減輕開發者的記憶負擔。只需要透過一個大JSON配置,就可以完成整個場景的搭建。

而且,EarthSDK比ECharts更進一步,可以直接修改相應的屬性,即可完成三維場景的動態變化。而ECharts則需要不停地呼叫setOption來進行配置。以後的文章中會詳細說明此特性。

EarthSDK並不影響原生Cesium API的呼叫

EarthSDK建立場景後,內建viewer和scene物件,使用者可以透過viewer或者scene來向場景中新增Cesium的原生物件,和呼叫所有原生的Cesium API函式。

樣例程式XbsjEarthUI

Cesium的擴充套件工具包-EarthSDK使用指南1

為了更易於理解EarthSDK的使用,我們開發了一個樣例程式 XbsjEarthUI(這個程式也同時整合到了CesiumLab中)。此樣例程式已經開源放在Github和Gitee上,基於MIT協議,使用者可以任意修改。

XbsjEarthUI在github上的地址:

https://

github。com/cesiumlab/Xb

sjEarthUI

XbsjEarthUI在gitee上的地址:

https://

gitee。com/cesiumlab/Xbs

jEarthUI

Cesium的擴充套件工具包-EarthSDK使用指南1

EarthSDK擴充套件了若干Cesium不具備的功能

影像糾偏

EarthSDK可以載入百度地圖、高德地圖等三十多種地圖資料,並可以做到實時糾偏。

Cesium的擴充套件工具包-EarthSDK使用指南1

影片融合

交通安防領域需要用到的影片監控、影片融合功能。可以將影片對映到傾斜攝影、BIM模型上(3dtiles模型),影片會覆蓋到非平面物體上,不會出現閃爍等現象。

Cesium的擴充套件工具包-EarthSDK使用指南1

編輯互動

針對模型位置、姿態進行編輯。方便進行多個模型資料組合使用。並且這裡的模型位置編輯可以很方便的在全球任意位置拖放。

Cesium的擴充套件工具包-EarthSDK使用指南1

建築群泛光特效

結合CesiumLab資料生產,使用EarthSDK調整資料後期亮度,可以做出較好的特效。方便進行大屏展示。

Cesium的擴充套件工具包-EarthSDK使用指南1

多視口方案對比

可以指定模型資料顯示在某一個視口,方便進行方案對比等操作。

Cesium的擴充套件工具包-EarthSDK使用指南1

地下模式和地表透明

Cesium的地面本身不能做到透明顯示,我們進行改進,使得透明度可以實時調節。

Cesium的擴充套件工具包-EarthSDK使用指南1

視域分析

動態實現視域分析效果。

Cesium的擴充套件工具包-EarthSDK使用指南1

路徑編輯

可以對路徑進行編輯,編輯好的路徑,可以用於控制相機的漫遊,也可以控制物體的移動。

Cesium的擴充套件工具包-EarthSDK使用指南1

改進的標籤

對原始Cesium的標籤效果進行改進,並可以使用類似html5標籤增加onClick屬性,來自動執行自定義操作。

Cesium的擴充套件工具包-EarthSDK使用指南1

歡迎關注

Cesium實驗室

,QQ群號:830157717。

Cesium的擴充套件工具包-EarthSDK使用指南1