WebGIS 三層架構(gòu)主要為展示層、地圖服務(wù)層、數(shù)據(jù)層,通過UML圖形進(jìn)行理解:
3D WebGIS是近期未來的方向,因?yàn)榇髷?shù)據(jù)可視化,最佳配合展示方式是3D地圖
地圖要素展示(建筑、路線信息),空間分析(最短路徑、最快路徑),數(shù)據(jù)分析可視化(交通實(shí)時(shí)情況),POI興趣點(diǎn)(附近景點(diǎn)、商家、美食等)。
Web服務(wù)器一般指網(wǎng)站服務(wù)器,簡(jiǎn)單的可以理解為,電腦上的文件資源,可以通過Web服務(wù)器部署后,讓通過因特網(wǎng)的人都能訪問預(yù)覽。
Nginx 和 Tengine服務(wù)器
目前行業(yè)上流行的,有些用戶基數(shù)的地圖JS庫,主要有:ArcGIS API for JavaScript、OpenLayers、Leaflet、Mapbox、maptalks.js
從圖中可以看出,地圖視圖支持2D/3D,3D的效果主要是 SceneView 類提供。
Leaflet 是一款輕量級(jí),用于移動(dòng)友好交互式地圖的JavaScript庫。輕量級(jí)的意思就是代碼總大小比較小。Leaflet利用HTML5和CSS3在現(xiàn)代瀏覽器上的優(yōu)勢(shì),同時(shí)也可以在舊瀏覽器上訪問。它可以通過大量插件進(jìn)行擴(kuò)展,具有漂亮的、易于使用的、文檔豐富的API,使用上也比較簡(jiǎn)單
可視化圖表庫常用有 Echarts、Highcharts、Chart.js、G2、D3.js等。其中Echarts和G2是國(guó)內(nèi)的,分別是百度和阿里,Highcharts商業(yè)使用需要收費(fèi),其他都是免費(fèi)。Echarts出來的畢竟早,推薦優(yōu)先使用,D3.js的話多用于復(fù)雜圖形和3D可視化效果。
前端工程化內(nèi)容主要有:前端規(guī)范化、模塊化、組件化、自動(dòng)化等.
然后到地圖圖層Layers,提供了豐富的類和接口,各種各樣的圖層要素,Graphic還是Geometry,還是柵格、圖片等都應(yīng)有盡有,我們可以通過這些接口去繪制圖形或者展示圖層元素、符號(hào)渲染等。
在工具組件Widgets提供了常用的控件,比如地圖的縮放,測(cè)量,打印等等;
查詢檢索 Tasks 里邊就是比較高級(jí)的分析功能了,這些分析功能大多基于地圖服務(wù),有最短路徑分析,緩沖區(qū)分析,幾何分析,空間要素查詢等等
ol本身沒有提供3D的功能,但官方團(tuán)隊(duì)有提供基于 ol+ Cesium的三維實(shí)現(xiàn),開源倉(cāng)庫見ol3-cesium。(Cesium是國(guó)外一個(gè)基于JavaScript編寫的使用WebGL的地圖引擎,可以簡(jiǎn)單認(rèn)為是一個(gè)Web端的三維球,然后提供了一些接口去展示渲染模型和地圖要素)