GIS開(kāi)發(fā)|三維GIS開(kāi)發(fā)之cesium教程項(xiàng)目實(shí)戰(zhàn)01

一、介紹
MapGIS 3DClient for WebGL,即MapGIS Client for JavaScript(Cesium),是一款基于開(kāi)源三維地圖框架Cesium開(kāi)發(fā)的跨瀏覽器端二次開(kāi)發(fā)產(chǎn)品,零插件、簡(jiǎn)單、易開(kāi)發(fā)、易擴(kuò)展,用戶(hù)可以通過(guò)該產(chǎn)品輕松構(gòu)建功能強(qiáng)大的城市、城市群級(jí)別的全空間真三維Web應(yīng)用。

????MapGIS Client for JavaScript(Cesium) SDK是一套基于Cesium的三維WebGIS開(kāi)發(fā)庫(kù),無(wú)縫對(duì)接MapGIS云存儲(chǔ)、云GIS服務(wù)器、云應(yīng)用等產(chǎn)品,在原生Cesium的基礎(chǔ)上進(jìn)行擴(kuò)展,融合了專(zhuān)業(yè)的MapGIS全空間GIS、大數(shù)據(jù)GIS、智能GIS能力,為全空間二三維一體化Web應(yīng)用提供JavaScript功能接口,可幫助您快速構(gòu)建三維WebGIS應(yīng)用。
MapGIS Client for JavaScript (Cesium) SDK包含了三維WebGIS開(kāi)發(fā)所需的開(kāi)發(fā)庫(kù)、API、示例等,結(jié)合司馬云開(kāi)發(fā)世界資源中心的配套開(kāi)發(fā)資源,以及云聽(tīng)社區(qū)、開(kāi)源社區(qū)GitHub?、Gitee,助力開(kāi)發(fā)者高效開(kāi)發(fā)。
Cesium
????Cesium是一個(gè)用于顯示三維地球和地圖的開(kāi)源JavaScript庫(kù),是一個(gè)使用WebGL的地圖引擎。支持球面、平面模式的二三維地圖展示,提供良好的三維圖形標(biāo)繪與交互功能,以及場(chǎng)景模擬表達(dá)能力,具有最佳的性能、精度、視覺(jué)質(zhì)量和易用性。從航空航天到智能城市再到無(wú)人機(jī),各個(gè)行業(yè)的開(kāi)發(fā)者都在使用Cesium來(lái)創(chuàng)建交互式Web應(yīng)用程序,來(lái)共享動(dòng)態(tài)地理空間數(shù)據(jù)。使用Cesium可顯示海量三維模型數(shù)據(jù)、影像數(shù)據(jù)、地形高程數(shù)據(jù)、矢量數(shù)據(jù)等,三維模型格式支持gltf、三維瓦片模型格式支持3d tiles;矢量數(shù)據(jù)支持geojson、topojson格式;影像數(shù)據(jù)支持wmts等;高程支持STK格式。
詳情請(qǐng)參考Cesium官網(wǎng)地址
資源下載
????MapGIS Client for JavaScript為開(kāi)源產(chǎn)品,可從司馬云-云開(kāi)發(fā)世界下載正式發(fā)布的產(chǎn)品包,也可從開(kāi)源社區(qū)(Gitee、GitHub)直接拉取。
????MapGIS官方下載地址:http://smaryun.com/dev/download_detail.html#/download828
????GitHub 托管地址:https://github.com/MapGIS/WebClient-JavaScript
????Gitee 托管地址:https://gitee.com/osmapgis/WebClient-JavaScript
開(kāi)發(fā)環(huán)境
????MapGIS Client for JavaScript產(chǎn)品已開(kāi)源不收取費(fèi)用,開(kāi)發(fā)者可自行下載開(kāi)發(fā)資源。
????基于MapGIS服務(wù)器產(chǎn)品的WebGIS系統(tǒng)應(yīng)用開(kāi)發(fā),開(kāi)發(fā)免費(fèi),商用收費(fèi)。對(duì)系統(tǒng)硬件環(huán)境沒(méi)有特別要求,操作系統(tǒng)支持Microsoft Windows系列,包括Win7、Win8、Win10、Win Server2003、Win Server2008、Win Server2012、Win XP等,以及Linux 系列,包括redHat、ubuntu、centos等操作系統(tǒng),均支持32位與64位機(jī)器。一般需要依次安裝配置下列軟件環(huán)境:
MapGIS開(kāi)發(fā)平臺(tái):
MapGIS IGServer .NET版:獲取MapGIS IGServer .NET x64 for Windows開(kāi)發(fā)包,軟件安裝詳細(xì)說(shuō)明請(qǐng)參見(jiàn)《MapGIS IGServer .NET安裝使用說(shuō)明》;
MapGIS IGServer(九州)版:九州版服務(wù)器產(chǎn)品暫無(wú)開(kāi)發(fā)版本,請(qǐng)?jiān)囉谜桨鍹apGIS IGServer(九州)安裝包,詳細(xì)安裝說(shuō)明請(qǐng)參見(jiàn)《MapGIS IGServer(九州)操作手冊(cè)》。
集成開(kāi)發(fā)環(huán)境:
.NET版:安裝Microsoft Visual Studio(2015及以上)、Visual StudioCode等IDE;
Java版:安裝JDK,Eclipse/MyEclipse、WebStorm等IDE。
開(kāi)發(fā)授權(quán)
????您可以通過(guò)訪問(wèn)司馬云官方網(wǎng)站獲得開(kāi)發(fā)者授權(quán)。申請(qǐng)免費(fèi)開(kāi)發(fā)授權(quán)請(qǐng)看幫助中心目前提供免費(fèi)云開(kāi)發(fā)授權(quán)與硬KEY開(kāi)發(fā)授權(quán)兩種模式,開(kāi)發(fā)者可結(jié)合實(shí)際應(yīng)用需求選用。
免費(fèi)云開(kāi)發(fā)授權(quán)需要在有網(wǎng)環(huán)境下使用
硬KEY可在離線(xiàn)環(huán)境下完成授權(quán)。
開(kāi)發(fā)SDK
開(kāi)發(fā)包
????MapGIS Client for JavaScript(Cesium) SDK,含三維WebGIS開(kāi)發(fā)所需的開(kāi)發(fā)庫(kù)、API、示例、文檔等資源,均集成在MapGIS Client for JavaScript產(chǎn)品門(mén)戶(hù)中。
開(kāi)發(fā)庫(kù)
????MapGIS Client for JavaScript (Cesium)為用戶(hù)提供了專(zhuān)業(yè)的三維WebGIS 客戶(hù)端開(kāi)發(fā)庫(kù),同時(shí)對(duì)接大數(shù)據(jù)應(yīng)用提供相關(guān)功能接口,旨在幫助用戶(hù)快速構(gòu)建內(nèi)容豐富、響應(yīng)迅速、美觀流暢,具有良好用戶(hù)體驗(yàn)的WebGIS系統(tǒng)應(yīng)用。

