楊玲 阮心玲
摘 要: 綜合分析GIS算法基礎(chǔ)課程的內(nèi)容與特點(diǎn),結(jié)合人才培養(yǎng)的需求和GIS算法基礎(chǔ)課程的教學(xué)經(jīng)驗(yàn)與體會,探討GIS算法課程的教學(xué)方法以及GIS算法教學(xué)過程中存在的一些問題,給出相應(yīng)的解決辦法,以有效促進(jìn)學(xué)生對知識的理解和應(yīng)用,達(dá)到預(yù)期的教學(xué)效果。
關(guān)鍵詞: GIS算法基礎(chǔ); 教學(xué); 理論教學(xué); 實(shí)踐
中圖分類號:P208;G42 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2016)03-53-03
Study on teaching of GIS algorithm fundamentals
Yang Ling, Ruan Xinling
(College of Environment and Planning, Henan University, Kaifeng, Henan 475004, China)
Abstract: Combined the personnel training demand and GIS algorithm fundamentals teaching experience, the teaching methods of GIS algorithm courses and the problems existing in GIS algorithm teaching process are discussed, and the corresponding solutions are given to effectively promote the students' understanding and application of knowledge, to achieve the expected teaching effect.
Key words: GIS algorithm fundamentals; teaching; theoretical teaching; practice
0 引言
地理信息系統(tǒng)(GIS)產(chǎn)生于20世紀(jì)60年代初期,經(jīng)過近半個(gè)世紀(jì)的發(fā)展,GIS已經(jīng)成為一門新興的學(xué)科,廣泛應(yīng)用于國民經(jīng)濟(jì)各個(gè)領(lǐng)域,并發(fā)揮著重要的作用,取得了良好的經(jīng)濟(jì)效益和社會效益。為滿足市場需求,國內(nèi)眾多高校紛紛開設(shè)GIS專業(yè),每年都有數(shù)以萬計(jì)的畢業(yè)生走向人才市場。
在GIS專業(yè)的培養(yǎng)方案中,GIS算法基礎(chǔ)是一門銜接專業(yè)基礎(chǔ)課和專業(yè)方向課的極為重要的課程[1],該課程是整個(gè)地理信息科學(xué)的核心,不管是從基本的GIS空間數(shù)據(jù)結(jié)構(gòu)到空間數(shù)據(jù)模型,還是從必需的GIS空間關(guān)系的表達(dá)與描述到各種各樣的空間拓?fù)潢P(guān)系,以及從高級的時(shí)態(tài)多維GIS到GIS空間數(shù)據(jù)挖掘與知識發(fā)現(xiàn),GIS算法作為地理信息系統(tǒng)的基石當(dāng)之無愧[2]。因此,GIS算法基礎(chǔ)是整個(gè)GIS專業(yè)課程中非常重要的一門課。GIS算法基礎(chǔ)通常包括理論教學(xué)和實(shí)踐教學(xué),理論教學(xué)主要講解GIS相關(guān)算法的基本原理,實(shí)踐教學(xué)重點(diǎn)在于算法的實(shí)現(xiàn),讓學(xué)生透徹理解算法的原理并進(jìn)行系統(tǒng)的開發(fā)與實(shí)現(xiàn),兩個(gè)環(huán)節(jié)缺一不可。GIS算法基礎(chǔ)的教學(xué)對增強(qiáng)學(xué)生的理解能力、實(shí)踐能力、提高學(xué)生系統(tǒng)開發(fā)能力發(fā)揮重要的作用。
1 現(xiàn)狀分析
1.1 GIS算法基礎(chǔ)課程特點(diǎn)
GIS算法基礎(chǔ)是一門融合算法原理與算法設(shè)計(jì)的課程,而且包含一些GIS空間數(shù)據(jù)的分析與處理運(yùn)算,因此其既具有算法的共性,又有其鮮明的特點(diǎn)。
⑴ 內(nèi)容復(fù)雜
GIS算法種類較多,內(nèi)容復(fù)雜。GIS算法基礎(chǔ)課程包括計(jì)算機(jī)圖形學(xué)算法、計(jì)算幾何算法、空間數(shù)據(jù)組織算法、空間數(shù)據(jù)轉(zhuǎn)換算法、空間數(shù)據(jù)索引算法、空間數(shù)據(jù)內(nèi)插算法、空間數(shù)據(jù)分析算法以及空間數(shù)據(jù)挖掘算法等。同時(shí),由于GIS算法是用于解決地學(xué)領(lǐng)域中的問題,需處理海量的地理信息,涉及許多復(fù)雜的空間運(yùn)算,故不僅僅是簡單的信息查詢與編輯。
⑵ 知識抽象
算法是完成一個(gè)任務(wù)所需要的基本步驟和方法。在解決問題時(shí),可以使用抽象的數(shù)學(xué)語言、計(jì)算機(jī)語言來對算法進(jìn)行描述。GIS算法基礎(chǔ)是對地理空間對象進(jìn)行描述和處理的過程。地理空間對象自身有明顯的特征,即維數(shù)多樣性,有2維、2.5維、3維、4維等,而且有空間數(shù)據(jù)和屬性數(shù)據(jù)之分,這使得地理空間對象更難表達(dá)和處理,因此與普通的算法相比GIS算法更為抽象化。
⑶ 需要多學(xué)科知識作為基礎(chǔ)
地理信息科學(xué)作為一門綜合性學(xué)科,涵蓋了計(jì)算機(jī)科學(xué)、地理學(xué)與測繪學(xué),GIS算法的實(shí)踐課程涉及多門課程的綜合運(yùn)用,對學(xué)生的要求相對較高。既要求學(xué)生熟練掌握一門編程語言、掌握數(shù)據(jù)庫的相關(guān)知識、熟練的使用軟件開發(fā)平臺,還要求學(xué)生掌握相關(guān)的算法設(shè)計(jì)原理,掌握相關(guān)的GIS應(yīng)用方面的知識為后期的專業(yè)應(yīng)用奠定基礎(chǔ)。
1.2 教材建設(shè)不足
⑴ 理論課教材
GIS算法基礎(chǔ)作為一門專業(yè)基礎(chǔ)課,教材不足的問題非常突出。現(xiàn)階段可供選擇的教材主要有科學(xué)出版社出版的《地理信息系統(tǒng)算法基礎(chǔ)》、《地理信息系統(tǒng)原理與算法》、《GIS數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)》、《基于幾何代數(shù)的多維統(tǒng)一GIS:理論、算法與應(yīng)用》等有限的幾本教材,教材選擇范圍較小。而且這些教材中有一部分內(nèi)容還與GIS專業(yè)中其他課程教材重復(fù)。部分高校選擇使用計(jì)算機(jī)專業(yè)的算法教材作為該課程教材,這些計(jì)算機(jī)學(xué)科中常用的通用算法對于GIS中的應(yīng)用而言,針對性不強(qiáng),同樣不合適作為課程教材[3]。
⑵ 實(shí)踐課教材
實(shí)踐課沒有統(tǒng)一的教材,上課時(shí)由教師選擇理論課教材中的部分算法進(jìn)行上機(jī)實(shí)現(xiàn),這樣學(xué)生上機(jī)實(shí)現(xiàn)的算法可能與其他課程(如計(jì)算機(jī)圖形學(xué))中的某些算法重復(fù)。有的高校選擇二次開發(fā)作為上機(jī)實(shí)踐內(nèi)容,學(xué)生通過調(diào)用某個(gè)GIS軟件的類庫或接口來完成算法,而不是從底層寫算法,這樣只是模塊或接口的調(diào)用,不需要理解算法的細(xì)節(jié),也不需要自己設(shè)計(jì)算法,容易導(dǎo)致“知其然而不知其所以然”。同時(shí),在實(shí)驗(yàn)課中,大部分算法是獨(dú)立的,學(xué)生即使完成了所有實(shí)驗(yàn)內(nèi)容,仍然很難建立起系統(tǒng)性觀念。
1.3 課時(shí)安排與學(xué)生基礎(chǔ)問題
各個(gè)高校對該課程安排的課時(shí)數(shù)不盡相同,以本校為例,每學(xué)期90課時(shí),其中基礎(chǔ)理論課54學(xué)時(shí),實(shí)踐課36學(xué)時(shí)。理論課的課時(shí)數(shù)稍多于實(shí)踐課。這種課時(shí)安排方式看似合理,但在實(shí)際執(zhí)行過程中發(fā)現(xiàn),實(shí)踐課的課時(shí)數(shù)嚴(yán)重不足,學(xué)生能夠上機(jī)實(shí)現(xiàn)的算法不足理論課所講的1/5。主要原因有:①GIS算法基礎(chǔ)課程中部分算法的實(shí)現(xiàn)需要學(xué)生有一定的程序設(shè)計(jì)基礎(chǔ),但大部分學(xué)生缺乏此方面的知識,動手能力有限;②GIS算法基礎(chǔ)課程中有部分算法比較抽象,而且有一定難度,學(xué)生實(shí)現(xiàn)起來比較困難。這種理論與實(shí)踐脫節(jié)的情況導(dǎo)致學(xué)生對基本的GIS算法的理解停留在概念理解的層面上,一旦遇到深層次的應(yīng)用問題,就束手無策。長期的實(shí)踐缺失會導(dǎo)致學(xué)生的動手能力較差,直接影響其學(xué)習(xí)能力與工作能力。
2 教學(xué)內(nèi)容構(gòu)建
2.1 理論課教學(xué)內(nèi)容
理論課教學(xué)時(shí),根據(jù)學(xué)生的基礎(chǔ),選擇教材中難度適中的內(nèi)容進(jìn)行講解,舍棄部分較難的內(nèi)容以及與其他課程中重復(fù)的內(nèi)容。筆者以科學(xué)出版社出版的《地理信息系統(tǒng)算法基礎(chǔ)》作為教材,在理論課程教學(xué)時(shí)主要講解以下內(nèi)容。
⑴ GIS算法的計(jì)算幾何基礎(chǔ)。主要介紹基礎(chǔ)的幾何問題的解決方案,這部分內(nèi)容較為簡單,是GIS算法的基礎(chǔ)。
⑵ 空間數(shù)據(jù)的變換算法。介紹地理空間參考坐標(biāo)系(包括平面坐標(biāo)系與球面坐標(biāo)系),坐標(biāo)系的轉(zhuǎn)換以及地圖投影變換。
⑶ 空間數(shù)據(jù)的轉(zhuǎn)換。主要介紹矢量數(shù)據(jù)與柵格數(shù)據(jù)之間的相互轉(zhuǎn)換。
⑷ 空間數(shù)據(jù)組織算法。包括對數(shù)據(jù)進(jìn)行合理抽稀,對矢量坐標(biāo)數(shù)據(jù)進(jìn)行編碼以減少存儲空間。
⑸ 空間度量算法。涉及空間計(jì)算中的常見算法。
⑹ 空間數(shù)據(jù)索引算法。包括空間數(shù)據(jù)索引的基本概念以及空間數(shù)據(jù)索引模型。
⑺ 空間數(shù)據(jù)內(nèi)插算法。涉及不同類型的內(nèi)插算法。
⑻ 空間分析算法。主要介紹空間分析三維相關(guān)算法和模型。
2.2 實(shí)驗(yàn)課教學(xué)內(nèi)容
實(shí)驗(yàn)教學(xué)內(nèi)容應(yīng)與理論教學(xué)內(nèi)容緊密結(jié)合,對理論教學(xué)內(nèi)容中闡述的算法通過程序設(shè)計(jì)實(shí)現(xiàn)。將各個(gè)獨(dú)立的GIS算法組織起來,形成一個(gè)較為系統(tǒng)的工程。我們總結(jié)的GIS算法基礎(chǔ)課程的實(shí)驗(yàn)系統(tǒng)包括了GIS算法基礎(chǔ)理論課程中的大部分算法,搭建系統(tǒng)平臺,實(shí)現(xiàn)算法并進(jìn)行可視化顯示。該實(shí)驗(yàn)系統(tǒng)主要有以下內(nèi)容。
⑴ 計(jì)算幾何基礎(chǔ)。包含簡單的拓?fù)淇臻g關(guān)系判斷以及二維和三維的空間度量計(jì)算。其中矢量叉積、折線拐向判斷、交點(diǎn)計(jì)算、多邊形與點(diǎn)(直線、折線、多邊形)的位置關(guān)系判斷、點(diǎn)線距離計(jì)算、三角形面積計(jì)算、多邊形面積計(jì)算等,這些都是GIS算法的基礎(chǔ)。
⑵ 坐標(biāo)變換。包括二維、三維空間坐標(biāo)的平移、旋轉(zhuǎn)、比例、錯(cuò)切等運(yùn)算以及地圖的投影變換。
⑶ 空間數(shù)據(jù)的轉(zhuǎn)換。主要包括矢量數(shù)據(jù)柵格化與柵格數(shù)據(jù)矢量化。
⑷ 空間數(shù)據(jù)的組織。主要包括矢量數(shù)據(jù)的壓縮算法(垂距法、偏角法、達(dá)格拉斯撲克法以及光欄法)與柵格數(shù)據(jù)的壓縮算法(鏈?zhǔn)骄幋a、游程長度編碼)以及拓?fù)潢P(guān)系的生成。
⑸ 空間數(shù)據(jù)的索引算法。主要包括四叉樹索引算法、B樹的構(gòu)建、查詢、插入與刪除等。
⑹ 空間數(shù)據(jù)的插值。包括分段圓弧法、分段三次多項(xiàng)式等方法。
⑺ 空間數(shù)據(jù)分析。包括緩沖區(qū)分析、DEM分析等。
⑻ 可視化。利用可視化工具,對運(yùn)算結(jié)果進(jìn)項(xiàng)顯示以及部分圖形的繪制,這部分內(nèi)容是比較直觀的顯示,也是上機(jī)實(shí)踐內(nèi)容中必不可少的一步。
以上所列內(nèi)容基本包括了理論教材中的大部分算法,在實(shí)際上機(jī)實(shí)踐中,由于時(shí)間有限,并沒要求學(xué)生完成所有的算法實(shí)踐,而是由老師根據(jù)學(xué)生基礎(chǔ),在每一大類中選擇一兩種算法實(shí)現(xiàn)。
3 教學(xué)方法探索
3.1 理論課教學(xué)方法探索
GIS算法基礎(chǔ)課程既有基礎(chǔ)性的知識,又有面向應(yīng)用的開發(fā)。因其數(shù)學(xué)方面內(nèi)容較多,有些學(xué)生認(rèn)為這門課程難度大、枯燥。筆者認(rèn)為應(yīng)該在理論課教學(xué)時(shí)以老師講授為主,同時(shí)積極引導(dǎo)學(xué)生進(jìn)行思考,不僅讓學(xué)生理解算法的原理,而且了解此算法可以解決什么問題,此算法與其他算法相比優(yōu)勢所在,鼓勵學(xué)生敢于對算法做出評價(jià),敢于質(zhì)疑,帶著問題去思考,最后通過實(shí)例分析、驗(yàn)證算法的正確性以及與同類算法相比的優(yōu)勢。
3.2 實(shí)踐課教學(xué)方法探索
實(shí)踐課不僅能讓學(xué)生更好的理解算法,而且能讓學(xué)生學(xué)會應(yīng)用算法解決實(shí)際問題。由于大部分學(xué)生編程基礎(chǔ)較弱,上機(jī)實(shí)現(xiàn)算法的速度較慢,完成一個(gè)算法往往耗費(fèi)較長時(shí)間,這樣就需要老師選擇合適的內(nèi)容進(jìn)行上機(jī)實(shí)驗(yàn),先實(shí)現(xiàn)簡單的算法,再實(shí)現(xiàn)復(fù)雜的算法;從教師帶領(lǐng)學(xué)生編程,逐漸過渡到由學(xué)生自己完成編程。實(shí)踐課前,應(yīng)該加強(qiáng)準(zhǔn)備工作,要求學(xué)生預(yù)習(xí),設(shè)計(jì)實(shí)驗(yàn)方案或者繪制流程圖,交由老師審核以保證學(xué)生對算法思想和步驟理解的正確性[4]。實(shí)踐過程中應(yīng)及時(shí)總結(jié),對上機(jī)過程中出現(xiàn)的共性問題進(jìn)行分析,少走彎路。
另外,還應(yīng)該加強(qiáng)其他輔助課程的建設(shè),如編程語言課,這樣學(xué)生的編程能力和算法實(shí)現(xiàn)的效率會得到大幅提高。
4 結(jié)束語
地理信息系統(tǒng)是一個(gè)交叉性學(xué)科,其實(shí)踐性極強(qiáng),既要有深厚的理論知識,又要有過硬的動手能力。本文針對GIS算法基礎(chǔ)課程的特點(diǎn),結(jié)合實(shí)際教學(xué),對理論課和實(shí)踐課的內(nèi)容選擇、教學(xué)方法進(jìn)行探討。在理論課中選擇合適的內(nèi)容,引導(dǎo)學(xué)生思考,舉一反三,加強(qiáng)課堂的趣味性,提高學(xué)生學(xué)習(xí)的積極性,學(xué)生對GIS算法原理的理解以及GIS算法的應(yīng)用能力得到明顯提高。實(shí)踐課中循序漸進(jìn),逐步加強(qiáng)學(xué)生的程序開發(fā)能力,提高學(xué)生對編程的興趣,實(shí)踐課的效率明顯得以提高。未來的教學(xué)內(nèi)容選擇和教學(xué)方案設(shè)計(jì)上,還需要進(jìn)一步探索,以達(dá)到因材施教的目的。
參考文獻(xiàn)(References):
[1] 劉民士,王春,何桂芳.GIS算法基礎(chǔ)實(shí)驗(yàn)教學(xué)探索[J].測繪與
空間地理信息,2012:1672-5867
[2] 張宏,溫永寧,劉愛利.地理信息系統(tǒng)算法基礎(chǔ)[M].科學(xué)出版
社,2006.
[3] 周侗.高校本科GIS專業(yè)《GIS算法基礎(chǔ)》課程建設(shè)芻議[J].管
理觀察,2009:182-182
[4] 王麗.GIS算法課程教學(xué)探討[J].氣象教育與科技,2007:
32-35