地理空間資料或簡稱GIS資料,無論是學術研究、資料科學、商業分析、或是各種資料採集等,或多或少都需要與空間資料相處。
或許各路GIS相關的工作者,常會覺得明明空間資料
與非空間資料
差異只在於有無坐標資料,但實際處理起來卻常常遇到各種坑苦。
有感於此,希望藉由這次鐵人賽
的砥礪,攻略實務上處理GIS資料時更進階
及更自動化
的工具與技巧。
這次30天的任務,主要以
Python
為主軸,配合QGIS
及空間資料庫
,熟悉GIS工作的自動化
流程,解決空間資料分析或是資料工程上的問題。
雖然QGIS及ArcGIS中,也支援Python程式的包裝PyQGIS與ArcPy,使用者可以撰寫程式、拉Model或是Macro等,在許多情境下,已經可以解決大多數問題。
然而GIS資料常是眾多資料流的一部分,以軟體架構角度如果資料流必須跳到另外一個軟體或環境執行,總是覺得不太順遂。因此這30天挑戰的目標將是以Coding方式處理GIS資料,主要是利用Python作為資料分析的語言,當然也會加入一些軟體的輔助。
GIS軟體儘管好用,但若GIS資料是一個資料流的一部分,不允許中斷另以其它軟體做處理,此時,動手寫程式處理GIS資料是必須的,有些時候,撰寫程式會比操作軟體還要方便一些!
目標架構
在起始階段,原本先構想先規劃一下30天中每一天的目標,但仔細想想,常常寫到一半會發現新多東西或挑戰,很難一次定義清楚每日目標,但整個範疇應該會包含:
- Python 基本GIS資料處理
- 資料視覺化
- 空間資料庫
- 結合各種資料集
- GIS資料採集
- GIS資料分析
開發環境
這30天的挑戰會有一些程式碼案例,如果對提供的案例有興趣,歡迎自行測試,測試的環境為Python3,若沒有Python環境建置相關經驗,建議使用Annaconda建置Python3環境,使用Jupyter Notebbook作測試,詳細過程可以參考:
[第 01 天] 建立開發環境與計算機應用 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天