最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

WebGIS入門實戰(zhàn)(03):WebGIS 開發(fā)常用的地圖JS庫 (持續(xù)更新中)

2023-09-01 11:52 作者:GIS有出路  | 我要投稿

本章主要介紹目前行業(yè)上流行的,有些用戶基數(shù)的地圖JS庫,主要有:ArcGIS API for JavaScript、OpenLayers、Leaflet 、Mapbox、maptalks.js等。額外還介紹一些可視化前端統(tǒng)計圖表庫,因為 在GIS行業(yè),很多公司有做數(shù)據(jù)統(tǒng)計,或者做 大數(shù)據(jù)的項目,圖表展示是必不可少的。

ArcGIS API for JavaScript

ArcGIS API for JavaScript 是 ESRI 公司針對ArcGIS產(chǎn)品,提供基于Web的JavaScript地圖庫,目前版本已經(jīng)更新到4.10 ,支持開發(fā)2D,3D的地圖web app,詳情介紹見官方首頁。以下是簡 單列舉ArcGIS API for JavaScript主要的功能API。

從圖中可以看出,地圖視圖支持2D/3D,3D的效果主要是 SceneView 類提供。然后到地圖圖層Layers,提供了豐富的類和接口,各種各樣的圖層要素,Graphic還是Geometry,還是柵格、 圖片等都應有盡有,我們可以通過這些接口去繪制圖形或者展示圖層元素、符號渲染等。在工具組件Widgets提供了常用的控件,比如地圖的縮放,測量,打印等等;查詢檢索 Tasks 里邊就是 比較高級的分析功能了,這些分析功能大多基于地圖服務,有最短路徑分析,緩沖區(qū)分析,幾何分析,空間要素查詢等等。ArcGIS 軟件里邊有的分析功能,相信ESRI都會慢慢的搬運到Web 中實現(xiàn),就如同云端的ArcGIS。

總結(jié),如同ArcGIS Desktop系列軟件在GIS業(yè)界的口碑一樣, ArcGIS API for JavaScript 提供的功能實現(xiàn)接口很強大,畢竟ESRI是GIS行業(yè)的領頭者。缺點可能就是商業(yè)要付費的,對于商業(yè) 使用需要購買版權(quán)。對于個人非商業(yè)使用和學生學習來說,可以免費隨意使用。不管怎么樣,你要是走WebGIS開發(fā)方向,此JS庫你是必然要學習了解一下的。

OpenLayers

OpenLayers 是業(yè)界比較出名的開源JavaScript地圖庫,早期版本叫openlayers2(簡稱ol2),在3.0版本后經(jīng)過重寫過,就默認為OpenLayers3,簡稱ol3,源碼開源,見 githubopenlayers/openlayers,以下簡稱為ol。

Openlayers的優(yōu)勢在于開源免費,也提供了簡單方便的api,二維地圖上的功能,ol基本都可以實現(xiàn),滿足用戶的要求,因為開源,所以業(yè)界使用得比較多,國內(nèi)較多的公司都會選擇ol去二 次開發(fā),封裝定制,或者說是模仿ol的實現(xiàn),自己搞一套,比如超圖、天地圖就是如此。

ol本身沒有提供3D的功能,但官方團隊有提供基于 ol+ Cesium的三維實現(xiàn),開源倉庫見ol3-cesium。(Cesium是國外一個基于JavaScript編寫的使用WebGL的地圖引擎,可以簡單認為是 一個Web端的三維球,然后提供了一些接口去展示渲染模型和地圖要素)。

總結(jié),GIS業(yè)界的公司,一般想多賺一些錢的話,都會選擇自己整一套平臺出來,所以,很多會選擇ol,而更少的選用ArcGIS系列。OpenLayers也是作為 WebGISer 必學的JS庫。

Leaflet.js

Leaflet 是一款輕量級,用于移動友好交互式地圖的JavaScript庫。輕量級的意思就是代碼總大小比較小。Leaflet利用HTML5和CSS3在現(xiàn)代瀏覽器上的優(yōu)勢,同時也可以在舊瀏覽器上訪 問。它可以通過大量插件進行擴展,具有漂亮的、易于使用的、文檔豐富的API,使用上也比較簡單。

同 OpenLayers 一樣,開源就會有更多的人選擇,另外 Leaflet 輕量易用的特性,使得很多Web應用或者GIS應用在做簡單的地圖展示的時候,都會優(yōu)先選擇。

總結(jié),如果你是初學者,你選擇Leaflet先學習可能會更容易上手做WebGIS應用,輕量易用,也有較多的開源插件,方便集成使用。

Mapbox

