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