從Mapbox的開源工具看Web GIS的發(fā)展
mapbox一直是我很喜歡的公司之一屯换。它的自由開放態(tài)度,前沿研究方向兵迅,讓很多GISer眼前一亮,讓他們找到學習或者工作的方向。
其實囱井,mapbox.js是leaflet.js的一個超集,所以不要再問我“l(fā)eaflet好用還是mapbox好用趣避?”這樣的愚蠢的問題庞呕。而mapbox現(xiàn)在也在開發(fā)關(guān)于Web GL的地圖業(yè)務(wù),當然它也不能將所有的業(yè)務(wù)都一口氣將瓦片地圖轉(zhuǎn)移至Web GL底圖程帕,因為現(xiàn)在瓦片地圖還是占很大一部分住练,特別是國內(nèi)。關(guān)于Mapbox GL這個方面愁拭,我真的才疏學淺讲逛,留作以后研究的材料。
插件
Mapbox創(chuàng)作或引用的開源工具都是經(jīng)過精心篩選過的岭埠,都極具代表性盏混。大部分都基于Python和Node.js蔚鸥,可以通過PyPI和npm下載得到,包括:
- Turf.js 基于前段JS的GIS空間分析工具
- Tippecanoe 通過大量GeoJson要素建立矢量瓦片
- Rasterio 整潔快速的柵格數(shù)據(jù)輸入輸出许赃,用于Numpy
- leaflet-omnivore 通用格式轉(zhuǎn)換器
- node-sqlite3 異步非阻塞對SQLite3的JS綁定接口
- tilelive 支持瓦片模塊間交互操作
- Carmen 支持包裝瓦片地圖數(shù)據(jù)的地理編碼
- mapnik-omnivore 基于Node的模塊止喷,返回空間文件源文件
- Mapnik 基于C++的庫,提供空間數(shù)據(jù)導入和渲染混聊,可渲染成為瓦片圖
- node-pre-gyp 基于Node.js的C++擴展交互
標準
mapbox提出的標準弹谁,包括:
- Mapbox 標準化矢量瓦片的信息
- Mapbox GL樣式 通過WebGL技術(shù)渲染地圖,以后專門討論一下
- MBTiles 其實沒什么句喜,通過SQLites去裝載瓦片圖预愤,聽說索引效率高
- TileJSON 其實沒什么,通過JSON去包裝瓦片地圖URL藤滥,比較簡潔
總結(jié)
這些開源的工具鳖粟,無一例外,代表了現(xiàn)代互聯(lián)網(wǎng)發(fā)展拙绊,GIS要基于瓦片地圖以及OpenGIS(例如WMS服務(wù)和GeoJSON)這種高效率的表現(xiàn)方式向图,相比之下,國內(nèi)三巨頭BAT的地圖服務(wù)遲遲不加入WMS的服務(wù)接入标沪,對國內(nèi)GIS行業(yè)貢獻十分有限榄攀。在知乎上,很多學生問道GIS的就業(yè)行業(yè)等金句,我覺得重點已經(jīng)不在ArcGIS Engine等應(yīng)用開發(fā)檩赢,而是網(wǎng)絡(luò)開發(fā)。不是商業(yè)軟件的使用违寞,而是開源組件的開發(fā)贞瞒,原因很簡單,因為不是所有公司都用的起ArcGIS的正版軟件趁曼,從事商業(yè)用途還是最好使用正版军浆。國內(nèi)有些老師不過是為了完成自己的項目,并沒有考慮到市場的需求挡闰。綜上所述乒融,我推薦大家應(yīng)該更多的轉(zhuǎn)向python或者Node.js的頂層開發(fā),底層則是C語言的架構(gòu)體系摄悯。
參考知乎問答--大學 GIS 課只教你怎么使用 ESRI 的 ArcGIS赞季,是好還是不好?不好的話應(yīng)該怎么上奢驯?
轉(zhuǎn)載沙兰,請表明出處脸爱。總目錄Awesome GIS