Mapbox專注于Mobile與Web應用的地圖體驗,有自己定義的地圖樣式、地圖業(yè)務,該公司也創(chuàng)建開源了很多的開源工具,同時也專注于Web GL方向,比如Mapbox GL在3D GIS渲染上效果很好??梢哉J為 Mapbox 是 Leaflet 的一個超級,增強版。官方提高包裝好的移動端SDK集成,文檔也比較詳細,對開發(fā)者友好。一些使用Mapbox開發(fā)的地圖可視化的DEMO也比較酷炫。

maptalks.js

maptalks.js也給大家介紹一下,專注于2D/3D地圖可視化,可以官方多了解。

其他地圖JS庫

超圖也有自己得一套,之前說了超圖根據(jù)參考openlayers自己實現(xiàn)一套地圖JS庫,同理天地圖。其他的還有百度地圖API、高德地圖API、騰訊地圖API,這些網(wǎng)絡地圖也可以開發(fā)一些基本的 WebGIS系統(tǒng),對應的官方文檔也有在線demo體驗效果,可以多了解一下。在一些非專業(yè)做WebGIS應用的其他行業(yè),基本都會選擇以上三者之一去對接地圖功能,比如導航、POI興趣點搜索(商家、景點)這些,因為高德地圖這種網(wǎng)絡地圖接口,提供了很多基礎數(shù)據(jù),類似道路,學校點、商家、景點等,這種數(shù)據(jù)要自己搞到并一直維護最新是很高的成本的,所以偏這種功 能分享的應用,基本都選擇這三家網(wǎng)絡地圖做對接,也比較簡單和滿足要求。個人選擇喜好優(yōu)先級:高德地圖> 百度地圖> 騰訊地圖。


可視化圖表庫

可視化圖表庫常用有 Echarts、Highcharts、Chart.js、G2、D3.js等。其中Echarts和G2是國內(nèi)的,分別是百度和阿里,Highcharts商業(yè)使用需要收費,其他都是免費。Echarts出來的畢竟早,推薦 優(yōu)先使用,D3.js的話多用于復雜圖形和3D可視化效果。如截圖是使用Echart實現(xiàn)的一個大數(shù)據(jù)展示大屏頁面。

大數(shù)據(jù)大屏系統(tǒng)

本章小結(jié)

本章主要介紹了ArcGIS API for JavaScript、OpenLayers、Leaflet、Mapbox、maptalks.js等地圖JS庫的特點,讓開發(fā)人員有基本的了解認識,選擇自己合適的JS庫去學習練手。這里給開發(fā)者的建議是,選擇自己喜歡的就行,程序開發(fā)思想最后都是相通的,初級、中級開發(fā)工程師,主要是鍛煉自己的編程能力和編碼邏輯思維、以及業(yè)務思維,不管哪個JS庫,只要你很熟悉其一,理解夠了,你轉(zhuǎn)向使用別的JS庫上手也是比較快的。做系統(tǒng)、項目開發(fā)的時候,會根據(jù)真實的業(yè)務場景,選擇解決業(yè)務的技術(shù)方案,可能是解決業(yè)務技術(shù)的痛點,也可能是為了省錢賺更多的錢。總之都是有目的的去選型的,初學者的目標就是把技術(shù)用熟練,舉一反三,結(jié)合業(yè)務鍛煉自己,當你有足夠的能力去思考技術(shù)選型,你會看透這些JS庫。

本章主要介紹目前行業(yè)上流行的,有些用戶基數(shù)的地圖JS庫,主要有:ArcGIS API for JavaScript、OpenLayers、Leaflet、Mapbox、maptalks.js等。額外還介紹一些可視化前端統(tǒng)計圖表庫,因為 在GIS行業(yè),很多公司有做數(shù)據(jù)統(tǒng)計,或者做大數(shù)據(jù)的項目,圖表展示是必不可少的。

(持續(xù)更新中.....)

WebGIS入門實戰(zhàn)(03):WebGIS 開發(fā)常用的地圖JS庫 (持續(xù)更新中)的評論 (共 條)

分享到微博請遵守國家法律
五大连池市| 寻甸| 广州市| 虞城县| 长垣县| 巨野县| 宜黄县| 罗江县| 剑河县| 卓尼县| 高平市| 临江市| 德州市| 沧州市| 辽阳市| 黄山市| 威海市| 甘孜县| 昆明市| 鹿泉市| 镇沅| 奇台县| 渭源县| 历史| 遂溪县| 南和县| 彰化市| 两当县| 竹北市| 贵州省| 永寿县| 潼南县| 深圳市| 云南省| 凯里市| 上饶市| 甘孜| 会同县| 富平县| 莲花县| 镇宁|