席 振 熊立偉 劉芬良
(湖南城市學院市政與測繪工程學院,湖南 益陽 413000)
與起源于貝爾實驗室的S 語言相似,R 是一種統計計算和繪圖的語言和環境。 R 有很多獨有的特征:完全免費,制圖功能十分強大,囊括了其他軟件所不可用的、與時俱進的統計計算程序[1]。 在很多高等院校多種專業都開設了R 語言相關的課程。
地理信息科學專業旨在培養學生適應信息時代發展和“互聯網+”社會需求,掌握寬厚的地理信息科學與地圖學的基本理論、基本知識和基本技術。 具備數據采集、編輯、處理和分析以及地理信息系統應用開發能力,能在城市規劃、國土資源以及測繪和地理信息行業的企事業單位和政府相關部門從事數據采集、處理、分析以及應用開發等工作。
R 語言在以下3 個方面與地理信息科學專業緊密關聯:基于地理位置的可視化;空間統計分析;大數據與機器學習。 機器學習是研究計算機模擬或實現人類的學習行為,以獲取新的知識和技能,重新組織已有的知識結構不斷改善自身性能。 設計多學科知識,如統計學、概率論、算法復雜度理論等,是當前和今后一段時間持續的一個研究熱點。 R 語言中的機器學習函數包從古典的判別分析、 貝葉斯方法到神經網絡、深度學習等,覆蓋全面,更新以周為單位。 在地理信息科學中,對空間數據的分析、模擬和再現是地理信息科學重要的一環。 當前,GIS 自我學習的能力還不足,自我檢驗與驗證是各類地學數據分析的重要研究內容之一。 基于機器學習的空間數據分析技術與應用包含數據的建模與分析、空間優化、智能主體模擬等,可以充分地與R 語言中機器學習算法函數包相結合,以提高效率,提高精度[2-3]。
目前地理信息科學專業的《R 語言》課程主要基于數據挖掘的方向進行課程設計,實踐內容以R 的基礎入門、基礎數據處理、數據分析建模為主,數據模型實踐課程包括回歸分析、聚類分析以及基礎數據可視化。 實踐教學中主要存3 個問題:(1)基礎統計分析方法實踐內容設置較多。 (2)數據分析模型所用數據及函數包存在滯后性,R 中函數擴展包的更新是以周為單位,每次更新會有新的函數包加入,也會有部分函數包剔除出R 的官方擴展庫中。R 的版本更新較為頻繁,函數包在R 更新過程中,如果函數包作者維護不及時會出現函數包在新版本R 中無法加載使用的情況,需要安裝并轉換不同版本的R 軟件,需要及時更新R 的擴展函數包。 如實踐課程可視化的課程設置中,交互式地圖的函數包leafletR 是由Christian Graul等人開發和維護的leaflets 的R 語言接口, 其提供基本的在線地圖 (如 Google Map、OpenStreetMap) 可視化,支持瓦片地圖、矢量數據、GeoJSON 等數據的地圖交互式操作,是與地理信息科學專業結合很重要的一個函數包,但隨著R 版本的更新,leafletR 與leaflets 加載發生沖突,可視化中函數已無法使用,亟須作者對這兩個函數包進行合并、修改并發布出來[4]。 (3)缺少地理信息科學專業的實驗數據和內容。 如對空間數據在R 中的數據結構與空間可視化、與WebGIS 結合的交互式空間數據表達、空間數據探索性分析等內容均沒有教好的數據支撐實踐課程設置。
GIS 專業設置的《R 語言》課程中理論內容包括基礎可視化與空間數據表達、 空間數據處理與分析、簡單的大數據挖掘模型。 圍繞這4 塊內容,16 個課時的實踐課程設置為:數據結構與基礎編程語法(2 課時);基礎數據讀寫與數據處理(2 課時);統計數據可視化(2 課時)。與GIS 專業緊密結合的實踐課程設計:空間數據結構與數據分析(2 課時);空間數據可視化與交互式可視化(2 課時);線性回歸與空間數據探索性分析(2 課時);選址與預測綜合分析(4 課時)。
其中,空間數據結構與分析,以常用的矢量數據空間分析為主,如緩沖區分析、疊置分析等。 以函數包sp 和 rgeos 為主,sp 定義空間數據在 R 中的基本結構,rgeos 提供大量空間分析的函數, 基本涵蓋Arcgis軟件中空間分析的絕大部分功能。
空間數據交互式可視化中結合在線地圖,利用R在地圖可視化方面大量優秀的函數包進行可視化。 如GISTools 包提供多個常用的地圖制圖和空間數據處理工具, 具有完善的綜合制圖功能。 recharts 包是基于Echarts 接口的交互式可視化二次開發地圖可視化包。leaflet 包提供基本的在線地圖 (如 Google Map、OpenStreetMap)可視化功能,支持地圖的交互式操作,支持不同來源地學信息的疊加可視化。
空間數據探索性分析實踐包括空間自相關和地理加權回歸模型,是課程的特色內容。 R 作為專業的統計軟件,在數據分析中,可以快速一鍵式的完成定性分析到定量分析。 空間地學數據除了具有一般數據的數學特征外, 還具有空間地理特征的屬性,R 語言有許多可以一鍵式快速分析空間數據的空間統計分析函數工具包。 另外,R 語言由于語言的特性,對處理數據的規模大小不敏感,這是顯著優于其他的空間統計軟件。如spdep 是空間決定性工具包,包括空間權重矩陣計算、空間自相關分析、空間濾波模型等空間統計分析數據,功能十分強大。 GWmodel 包是空間關系異質性地理加權技術函數包,囊括了地理加權相關的回歸、主成分分析、匯總統計、判別分析等地理加權建模技術,是當前地理學中研究熱點和研究難點之一[4]。
四個課時的選址選擇與預測綜合分析根據不同學期提出不同的實驗內容。 相同的是都盡量引導學生接觸較新的相關算法, 緊隨人工智能技術的發展現狀。 相關算法可能當前在地理學中的應用不多,成功的案例相對難以尋找,指導教師可以通過閱讀查找多本教材及參考文獻,總結一些最新的應用案例,與經典算法相互比較, 將這些內容融入R 語言實踐教學中。 如在林業數據信息的深度挖掘分析中,深度學習算法自主學習多元高維復雜數據執行分類、預測和模式識別等任務中如何發揮作用[5]。 如在當前使用頻率較高的Sentinel-2 號數據中, 對影像數據進行土地利用分類識別,可以使用面向對象結合隨機森林模型的方法提高識別準確率與效率。 因此,指導教師需要時刻關注新算法在地理信息科學中的使用動態,總結最新的內容并將其融入R 語言實踐中,提升學生今后在工作中自主學習的能力。
基于R 語言在統計學、可視化及強大的擴展性方面的性能,在地理信息科學專業開設R 語言的課程十分必要。 我校從2019 年在地理信息科學專業開設R語言課程,一直在探索中對這門課程的講授內容與實踐內容進行改革,教學內容以引導性為主,啟發學生利用R 語言解決地理空間大數據方面的問題,引導學生從不同方向跟隨自己的興趣對R 語言進行探索。為鍛煉本科學生使用R 語言動手解決地理信息科學中所遇到的實際問題的能力, 提高本科教育教學質量,本文針對GIS 專業《R 語言》教學內容,著力增加與空間數據處理有關的實踐課程內容,并設置一定的新型算法實踐內容, 添加空間數據與機器學習相結合實踐,有效解決地理信息科學專業背景下《R 語言》課程脫離專業實際存在的問題。