1、Leaflet
leaflet是常規的的最適合常規gis開發的地圖,因此核心功能就是“傳統GIS”功能.
優點
- 主流投影坐標支持:幾乎所有的主流投影坐標系都可以支持;
- 矢量表達:矢量專題圖,矢量空間分析,矢量瓦片,矢量可視化等矢量表達;
- 全樣式表達:可結合主流的互聯網可視化技術,如D3,Echarts,Mapv,幾乎主要的地圖的可視化表達都可以實現;
- 功能全,操作友好:功能全,插件豐富,社區生態完善.出現bug幾乎百度找到,對開發者友好;
- 跨平台:兼容大部分瀏覽器,跨平台強;
- 移動設備的支持:內部代碼框架設計的時候考慮到移動設備的支持.針對移動設備天然支持;
缺點
- 沒有使用webgl進行渲染,在可視化表達上差一點點;
- 沒有使用硬件加速,在數據量上沒有發揮硬件的最大效果;
2、Openlayers
openlayers強調的是老ie等瀏覽器的兼容性.
優點
- 主流投影坐標系支持:幾乎所有的主流投影坐標系都可以支持;
- 腳本一體化:功能全並且集成到官方腳本;
- ogc協議:幾乎是最遵循ogc協議的腳本了;
- 兼容性:兼容老的ie6789等疑難瀏覽器問題;
缺點
- 功能大而虛,很多功能有實現但是實際使用效果不理想;
- 可視化表達差勁;
- 內存釋放與優化差;
3、Mapbox GL
Mapbox GL主要是構建世界上最漂亮的地圖,因此核心功能就是一個“看”字.相關可視化庫還有:Kepler-GL、Echarts-GL
優點
- 高效矢量瓦片:真正高效實用的矢量瓦片;
- 頂級可視化:真正頂級的可視化渲染,mapboxGL,echartGL,KeplerGl等;
- 高清矢量圖形:真正頂級的高清矢量圖形繪制SVG,Canvas;
- 頂級互聯網技術加持:國內Baidu,國外Uber,Mapbox等頂級可視化巨頭技術加持;
缺點
- 只支持web墨卡托投影(EPSG:3857);
- 三維表達局限於高程和基本高程無法支持浮空真三維模型,這就是mapbox的關於三維的設置項叫做fill-extrusion而不是model的原因;
4、Cesium
Cesium強調的是BIM三維模型,傾斜攝影的表達,重點在於三維建模與時態模擬.
優點
- 傾斜攝影:支持傾斜攝影,地形,海洋環境等三維場景展現;
- BIM三維建模:支持BIM管網建模和3dx,gltf模型的展示;
- 時態表達:支持時態,時間播放,時間動畫,時空聚類等時空展現;
缺點
- 沒有類似unity的特殊光暈效果,雖然使用了webgl但效果平平;
- 自成體系的模型與幾何繪制策略,需要重新學習;
- 代碼過重,並且主視圖必須獲取頂級div,影響工程代碼結構;