開(kāi)發(fā)API
????MapGIS Client for JavaScript為用戶(hù)提供離在線(xiàn)API(應(yīng)用程序編程接口),開(kāi)發(fā)者可以通過(guò)API查找學(xué)習(xí)MapGIS提供的實(shí)現(xiàn)功能的方法。
MapGIS Client for JavaScript(Cesium) API
Cesium API(MapGIS擴(kuò)展的Cesium參考)
MapGIS IGServer REST API(服務(wù)端API參考)
Cesium API(原生參考)
開(kāi)發(fā)示例
????MapGIS Client for JavaScript(Cesium)為用戶(hù)提供了功能全面的接口示例與配套文檔,支持離在線(xiàn)訪問(wèn),源碼與效果可共同展現(xiàn),同時(shí)提供即時(shí)編輯與運(yùn)行功能,可以幫助您進(jìn)行高效開(kāi)發(fā)。
在線(xiàn)使用:MapGIS Client for JavaScript (Cesium)示例
離線(xiàn)使用:方式一,可在云開(kāi)發(fā)世界下載MapGIS Client for JavaScript開(kāi)發(fā)包,解壓后按說(shuō)明步驟發(fā)布即可;方式二,可通過(guò)開(kāi)源社區(qū)拉取整套源碼,然后編譯運(yùn)行,此略

開(kāi)發(fā)模式
????針對(duì)WebGIS應(yīng)用開(kāi)發(fā),有以下幾種開(kāi)發(fā)模式:
方式一:基于MapGIS IGServer等云GIS服務(wù)器提供的服務(wù)資源,使用MapGIS Client for JavaScript二次開(kāi)發(fā)庫(kù)的核心庫(kù),采用傳統(tǒng)開(kāi)發(fā)方式-H5原生JS方式構(gòu)建您的應(yīng)用系統(tǒng)
方式二:以H5原生JS開(kāi)發(fā)方式為基礎(chǔ),遵循統(tǒng)一的開(kāi)發(fā)標(biāo)準(zhǔn)規(guī)范,將應(yīng)用開(kāi)發(fā)拆分為“開(kāi)發(fā)框架+功能插件”方式,并通過(guò)橋梁(標(biāo)準(zhǔn)的JSON配置文件)進(jìn)行動(dòng)態(tài)銜接,即“縱生”式開(kāi)發(fā)方式
方式三:采用組件式Vue開(kāi)發(fā)方式,該方式將提供豐富的Vue組件資源,全面提升開(kāi)發(fā)效率
三方產(chǎn)品
第三方依賴(lài)產(chǎn)品:
????

?

?

?

?

Cesium:用于顯示三維地球和地圖的開(kāi)源JavaScript庫(kù),基于WebGL的地圖引擎(https://cesium.com/platform/cesiumjs/)
ECharts:基于 JavaScript 的開(kāi)源可視化圖表庫(kù)(https://echarts.apache.org/zh/index.html)
MapV:地理信息可視化開(kāi)源庫(kù)(https://mapv.baidu.com/)
Turf:客戶(hù)端空間分析開(kāi)源庫(kù)(https://turfjs.org/)
D3:基于Web標(biāo)準(zhǔn)的JavaScript圖形可視化庫(kù)(https://d3js.org/)
關(guān)注我一下ba