GIS開發實戰圖譜

總結了GIS開發的技術棧,羅列了應該瞭解的內容。

算是比較大而全的了,分理論、規範、數據、算法、軟件、後端、前端、方向8個專項。

不求短期內全部都會,但還是一個比較好的學習框架和實踐索引,如果基礎好的話,兩三年達到入門水平,應該是沒有問題的吧,不過凡事,因人而異。

 

內容比較多,一個一個說吧。

 

一、理論

學好理論知識非常重要,尤其是GIS還是相對來說比較偏冷門的內容。

剛入門看不出來,但時間長了,基礎才決定一個人的技術之路能走多遠。

學理論和基礎,手頭需要備幾本專業書,誰知道網上找的是對是錯。

推薦《地理信息系統導論》、《測量學基礎》、《地圖學》等書。

當然一般會做GIS開發的,也是相關專業的人,上課好好學就行了。

(如果不是相關專業的,乾點別的不好嗎?)

另外,相關的法律法規也要了解,別問爲什麼。

https://www.zrzyst.cn/fgwj/index.jhtml

https://www.zrzyst.cn/gjbtdtzs/index.jhtml

要是覺得不夠的話,可以看下《武漢大學測繪專業本科專業課程》,總有一門課,會派上用場。

https://wenku.baidu.com/view/caf7acf6ec3a87c24128c46b.html

 

二、規範

熟悉理論知識後。

GIS開發主要看OCG規範,CIM是城市信息模型,BIM是建築物信息模型,這兩個都是城市建模相關的。

其餘的可以參考《webGIS開發背景知識索引--瓦片原理與數據規範等》https://zhuanlan.zhihu.com/p/144767787

如果做數據挖掘和算法,要多瞭解數據結構、數據規格、數據精度等方面內容,https://www.ogc.org/docs/as

瞭解規範,多看官網沒壞處:https://www.ogc.org/docs/is

 

 

三、數據

GIS開發數據是很重要的一項,如何獲取開源GIS數據,可參見《GIS數據源彙總》https://zhuanlan.zhihu.com/p/144792968

Postgresql、spatialite都是對GIS數據兼容比較好的數據庫,工程化應用可以使用postgresql,spatialite適合輕量級測試。

Postgresql官網:https://www.postgresql.org/

       PostGIS是postgresql最常用的空間拓展插件:www.postgis.org/

 

 

四、算法

說實話,GIS應用和實踐的書,能看的不多,GIS算法這塊,可以看科學出版社出版的Stephen Wise寫的《GIS數據結構與算法基礎》,中國工信出版社出版的Joel Lawhead寫的《Python地理空間分析指南》。

Java、Python、js的程序實現,可參見《GIS算法索引目錄》https://zhuanlan.zhihu.com/p/147689100。

GIS相關的算法一般都用在數據處理和建模上。

 

五、軟件

軟件的熟練程度,是考察一個GIS工程師的標準之一。

我們比較熟悉的GIS軟件是arcgis和supermap,但這兩個都是收費的商業軟件。

但一個行業要發展,開源是大勢所趨。

QGIS是一個跟arcgis功能差不多的開源GIS軟件,且有更好的拓展性。

如何使用QGIS,可參見《QGIS入門與簡單實用----索引目錄》https://zhuanlan.zhihu.com/p/138593960

GIS軟件很多,但底層原理都是一樣的,一通百通,arcgis、supermap、QGIS這種大而全的軟件,會一個就行了。

(不過,在GIS軟件領域,還是沒有能夠超越arcgis的存在。)

smark3D、benlder、3DMAX等,都是三維建模的軟件,可用於BIM、CIM和三維地圖的數據加工。

 

六、後端+前端

webGIS開發不太好區分前端後端,經常是順手都做了。

開發一定要實踐,只看,是看不會的。

新手入門,可以參考兩個示例。

一個是後端採用Java的springboot2框架,前端使用vue框架集成leaflet,數據庫使用postgresql的《從零開始,構建電子地圖網站----索引目錄》https://zhuanlan.zhihu.com/p/145423630。

這個寫得非常細,從軟件安裝到服務器部署,零基礎的可以照着做一遍。

另一個是後端採用Python django框架,地圖使用geoserver發佈,前端使用openlayer JavaScript庫的《webGIS實踐:geoserver+openlayer+django目錄索引》https://zhuanlan.zhihu.com/p/141644867。

這個相對來說,工程性弱一些,更偏重GIS技術實現,因爲有瓦片地圖發佈,還有座標系轉換、圖層設置的內容。

如果能獨立完成這兩個demo,說明webGIS開發入門了。

Arcgis和supermap都有全套的GIS開發環境,但這兩個都是商業軟件,完全封閉,不具備擴展性和移植性。不過這兩個軟件在GIS市場上的佔有率還是非常高的,尤其是企事業單位,有很多人用這兩個軟件做開發。

二維webGIS開發熟練後,可以接着學一學空間大數據可視化和三維地圖開發。

Geomesa:https://www.geomesa.org/

       cesium:https://cesium.com/cesiumjs/

      

 

 

 

七、方向

GIS開發,職業上區分爲兩個方向,webGIS開發和數據分析師。但webGIS開發目的也是爲了呈現數據,最好兩者都有些瞭解。GIS開發相對於通用的前後端開發來說,就業面會窄一些,天花板也會低一些,所以可以持續的學習計算機知識和熱門的程序框架,拓展一下職業廣度,工作一段時間後,根據自己的選擇,決定未來方向。

GIS開發的就業方向可以統分爲體制內外,體制內就是傳統地信測繪單位,加上接政府項目的GIS企業,這些地方使用商業軟件arcgis和supermap比較多。地圖廠商高德、四維圖新、騰訊、百度這樣的,會招一些GIS背景的產品經理、數據工程師,研發還是會招計算機相關專業的。不過出行、物流、網約車、購物平臺這些需要地圖服務的行業,會有一定的GIS研發需求。

隨着5G、航天航空、物聯網的發展,時空大數據可視化、三維地球建模,會是比較好的互聯網工程化方向。

遙感影像分析一直是學術領域的熱門。高精地圖、高精定位、自動駕駛前幾年是比較火的,但還是有很長一段路要走。

至於發展前景,時代是瞬息萬變的,個人努力很重要,選擇方向也很重要。保持對市場的敏銳,保持自己的競爭力,且行且珍惜吧。

 

八、總結

人需要保持持續學習的狀態,我們總有不會的東西,總有需要增進的地方。

GIS基礎薄弱,就買書看書補充基礎。

規範不瞭解,就去看OGC官網。

程序框架薄弱,就去學springboot或vue。

地圖審美不行,就多去欣賞。

只要下功夫,總會有進步。

漫漫長生,我們一路競跑,需要超越的,不是別人,而是自己。

今天的我,所能超越的僅僅是過去的我,希望將來的我,亦能超越今天的我。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章