当前位置:网站首页>WebGIS框架---kalrry
WebGIS框架---kalrry
2022-07-04 21:53:00 【kalrry】
WebGIS框架---kalrry
一、簡介
首先了解,WebGL是一種3D繪圖協議,只是一個標准,基於此標准,你可以寫出MapBox-GL,也可以寫出three-GL等框架,它們都是關於web端渲染三維圖形的(渲染)引擎
論難度,thingjs(框架)<threejs(引擎)<webgl(接口)
基於WebGL的3D技術在網頁中的運用 ThingJS常通過arcgis發布二維地圖或者三維地圖,然後在客戶端調用json實現webgl渲染。
二、為什麼我們需要WebGL?
因為html5雖然支持Canvas,但是只能在上面繪制二維圖形,所以需要WebGL來繪制三維圖形。
三、為什麼有了WebGL還需要mapbox-gl和three-gl?
因為WebGL基礎類庫就像C++裏面的基礎函數一樣,還需要再封裝一層,才能提供給各種用途的3D用戶使用。
四、WebGIS框架
1、OpenLayers----開源-2D
2、Leaflet----開源-2D
官網
Leaflet 是一個為移動設備地圖地圖而開發的現代的、開源的JavaScript 庫。它是由 Vladimir Agafonkin 帶領一個專業貢獻者團隊開發,雖然代碼僅有 38 KB,但它具有開發人員開發在線地圖的大部分功能。常用於2D地圖渲染
3、Arcgis----收費
- 簡介
官網
ArcGIS 是一個全面的系統,用戶可用其來收集、組織、管理、分析、交流和發布地理信息。作為世界領先的地理信息系統 (GIS) 構建和應用平臺,ArcGIS 可供全世界的人們將地理知識應用到政府、企業、科技、教育和媒體領域。ArcGIS 可以發布地理信息,以便所有人都可以訪問和使用。本系統可以在任何地點通過 web 瀏覽器、移動設備(例如智能手機和臺式計算機)來使用。 - 參考
參考1
4、Cesium----開源—優先選擇這個
簡介
介紹
官網
第三方中文網
Cesium 是一款面向三維地球和地圖的,世界級的JavaScript開源產品。它提供了基於JavaScript語言的開發包,方便用戶快速搭建一款零插件的虛擬地球Web應用,並在性能,精度,渲染質量以及多平臺,易用性上都有高質量的保證。如何使用
//1、npm方式安裝
npm install cesium
//2、或者直接官網下載
[官網下載](https://cesium.com/downloads/)
5、Mapbox----開源
- 簡介
中文官網
官網
Mapbox致力於打造全球最漂亮的個性化地圖。
在一次偶然的地圖相關資料搜索過程中發現了一個很神奇又很漂亮的地圖,這個地圖支持高度自定義各種地圖元素,比如,道路,水系,綠地,建築物,背景色,等等。Mapbox打造的Mapbox studio地圖制作虛擬工作室,就是一個很完美的地圖元素個性化編輯器。另外,我們也可以把自己項目的地理信息數據上傳到Mapbox雲端,然後在自己項目的客戶端展現出來。
Mapbox地圖數據來源於Open Street Map(OSM)等其他地圖數據供應商,和Google Map、Apple Map等地圖廠商的地圖數據來源差不多。 - 參考
教程參考
五、環境搭建
1、前言
WebGIS開發的形式有很多,比如有人用的是Arcgis for JS api開發,有人用的是OpenLayers進行開發,有人用MapboxGL開發,有人用Cesium進行開發。看看吧,這些開發形式都是不同的,但是都屬於WebGIS開發,都是使用接口進行開發,裏邊有封裝好的類的屬性和方法,只需要我們學會去調用做這些屬性和方法就行了。
WebGIS框架
這些地圖開發平臺,其中Arcgis for JS api不是開源的地圖開發平臺,而OpenLayers,MapboxGL,Cesium都是開源的地圖開發平臺。關於二三維地圖的開發,其中Cesium主要用於三維地圖開發,它在這方面的功能是比較强大的,當然它也可以做二維地圖的開發。而OpenLayers不支持三維地圖的開發,它只支持二維地圖的開發,MapboxGL和Arcgis for JS api 都是二維和三維都支持的,學習難度做對比起來的話,如果五顆星為滿級,學習Arcgis for JS api可以說有4星級別的難度,學習MapboxGL和OpenLayers應該有3星級的難度吧,學習Cesium是比較簡單的,網上有很多案例來供我們學習,學習起來兩顆星難度級別吧,但是只要掌握其中的門道,學習起來都是相對快的,而這也只是我們了解到的冰山一角。總結一下,需要學習和掌握的程度:
了解主流WebGIS框架,包括Openlayers, Cesium, MapboxGL, Leaflet, ArcGIS API for js
嘗試安裝1-2種框架。
2、環境搭建
配置參考----通過 leaflet、cesium、mapBox 創建地圖
六、擴展
1、QGIS----基於QT
2、了解Three.js
边栏推荐
- [weekly translation go] how to code in go series articles are online!!
- gtest从一无所知到熟练运用(1)gtest安装
- How was MP3 born?
- Redis has three methods for checking big keys, which are necessary for optimization
- [early knowledge of activities] list of recent activities of livevideostack
- new IntersectionObserver 使用笔记
- Lambdaquerywrapper usage
- Shutter WebView example
- 关系型数据库
- MYSQL 用!=查询不出等于null的数据,解决办法
猜你喜欢
【C语言】符号的深度理解
如何使用ConcurrentLinkedQueue做一个缓存队列
Sorting and sharing of selected papers, systems and applications related to the most comprehensive mixed expert (MOE) model in history
【C語言】符號的深度理解
Methods of improving machine vision system
Three or two things about the actual combat of OMS system
巅峰不止,继续奋斗!城链科技数字峰会于重庆隆重举行
Exclusive interview of open source summer | new committer Xie Qijun of Apache iotdb community
Arcgis 10.2.2 | arcgis license server无法启动的解决办法
Daily question -leetcode1200- minimum absolute difference - array - sort
随机推荐
Jerry's ad series MIDI function description [chapter]
[early knowledge of activities] list of recent activities of livevideostack
【活动早知道】LiveVideoStack近期活动一览
Jerry's ad series MIDI function description [chapter]
Jerry's ad series MIDI function description [chapter]
2022 version of stronger jsonpath compatibility and performance test (snack3, fastjson2, jayway.jsonpath)
Arcgis 10.2.2 | arcgis license server无法启动的解决办法
Golang面试整理 三 简历如何书写
电话加密,中间4为****代替
Numpy vstack and column_ stack
应用实践 | 蜀海供应链基于 Apache Doris 的数据中台建设
Monitor the shuttle return button
[C language] deep understanding of symbols
Shutter WebView example
Why do you have to be familiar with industry and enterprise business when doing Bi development?
Is it safe to open an account in the stock of Caicai college? Can you only open an account by digging money?
Analyzing the maker space contained in steam Education
Jerry's ad series MIDI function description [chapter]
HDU - 2859 Phalanx(DP)
Bookmark