劉星根 吳則禹
江西理工大學(xué)土木與測(cè)繪工程學(xué)院 江西贛州 341000
開(kāi)放科學(xué)在當(dāng)前科技創(chuàng)新發(fā)展中具有重要影響。在全球氣候變化挑戰(zhàn)和人類(lèi)可持續(xù)發(fā)展切實(shí)需求下,共同建設(shè)人類(lèi)命運(yùn)共同體、創(chuàng)建人與自然和諧共生的地球環(huán)境,進(jìn)一步凸顯了加強(qiáng)國(guó)際合作、建設(shè)開(kāi)放科學(xué)的緊迫性和重要性。開(kāi)放科學(xué)的定義目前仍舊缺乏廣泛的共識(shí)。早期邁克爾·尼爾森提出了一個(gè)非正式的開(kāi)放科學(xué)定義,開(kāi)放科學(xué)是盡快實(shí)現(xiàn)科學(xué)發(fā)現(xiàn)過(guò)程中的科學(xué)知識(shí)共享的理念[1]。維基百科定義為社會(huì)各群體包括專(zhuān)門(mén)研究人員和公眾都可自由獲取科學(xué)研究、數(shù)據(jù)、傳播科學(xué)知識(shí)的活動(dòng)。歐盟委員會(huì)指出,開(kāi)放科學(xué)為通過(guò)數(shù)字工具、網(wǎng)絡(luò)和媒體實(shí)施、傳播科研并轉(zhuǎn)變科學(xué)研究的方式,促進(jìn)科學(xué)過(guò)程更加高效、透明和有效[2]。盡管目前缺乏統(tǒng)一的開(kāi)放科學(xué)的定義,但不同研究者或行業(yè)的開(kāi)放科學(xué)概念中均蘊(yùn)含著“自由、開(kāi)放、合作、共享”的開(kāi)放科學(xué)理念[3]。
實(shí)際上,開(kāi)放科學(xué)的思想和實(shí)踐由來(lái)已久。1665年英國(guó)皇家學(xué)會(huì)創(chuàng)辦《哲學(xué)通報(bào)》時(shí)強(qiáng)調(diào),所有的新發(fā)現(xiàn)應(yīng)盡可能地在更大范圍內(nèi)傳播[1]。20世紀(jì)90年代以來(lái),出版界興起以自由擴(kuò)散科學(xué)知識(shí)為核心的開(kāi)放獲取運(yùn)動(dòng),2002年形成布達(dá)佩斯開(kāi)放獲取倡議,是開(kāi)放科學(xué)領(lǐng)域的重要事件。開(kāi)放數(shù)據(jù)的發(fā)展以2009年美國(guó)政府的開(kāi)放數(shù)據(jù)門(mén)戶(hù)網(wǎng)站(data.gov)上線為標(biāo)志,助推了各國(guó)科學(xué)研究進(jìn)程,比如美國(guó)陸地資源衛(wèi)星的開(kāi)放獲取促進(jìn)了各國(guó)資源開(kāi)發(fā)利用、環(huán)境監(jiān)測(cè)、生態(tài)管理等方面的研究。
開(kāi)放科學(xué)背景下地方高校GIS專(zhuān)業(yè)教學(xué)改革面臨新的形勢(shì),本文以“Python與開(kāi)源GIS”課程為例,探究開(kāi)放科學(xué)理念與開(kāi)源GIS關(guān)系,分析Python語(yǔ)言特征及其在開(kāi)源GIS中的應(yīng)用,為高校GIS專(zhuān)業(yè)教學(xué)改革提供參考。
開(kāi)放科學(xué)不是空洞的理論名詞,它由與開(kāi)放研究相關(guān)的多要素構(gòu)建而成。比如目前蓬勃發(fā)展的開(kāi)放獲取、開(kāi)放數(shù)據(jù)、開(kāi)放評(píng)審等。盛小平和楊智勇[1]指出開(kāi)放科學(xué)涉及開(kāi)放研究生命周期的一系列問(wèn)題,其中最重要的是:開(kāi)放獲取、開(kāi)放數(shù)據(jù)、開(kāi)源軟件、可復(fù)制的研究、開(kāi)放同行評(píng)審、開(kāi)放科學(xué)政策、開(kāi)放資助、開(kāi)放科學(xué)評(píng)估、開(kāi)放科學(xué)工具、開(kāi)放教育。劉桂鋒等[3]結(jié)合文獻(xiàn)調(diào)研和網(wǎng)絡(luò)調(diào)查的方法,構(gòu)建了開(kāi)放科學(xué)政策、開(kāi)放獲取、開(kāi)放數(shù)據(jù)、開(kāi)放資源、開(kāi)放同行評(píng)審、開(kāi)放教育資源為內(nèi)容的開(kāi)放科學(xué)體系。開(kāi)放科學(xué)的內(nèi)容體系決定其具有三個(gè)顯著特征,第一是開(kāi)放性,與傳統(tǒng)科學(xué)研究范式不同,開(kāi)放科學(xué)強(qiáng)調(diào)研究過(guò)程、知識(shí)、工具的自由、開(kāi)放、共享;第二是社會(huì)化,科學(xué)研究過(guò)程不再局限于少數(shù)受過(guò)專(zhuān)門(mén)訓(xùn)練的研究人員,公眾成為科學(xué)研究的重要參與者;第三是動(dòng)態(tài)更新,科學(xué)知識(shí)的更新速率要遠(yuǎn)遠(yuǎn)超過(guò)以往時(shí)代,開(kāi)放科學(xué)有助于人類(lèi)科學(xué)知識(shí)的快速更新。
開(kāi)放科學(xué)背景下GIS發(fā)展勢(shì)必面臨新的機(jī)遇和挑戰(zhàn)。隋殿志等[4]提出開(kāi)放GIS至少存在8個(gè)維度,分別是開(kāi)放數(shù)據(jù)、開(kāi)放軟件、開(kāi)放硬件、開(kāi)放標(biāo)準(zhǔn)、開(kāi)放研究、開(kāi)放出版、開(kāi)放募資、開(kāi)放教育。開(kāi)放GIS存在四大挑戰(zhàn),包括學(xué)術(shù)文化和獎(jiǎng)勵(lì)制度的挑戰(zhàn)、現(xiàn)有的知識(shí)產(chǎn)權(quán)法律的挑戰(zhàn)、社會(huì)/政治阻礙和變化的權(quán)利關(guān)系的挑戰(zhàn)、環(huán)境威脅與可持續(xù)發(fā)展的目標(biāo)的挑戰(zhàn)[4]。開(kāi)放GIS也存在若干機(jī)遇,比如空間大數(shù)據(jù)的涌現(xiàn)為開(kāi)放GIS提供契機(jī)、開(kāi)放GIS在個(gè)體和集體決策中越來(lái)越重要、開(kāi)放GIS有利于每個(gè)人更加了解地球、開(kāi)放GIS在提高全民科學(xué)素養(yǎng)尤其是空間思維上具有不可替代的作用。
Python是面向?qū)ο蟮慕忉屝湍_本語(yǔ)言,與編譯型語(yǔ)言相比,具有簡(jiǎn)單易學(xué)、可擴(kuò)展、可嵌入、跨平臺(tái)等突出優(yōu)點(diǎn)。Python語(yǔ)言在GIS教學(xué)科研實(shí)踐中具有顯著優(yōu)勢(shì)。從學(xué)習(xí)成本和效率上看,相對(duì)于其他語(yǔ)言,Python語(yǔ)言的語(yǔ)法簡(jiǎn)單,閱讀上更接近自然語(yǔ)言。根據(jù)訪談?wù){(diào)查發(fā)現(xiàn),一部分GIS專(zhuān)業(yè)大二學(xué)生即對(duì)Python表現(xiàn)出濃厚興趣,經(jīng)常利用課余時(shí)間自學(xué)從而提高GIS應(yīng)用和開(kāi)發(fā)水平。從課程設(shè)置和教學(xué)角度,Python語(yǔ)言遵循開(kāi)源共享理念,學(xué)校教學(xué)成本較低,不需要額外花費(fèi)軟件或系統(tǒng)購(gòu)置費(fèi)用;同時(shí)網(wǎng)絡(luò)上具有大量基于Python的教學(xué)材料、視頻和案例,為提高教學(xué)效率和鍛煉學(xué)生編程技能提供了良好環(huán)境。由于Python語(yǔ)言本身的開(kāi)源等特征,不同研究者或用戶(hù)均可以設(shè)計(jì)和發(fā)布實(shí)現(xiàn)某些功能的第三方庫(kù)或包,因此基于Python的GIS行業(yè)生態(tài)愈加豐富,從底層開(kāi)發(fā)的算法到高度封裝的庫(kù)或包,為GIS學(xué)習(xí)和應(yīng)用提供了諸多便利。Python語(yǔ)言與開(kāi)源GIS的理念和特征存在內(nèi)在聯(lián)系,使得Python語(yǔ)言在開(kāi)源GIS體系占據(jù)重要角色,助推了開(kāi)源GIS教學(xué)實(shí)踐和科技應(yīng)用。
亢孟軍等[5]認(rèn)為開(kāi)源GIS是指遵照開(kāi)放的標(biāo)準(zhǔn)和協(xié)議開(kāi)發(fā)并開(kāi)放源代碼給公眾免費(fèi)使用、修改和發(fā)行的GIS軟件。與開(kāi)源GIS相反,商業(yè)GIS是由企業(yè)或研究結(jié)構(gòu)開(kāi)發(fā)并將源碼作為商業(yè)機(jī)密或?qū)@腉IS軟件。前者比如QGIS、SAGA GIS、GRASS GIS等,后者有ArcGIS、MapGIS、SuperMap等。開(kāi)源GIS最早可以追溯到1978年美國(guó)開(kāi)發(fā)的MOSS系統(tǒng),而1982年GRASS GIS發(fā)布,是開(kāi)源GIS發(fā)展的重要事件。20世紀(jì)90年代,OGC標(biāo)準(zhǔn)的制定和GDAL/OGR項(xiàng)目的啟動(dòng)對(duì)開(kāi)源GIS推廣起到了決定性的作用。OGC制定了與地理信息數(shù)據(jù)相關(guān)的系列標(biāo)準(zhǔn),暢通了商業(yè)GIS和開(kāi)源GIS功能轉(zhuǎn)換的路徑。在2006年具有代表性,開(kāi)源地理空間基金會(huì)(OSGeo)的成立,有利于支持和促進(jìn)開(kāi)放地理空間技術(shù)、數(shù)據(jù)和教育資源的共享和協(xié)作。
從課程教學(xué)的角度出發(fā),開(kāi)源GIS軟件體系可以劃分為5個(gè)部分:標(biāo)準(zhǔn)層、數(shù)據(jù)庫(kù)層、組件層、分析層和應(yīng)用層[5]。標(biāo)準(zhǔn)層為開(kāi)源GIS體系提供程序開(kāi)發(fā)、數(shù)據(jù)存儲(chǔ)和互操作的各類(lèi)規(guī)范,目前常用的是OGC標(biāo)準(zhǔn);數(shù)據(jù)庫(kù)層主要有PostGIS、MySQL Spatial、Spatial Lite等;組件層和分析層主要是空間數(shù)據(jù)處理分析的庫(kù)或包,是GIS綜合開(kāi)發(fā)的基礎(chǔ),目前常用的有GDAL/OGR、Proj.4、PySAL等;應(yīng)用層是構(gòu)建在上述內(nèi)容之上的可擴(kuò)展的系統(tǒng)框架,包括桌面GIS、網(wǎng)絡(luò)GIS和移動(dòng)GIS等。Python語(yǔ)言在開(kāi)源GIS體系中具有多方面的作用,一方面,數(shù)據(jù)庫(kù)層、組件層、分析層中的包和庫(kù)在Python環(huán)境中可以非常方便地調(diào)用,比如GDAL提供了Python版本的調(diào)用接口,另一方面,應(yīng)用層開(kāi)發(fā)中可以使用Python進(jìn)行二次開(kāi)發(fā)或數(shù)據(jù)處理分析。
在上述發(fā)展背景下,我校GIS教研室于2021年起開(kāi)設(shè)“Python與開(kāi)源GIS”課程,面向GIS專(zhuān)業(yè)大三學(xué)生,作為專(zhuān)業(yè)選修課程,有利于增強(qiáng)GIS專(zhuān)業(yè)學(xué)生使用現(xiàn)代工具能力?!癙ython與開(kāi)源GIS”主要以空間數(shù)據(jù)的處理、分析以及地圖制圖為主線,以目前最為經(jīng)典、常用的類(lèi)庫(kù)為主,講授開(kāi)源GIS基本概念,鍛煉學(xué)生實(shí)踐操作技能。本課程旨在培養(yǎng)學(xué)生的開(kāi)源GIS數(shù)據(jù)處理和應(yīng)用開(kāi)發(fā)能力,使學(xué)生明確了解開(kāi)源GIS發(fā)展,鍛煉Python處理地理數(shù)據(jù)水平,深入理解地理信息技術(shù)中的基礎(chǔ)理論,掌握使用編程語(yǔ)言進(jìn)行地理信息獲取、處理、分析以及應(yīng)用開(kāi)發(fā)的技術(shù),從理論和實(shí)踐相結(jié)合的角度形成GIS從業(yè)人員的核心素養(yǎng)。
本課程的課程目標(biāo)與專(zhuān)業(yè)培養(yǎng)目標(biāo)、畢業(yè)要求存在良好對(duì)應(yīng)關(guān)系。在培養(yǎng)目標(biāo)方面,主要支撐知識(shí)綜合目標(biāo),即熟練掌握信息化空間數(shù)據(jù)采集技術(shù)、地理信息系統(tǒng)原理、攝影測(cè)量與遙感、GIS空間分析、GIS應(yīng)用開(kāi)發(fā)等專(zhuān)業(yè)知識(shí)并進(jìn)行綜合運(yùn)用,能夠通過(guò)知識(shí)的融會(huì)貫通解決業(yè)務(wù)工作中遇到的實(shí)際問(wèn)題。在畢業(yè)要求方面,即使用現(xiàn)代地理信息系統(tǒng)工具和技術(shù),能夠針對(duì)復(fù)雜地理信息工程問(wèn)題,開(kāi)發(fā)、選擇與使用恰當(dāng)?shù)牡乩硇畔⒓夹g(shù)、地理空間信息資源、現(xiàn)代測(cè)繪和遙感技術(shù)設(shè)備和信息技術(shù)手段,包括對(duì)復(fù)雜地理信息工程問(wèn)題的預(yù)測(cè)與模擬,并能夠理解其局限性。
“Python與開(kāi)源GIS”課程教學(xué)過(guò)程中融入了一些思政元素。地理信息技術(shù)與國(guó)家安全、經(jīng)濟(jì)建設(shè)、生態(tài)保護(hù)密切相關(guān)。Python與開(kāi)源GIS課程通過(guò)介紹開(kāi)源的Python類(lèi)、庫(kù)、包,經(jīng)過(guò)課堂講授、案例引導(dǎo)、課后練習(xí)等過(guò)程,旨在培養(yǎng)學(xué)生使用地理信息技術(shù)處理地理信息項(xiàng)目相關(guān)問(wèn)題的能力。本課程可以激發(fā)學(xué)生共同參與科學(xué)研究、共同建設(shè)地理信息平臺(tái)、共享地理信息技術(shù)的開(kāi)放科學(xué)精神。教學(xué)中通過(guò)引用一些與我國(guó)國(guó)情、生態(tài)文明建設(shè)、社會(huì)經(jīng)濟(jì)發(fā)展等地理信息相關(guān)案例,引導(dǎo)和培養(yǎng)學(xué)生對(duì)國(guó)家和民族的自豪感,促使大學(xué)生形成保護(hù)環(huán)境、節(jié)約資源等生態(tài)文明理念。
第一章為Python與GIS導(dǎo)論,主要講授GIS的基礎(chǔ)概念、開(kāi)源空間信息軟件體系和技術(shù)、Python環(huán)境配置、Python基礎(chǔ)用法等,重點(diǎn)理解開(kāi)源GIS的內(nèi)涵和意義、掌握Python環(huán)境配置過(guò)程。
第二章為GDAL操作柵格數(shù)據(jù),主要內(nèi)容包括GDAL包簡(jiǎn)介和配置、地理數(shù)據(jù)驅(qū)動(dòng)、讀取遙感影像信息、讀取柵格數(shù)據(jù)、地圖代數(shù)、訪問(wèn)索引圖像、創(chuàng)建影像等,重點(diǎn)要求會(huì)使用GDAL讀取常用遙感影像和創(chuàng)建影像、會(huì)使用GDAL進(jìn)行地圖代數(shù)計(jì)算。
第三章OGR處理矢量數(shù)據(jù),主要講授OGR包簡(jiǎn)介和配置、數(shù)據(jù)驅(qū)動(dòng)、圖層、要素、幾何形狀、創(chuàng)建Shp文件、空間過(guò)濾器、空間分析、Fiona包配置和使用,重點(diǎn)掌握使用OGR讀取矢量數(shù)據(jù)、理解矢量數(shù)據(jù)中的圖層、要素、幾何形狀概念,會(huì)使用OGR創(chuàng)建Shp文件、掌握Fiona常用方法。
第四章為空間參考和坐標(biāo)轉(zhuǎn)換,主要講授大地水準(zhǔn)面和橢球體、Proj類(lèi)、OSR模塊、坐標(biāo)轉(zhuǎn)換,要求會(huì)使用Proj類(lèi)定義和轉(zhuǎn)換投影,會(huì)使用OSR模塊定義投影和地理坐標(biāo),掌握坐標(biāo)轉(zhuǎn)換的常用方法。
第五章為Shapely矢量數(shù)據(jù)空間分析,主要內(nèi)容為空間數(shù)據(jù)模型的基礎(chǔ)概念、Shapely幾何要素的操作、DE九交空間關(guān)系、生成新幾何對(duì)象的方法、合并線性要素,要求會(huì)使用Shapely進(jìn)行常用的幾何要素操作,掌握Shapely生成新幾何對(duì)象的方法。
第六章為SpatiaLite處理空間數(shù)據(jù)庫(kù),主要內(nèi)容包括開(kāi)源數(shù)據(jù)庫(kù)簡(jiǎn)介、SpatiaLite包配置、常用命令行、SQLite的類(lèi)型、評(píng)價(jià)幾何對(duì)象之間的關(guān)系,重點(diǎn)掌握SpatiaLite的常用命令行用法。
第七章為Mapnik和Basemap地圖可視化,主要講授Mapnik概述、地圖制圖常用方法、Basemap地圖可視化,要求學(xué)生掌握Mapnik地圖制圖和Basemap地圖可視化的方法。
學(xué)時(shí)分配主要考慮Python語(yǔ)言基礎(chǔ)知識(shí)和GIS專(zhuān)業(yè)應(yīng)用開(kāi)發(fā),強(qiáng)調(diào)GIS數(shù)據(jù)模型與分析功能實(shí)現(xiàn),旨在培養(yǎng)學(xué)生將GIS專(zhuān)業(yè)知識(shí)與Python交叉融合,應(yīng)用Python語(yǔ)言實(shí)現(xiàn)GIS信息管理、分析、顯示等常用功能。具體學(xué)時(shí)分配見(jiàn)下表。
學(xué)時(shí)分配表
本課程考核采取階段性測(cè)試、項(xiàng)目實(shí)踐操作相結(jié)合的考查方式,以理論水平、實(shí)踐創(chuàng)新、團(tuán)隊(duì)協(xié)作能力和分析解決問(wèn)題能力等構(gòu)成新的評(píng)價(jià)體系,總體成績(jī)由平時(shí)成績(jī)和期末成績(jī)兩部分構(gòu)成。考查內(nèi)容主要圍繞教學(xué)大綱,要求學(xué)生理解開(kāi)源GIS基礎(chǔ)理論、掌握Python的地理空間分析主要方法,包括柵格數(shù)據(jù)和矢量數(shù)據(jù)的讀寫(xiě)、地圖代數(shù)、幾何計(jì)算,柵格和矢量數(shù)據(jù)的空間分析,地圖制圖和地圖可視化的主要方法。
“Python與開(kāi)源GIS”課程開(kāi)設(shè)以來(lái),面向地理信息科學(xué)專(zhuān)業(yè)和城鄉(xiāng)規(guī)劃專(zhuān)業(yè)學(xué)生累計(jì)授課達(dá)170人次,開(kāi)放科學(xué)理念得到宣傳和推廣。授課班級(jí)學(xué)生2022年度參加易智瑞、超圖等專(zhuān)業(yè)GIS競(jìng)賽30人次,其中獲獎(jiǎng)20人次,開(kāi)源GIS技能得到實(shí)踐鍛煉和鞏固提高。
開(kāi)放科學(xué)對(duì)現(xiàn)有理工科專(zhuān)業(yè)知識(shí)體系和課程教學(xué)方式帶來(lái)新的挑戰(zhàn)。以GIS專(zhuān)業(yè)為例,開(kāi)源GIS體系囊括了標(biāo)準(zhǔn)層、數(shù)據(jù)庫(kù)、組件層、分析層、應(yīng)用層,與商業(yè)GIS產(chǎn)品體系形成了相互競(jìng)爭(zhēng)局面;課程教學(xué)上要求遵循開(kāi)源理念,采用開(kāi)源GIS技術(shù)和產(chǎn)品,適應(yīng)未來(lái)開(kāi)放科學(xué)背景下的科學(xué)研究和工程應(yīng)用。本文以“Python與開(kāi)源GIS”課程為例,解析了課程內(nèi)容、學(xué)時(shí)分配、考核體系,介紹了開(kāi)源GIS的主要知識(shí)和教學(xué)效果,以期為高校GIS專(zhuān)業(yè)教學(xué)改革提供參考。