溫永寧
摘要:21世紀(jì)以來,地理信息行業(yè)在我國取得了長足的發(fā)展,地理信息專業(yè)本科教育的規(guī)模越來越大。開源軟件具有自身獨(dú)特的優(yōu)勢,GIS開源軟件社區(qū)已經(jīng)逐漸成熟和壯大,如何適應(yīng)這種趨勢,在GIS本科能力培養(yǎng)中融合開源軟件進(jìn)行課程設(shè)計,成為了GIS本科能力培養(yǎng)重要課題。該文分析了開源軟件在專業(yè)能力培養(yǎng)過程中的適用性和優(yōu)勢,基于當(dāng)前GIS專業(yè)培養(yǎng)方案和課程設(shè)置,分析了幾個重要的開源軟件與課程內(nèi)容之間的關(guān)系,給出了如何融合開源軟件,提升GIS專業(yè)能力培養(yǎng)的途徑。
關(guān)鍵詞:開源;GIS;專業(yè)能力;人才培養(yǎng)
中圖分類號:G424 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)18-0135-03
1概述
地理信息系統(tǒng)(GIs,Geography Information System)在我國的發(fā)展已經(jīng)有近30年歷史,作為新一代地理學(xué)語言GIS已經(jīng)融入到土地管理、災(zāi)害治療、應(yīng)急指揮等國民經(jīng)濟(jì)的各個領(lǐng)域,產(chǎn)生了我國自主研發(fā)的GIS平臺,構(gòu)建了天地圖等為代表的國家級的地理信息服務(wù)平臺。GIS應(yīng)用由早期的政府主導(dǎo)的企業(yè)級應(yīng)用,逐漸發(fā)展到以互聯(lián)網(wǎng)為基礎(chǔ)的公眾服務(wù)。百度、阿里等眾多互聯(lián)網(wǎng)公司也參與到了地理信息行業(yè)中去。
在此期間,我國GIS本科教育也得到了飛速發(fā)展,GIS的學(xué)科設(shè)置也由初始的地理信息系統(tǒng)轉(zhuǎn)變?yōu)榈乩硇畔⒖茖W(xué)。截至目前我國已經(jīng)有170多所高校開設(shè)了GIS專業(yè),每年培養(yǎng)GIS人才近萬人。
GIS學(xué)科是地理科學(xué)、測繪科學(xué)和計算機(jī)科學(xué)的交叉學(xué)科,軟件應(yīng)用和開發(fā)能力是GIS本科能力培養(yǎng)的重要內(nèi)容。早期的GIS軟件主要是國外廠商的商業(yè)軟件,ESRI的ArcInfo、Ar-cView和AreGIS系列作為最成功的商業(yè)GIS軟件,一直是我國本科GIS教育的重要軟件。隨著國產(chǎn)GIS軟件的發(fā)展,我國部分高校的教學(xué)中也有使用MapGIS、SuperMap等作為教學(xué)軟件的。
近年來,開源風(fēng)潮席卷了整個軟件行業(yè),開源軟件得到了極大的發(fā)展。開源社區(qū)已經(jīng)建立了包括操作系統(tǒng)、編譯器、數(shù)據(jù)庫、桌面辦公軟件、瀏覽器在內(nèi)的完整的軟件生態(tài)系統(tǒng)。同時,互聯(lián)網(wǎng)的發(fā)展使得傳統(tǒng)的軟件銷售轉(zhuǎn)變?yōu)橐攒浖榛A(chǔ)的服務(wù)銷售。在地理信息領(lǐng)域,開源的GIS軟件極大豐富起來。尤其是OGC(開放GIS協(xié)會,Open Geospatial Consortium)推出的一系列的規(guī)范,為開源GIS軟件提供了事實(shí)上統(tǒng)一的實(shí)現(xiàn)基準(zhǔn),使得相互分離的軟件,逐漸可以形成完整的產(chǎn)品鏈,形成了包括數(shù)據(jù)存儲、地圖制圖和服務(wù)發(fā)布、桌面系統(tǒng)的全套產(chǎn)品。
對于本科教學(xué)來講,開源軟件相較于封閉的商業(yè)軟件,具有獨(dú)特的優(yōu)勢。利用開源軟件進(jìn)行本科教學(xué),是進(jìn)行教學(xué)改革的重要組成部分。
2開源軟件在GIS專業(yè)能力培養(yǎng)中的優(yōu)勢
開源軟件和商業(yè)軟件具有完全不同的發(fā)布模式,開源軟件基本上不以盈利為目的,幾個著名的開源License都是鼓勵或者強(qiáng)制軟件繼續(xù)進(jìn)行開源傳播,比如BSD協(xié)議、GPL協(xié)議、LG-PL協(xié)議等。開源軟件這種共享的特征,非常有助于知識的傳播,在專業(yè)能力培養(yǎng)方面的優(yōu)勢非常的明顯。
首先,開發(fā)源GIS代碼可以使培養(yǎng)對象直接接觸到技術(shù)實(shí)現(xiàn)的內(nèi)核,質(zhì)量高的開源項目,代碼清晰,邏輯完整,通過對源代碼的閱讀和分析,有利于破除對技術(shù)的恐懼感,做得知其然,而且知其所以然。相反,商業(yè)軟件一般采取封閉源代碼的策略,使用者只能接觸到編譯好的二進(jìn)制組件和組件層面的開發(fā)接口,難以獲得更進(jìn)一步的軟件的結(jié)構(gòu)和實(shí)現(xiàn)細(xì)節(jié)信息。
其次,可選范圍廣泛,學(xué)習(xí)曲線平緩。在開源GIS領(lǐng)域,同一類型的軟件往往有多種產(chǎn)品可供選擇。比如空間數(shù)據(jù)庫軟件,開源軟件包括了輕量級的SQLite空間擴(kuò)展(spatialite),中等量級的POSTGIS以及媲美商業(yè)數(shù)據(jù)庫的支持空間擴(kuò)展的MySQL。開源類型多樣,實(shí)現(xiàn)語言各不相同,包括了從底層算法庫,到完整應(yīng)用的完整架構(gòu)。開源系統(tǒng)復(fù)雜度是一個逐漸累加的過程,主流的開源系統(tǒng)互相依賴。比如JTS提供了所有基礎(chǔ)的空間拓?fù)渌?,在JTS之上,發(fā)展出了.NET版本的NTS和C++版的GEOS;而GEOS則是Quantum GISfQGIsl、PostGIS等諸多開源GIS軟件的算法內(nèi)核。這種優(yōu)勢可以顯著的降低學(xué)習(xí)曲線。
第三,近乎免費(fèi),容易獲得,部署簡單。開源軟件雖然不等同于免費(fèi)軟件,但是GIS領(lǐng)域的開源軟件幾乎都是免費(fèi)的。雖然有些商業(yè)GIS軟件廠商已經(jīng)加入到了教育行業(yè)的支持中,但是對硬件的要求依然較高,License的使用依然有諸多限制,開源GIS軟件則沒有License限制的問題。比如相對于大型商業(yè)關(guān)系數(shù)據(jù)庫產(chǎn)品(如Oracle Spatial)和ESRI SDE產(chǎn)品,開源空間數(shù)據(jù)庫的硬件資源需求大大降低。
第四,資料豐富,社區(qū)成熟。OGC在推動GIS開源軟件的發(fā)展中起到了至關(guān)重要的作用,OGC的相關(guān)規(guī)范將不同開發(fā)者開發(fā)的GIS軟件鏈接為一個可以互操作的整體。比如OGCSimple Feature規(guī)范定義了矢量數(shù)據(jù)的邏輯模型和互操作規(guī)范,OGC W*S(包括WMS、WFS、WPS、WCS、WTS)規(guī)范為開放的地理信息服務(wù)定義了互操作標(biāo)準(zhǔn)。開源軟件已經(jīng)形成了成熟的開放社區(qū),開源軟件不僅僅包括了軟件代碼。開源社區(qū)提供了豐富的資料,使得同學(xué)們有機(jī)會了解系統(tǒng)設(shè)計的各種思想,這對提升GIS開發(fā)的能力具有極大的作用。
3 GIS專業(yè)人才培養(yǎng)的結(jié)構(gòu)與常用開源軟件的關(guān)系
GIS專業(yè)培養(yǎng)的內(nèi)容涵蓋地理、測繪和計算機(jī)科學(xué)等多個學(xué)科,其計算機(jī)科學(xué)包括了基礎(chǔ)編成能力的培養(yǎng)、基礎(chǔ)和專業(yè)算法能力的培養(yǎng)以及專業(yè)應(yīng)用軟件應(yīng)用和開發(fā)能力的培養(yǎng)等多個方面。從課程設(shè)置角度,GIS專業(yè)能力培養(yǎng)是以信息技術(shù)為主導(dǎo),但在基礎(chǔ)信息技術(shù)能力深度要求與計算機(jī)專業(yè)的要求有所弱化,而GIS專業(yè)算法和專業(yè)軟件的要求是計算機(jī)專業(yè)所沒有。GIS專業(yè)的課程包括數(shù)據(jù)結(jié)構(gòu)、GIS算法、空間數(shù)據(jù)庫、計算機(jī)圖形學(xué)、電子地圖學(xué)、GIS設(shè)計與開發(fā)等等。endprint
數(shù)據(jù)結(jié)構(gòu)和GIS算法在GIS本科培養(yǎng)中是兩門聯(lián)系緊密的課程,除了基礎(chǔ)的計算機(jī)專業(yè)的數(shù)據(jù)結(jié)構(gòu)和算法要求之外,針對性的融入了對GIS專業(yè)特有的數(shù)據(jù)模型、數(shù)據(jù)結(jié)構(gòu)以及專業(yè)算法的內(nèi)容,涵蓋包括矢量、柵格為基礎(chǔ)的GIS算法。在矢量算法方面,JTS及其衍生的NTS和GEOS,基于OGC的Simple Feature規(guī)范,實(shí)現(xiàn)了一整套完整的數(shù)據(jù)模型和算法,包括拓?fù)?交模型,涵蓋了矢量算法教學(xué)目標(biāo)的很大部分內(nèi)容,其算法代碼的可靠性非常高。而在柵格算法方面,TauDEM是一個功能完備的柵格算法工具,能夠?qū)崿F(xiàn)坡度、坡向計算、河網(wǎng)提取等各種DEM算法。除了可以支持GIS算法課程的柵格部分的教學(xué)之外,也可以作為數(shù)字地形分析課程算法實(shí)現(xiàn)的補(bǔ)充材料。
空間數(shù)據(jù)庫是存儲和管理地理信息的核心軟件,空間數(shù)據(jù)庫課程也是GIS專業(yè)的核心基礎(chǔ)課程。關(guān)系模型在數(shù)據(jù)庫領(lǐng)域占用主導(dǎo)地位,因此空間數(shù)據(jù)庫的教學(xué)體系也主要以關(guān)系模型為藍(lán)本。開源的關(guān)系數(shù)據(jù)庫MySQL、PostgresSQL和sOLite等都支持空間數(shù)據(jù)庫擴(kuò)展??臻g數(shù)據(jù)擴(kuò)展的模式比ESRI SDE的通過空間數(shù)據(jù)引擎使得商業(yè)數(shù)據(jù)庫支持空間數(shù)據(jù)的模式支持更徹底,因為這種支持是在數(shù)據(jù)庫內(nèi)核一級直接實(shí)現(xiàn)的,可以在SQL層面使用空間操作函數(shù)。以開源GIS數(shù)據(jù)庫為教學(xué)對象,在內(nèi)容和邏輯上相對于SDE更加清晰。同時,SQL級別的空間數(shù)據(jù)支持,比SDE的API更加簡潔;在編程接口上,支持.NET、Java、C/C++等主流語言API,能夠完全取代傳統(tǒng)的商業(yè)數(shù)據(jù)庫作為教學(xué)實(shí)驗用軟件系統(tǒng)。開源數(shù)據(jù)庫的實(shí)現(xiàn)利用了GDAL/OGR、GEOS等其他開源軟件的作為基礎(chǔ),配合其他課程在教學(xué)上將更具有連貫性。
電子地圖學(xué)依賴于地圖學(xué)、計算機(jī)圖形學(xué)等基礎(chǔ)課程。開源領(lǐng)域的地圖制圖功能包括制圖內(nèi)核,比如Mapnik系統(tǒng);服務(wù)化的地圖服務(wù),比如GeoServer,MapServer等;還有桌面GIS軟件或者組件的制圖功能,比如QGIS、MapWindow等。從本科能力培養(yǎng)的角度,電子地圖學(xué)的教學(xué)目的是培養(yǎng)空間數(shù)據(jù)的制圖方法和原理。QGIS在開源GIS軟件中其制圖功能最為強(qiáng)大的,可以制作較為復(fù)雜的專題圖,可以作為地圖學(xué)培養(yǎng)的實(shí)驗用系統(tǒng)。但是,從制圖算法角度,QGIS系統(tǒng)復(fù)雜度較高,Map-Window、SharpMap等輕量級的GIS地圖控件具有更好的適用性。
除此之外,上述軟件還可以作為GIS開發(fā)的學(xué)習(xí)軟件,支持GIS設(shè)計與開發(fā)、網(wǎng)絡(luò)GIS等課程。MapWindow、SharpMap可以作為桌面端開發(fā)控件,它們支持POSTGIS等開源數(shù)據(jù)庫。在Web開發(fā)方面,GeoServer、MapServer等服務(wù)端軟件可以學(xué)習(xí)部署自定義的地圖服務(wù);客戶端產(chǎn)品主要包括基于Ja-vaScfipt的Openlayers、Leaflet等。得益于Web開放架構(gòu),除了軟件,也有開源和共享的數(shù)據(jù)可以使用。完全開源的是Open-StreetMap數(shù)據(jù),而Google、Baidu、微軟的Bing也都提供開放的地圖數(shù)據(jù)訪問接口。
其實(shí),可以輔助教學(xué)的開源工程還有很多,比如PROJ.4庫,地圖學(xué)中涉及的投影知識,很多都可以用PROJ.4來實(shí)現(xiàn)。GDAL/OGR是一個支持上百種空間數(shù)據(jù)讀取的基礎(chǔ)庫。GRASS GIS、uDig都是非常有特色的桌面GIS開源應(yīng)用。
4開源GIS軟件專業(yè)能力培養(yǎng)的途徑
雖然開源軟件作為GIS專業(yè)培養(yǎng)的工具具有很多優(yōu)勢,但是如果不能正確認(rèn)識其中的問題,依然會影響使用效果。使用開源軟件作為GIS專業(yè)能力培養(yǎng)的工具具有一定的挑戰(zhàn)性的,涉及教師的能力的提升、教學(xué)內(nèi)容的調(diào)整和教學(xué)思路的轉(zhuǎn)變。
首先,需要做好頂層設(shè)計。開源社區(qū)是松散的聯(lián)盟,開源軟件并不像商業(yè)軟件整體的體系結(jié)構(gòu)設(shè)計。開源軟件之間結(jié)構(gòu)較為松散,同時不同的軟件在內(nèi)容和結(jié)構(gòu)上有所重疊,而教學(xué)內(nèi)容要求不同的課程需要有連貫性和一致性,這對其在教學(xué)中的使用構(gòu)成了挑戰(zhàn)。比如,在編程語言上不同的選擇要求在使用開源軟件作為教學(xué)工具時,從算法庫到前端系統(tǒng)要注意保持開發(fā)語言的一致性。
其次,思想上的準(zhǔn)備。需要引導(dǎo)任課教師思想上重視,并做好教師之間使用軟件上的協(xié)調(diào)。對學(xué)生思想進(jìn)行引導(dǎo),激發(fā)其探索精神。同學(xué)們要積極的理解代碼后面的思想的設(shè)計,主動理解軟件的原理,結(jié)合課程的內(nèi)容中進(jìn)行分析,做到能夠看得懂代碼。同時要辯證的認(rèn)識問題,開源軟件雖然有巨大的優(yōu)勢,但是也不能偏廢商業(yè)軟件的價值,需要在相互參照中學(xué)習(xí)。
第三,教師自身能力的建設(shè)。教師是教學(xué)的主導(dǎo),學(xué)生是學(xué)習(xí)的主體。教學(xué)培養(yǎng)過程中的改變,要求教師能力對教學(xué)內(nèi)容的適應(yīng)。開源軟件的引入不可避免的引來教學(xué)內(nèi)容的改變,要求教師對開源軟件的代碼能夠完全的掌握和了解。這就需要任課教師有對開源軟件的結(jié)構(gòu)進(jìn)行分析和理解的能力,這種能力需要教師加強(qiáng)自身能力才能夠獲得。
5結(jié)論與討論
開源軟件作為一種潮流,符合互聯(lián)網(wǎng)時代的應(yīng)用模式。GIS行業(yè)正在飛速發(fā)展,軟件的開發(fā)的形態(tài)正在經(jīng)歷著巨大改變,單純的軟件的銷售變成了基于軟件的服務(wù)銷售。開源GIS軟件的發(fā)展包括了OGC的推動,也是整個行業(yè)發(fā)展的必然結(jié)果,這也需要在GIS培養(yǎng)內(nèi)容與方式上調(diào)整。這種發(fā)展需要在教學(xué)體系上進(jìn)行整體的設(shè)計、教師能力的提升,以及教師和學(xué)生對教學(xué)工作的適應(yīng)。endprint