李 佳,段 平,賀軍亮,張 馳
(1.云南師范大學 旅游與地理科學學院,云南 昆明 650050;2.石家莊學院 資源與環(huán)境科學學院,河北 石家莊 050035;3.南通大學 地理科學學院,江蘇 南通 226019)
GIS專業(yè)基于面向?qū)ο蟪绦蛟O計的DEM生成教學實驗設計
李 佳1,段 平1,賀軍亮2,張 馳3
(1.云南師范大學 旅游與地理科學學院,云南 昆明 650050;2.石家莊學院 資源與環(huán)境科學學院,河北 石家莊 050035;3.南通大學 地理科學學院,江蘇 南通 226019)
數(shù)字高程模型是地理信息科學專業(yè)的必修課,DEM生成方法是該課程的核心知識點之一。通常以GIS軟件為實驗操作平臺構(gòu)建DEM,GIS軟件提供良好的操作界面且簡化教學過程,但軟件同時會弱化學生對DEM生成過程的理解,而面向?qū)ο蟪绦蛟O計課程往往開設在數(shù)字高程模型課程之前。文中融合面向?qū)ο蟪绦蛟O計和數(shù)字高程模型課程知識點,采用面向?qū)ο蟪绦蛟O計思想對DEM課程中的DEM生成實驗進行設計并實現(xiàn),為GIS專業(yè)的DEM生成實驗提供新的教學思路,提升DEM課程教學實踐的品質(zhì)和效果。
地理信息科學;面向?qū)ο蟪绦蛟O計;數(shù)字高程模型;TIN
1998年地理信息系統(tǒng)(Geographic Information System,GIS)專業(yè)通過教育部批準設立,于2012年在教育部印發(fā)的《普通高等學校本科專業(yè)目錄(2012年)》中更名為地理信息科學專業(yè)(Geographic Information Science,GIS)[1]。GIS專業(yè)在我國開設時間并不長,但是其發(fā)展速度較為迅猛,目前國內(nèi)開設GIS專業(yè)的高校多達170多所,每年培養(yǎng)GIS畢業(yè)生近萬人[2-3],在專業(yè)課程設置中,數(shù)字高程模型(Digital Elevation Model,DEM)是GIS專業(yè)的必修課,同時也是GIS領域研究的熱點問題[4]。
DEM是對地表數(shù)字化表示,其數(shù)據(jù)本質(zhì)是離散高程數(shù)據(jù),每個數(shù)據(jù)本身不能反映實際地表的幾何特征,因此需要合理地對離散高程數(shù)據(jù)進行準確組織才能有效表達地形表面,即空間結(jié)構(gòu)化組織[5-7]。常見的DEM空間結(jié)構(gòu)化組織有二種:不規(guī)則三角網(wǎng)(Triangulated Irregular Network,TIN)或者規(guī)則格網(wǎng),在數(shù)據(jù)組織過程中,可以首先對散亂高程數(shù)據(jù)構(gòu)建TIN模型,然后利用插值方法將TIN模型轉(zhuǎn)換為規(guī)則格網(wǎng)DEM。目前,大多數(shù)商業(yè)GIS軟件(如ArcGIS,Surfer)均提供良好的操作界面,實現(xiàn)以上兩種DEM空間結(jié)構(gòu)化組織的生成方法。在DEM教學實驗課中,商業(yè)GIS軟件常被選用于DEM課程教學實驗平臺[8],盡管它提供高效的DEM生成方法,但簡化中間生成過程,弱化學生對DEM生成方法流程的深刻理解。
DEM課程通常在大三下學期或大四上學期開設,而學生前期已經(jīng)學習C語言程序設計、面向?qū)ο蟪绦蛟O計、GIS設計等程序開發(fā)的基礎課程,已經(jīng)具備程序開發(fā)良好素質(zhì),如何有效地將前期學習的程序設計專業(yè)課程知識與DEM課程相結(jié)合,采用面向?qū)ο蟪绦蛟O計開發(fā)語言實現(xiàn)DEM生成方法,不僅可以讓學生深刻理解DEM生成的整個過程,而且還能加強學生在專業(yè)領域上的程序開發(fā)能力。
基于此,以構(gòu)建二種空間結(jié)構(gòu)化的DEM為目的,采用面向?qū)ο蟪绦蛟O計思想設計生成TIN和規(guī)則格網(wǎng)DEM的實驗方案,其中TIN的生成方法采用相對容易實現(xiàn)的逐點插入法,在逐點插入法中涉及到數(shù)據(jù)結(jié)構(gòu)中的堆棧結(jié)構(gòu),而在DEM可視化中涉及到計算機圖形學中的基礎知識點,本文DEM生成的實驗設計可將所學的面向?qū)ο蟪绦蛟O計、數(shù)據(jù)結(jié)構(gòu)、計算機圖形學等多個專業(yè)知識串連起來,加強學生在多門課程中對于知識點的融會貫通。
實驗設計平臺以Microsoft Visual Studio 2010為開發(fā)環(huán)境,采用C#面向?qū)ο蟪绦蛟O計語言,對離散采樣數(shù)據(jù)(x,y,z)構(gòu)建兩種表達形式的DEM,該方法主要分為3個部分(見圖1):首先采用逐點插值法對離散采樣數(shù)據(jù)點構(gòu)建TIN模型;其次,在TIN模型的基礎上,采用內(nèi)插方法(如:三角形線性內(nèi)插等)構(gòu)建格網(wǎng)DEM,并對規(guī)則格網(wǎng)DEM進行可視化表達;最后,將規(guī)則格網(wǎng)DEM以ASCII碼進行存儲,可用于后期與ArcGIS軟件兼容顯示。
圖1 基于面向?qū)ο蟪绦蛟O計的 DEM生成方案
面向?qū)ο蟪绦蛟O計具有易維護、易擴展、質(zhì)量高、效率高等特征,是一種全新的系統(tǒng)分析設計方法,但是對于初學者不易接受。學生在學習面向?qū)ο蟪绦蛟O計語言后,應該重點掌握面向?qū)ο蟪绦蛟O計的思想,而不是程序設計語言本身。目前面向?qū)ο蟪绦蛟O計的教材主要由計算機專業(yè)背景的人員編寫,主要面向計算機信息等領域,在課程的實際舉例中,如類、對象及繼承性等的實例講解,多數(shù)是以現(xiàn)實生活中的“人、動物”為例子[9],沒有涉及GIS相關課程的內(nèi)容。因此,如能采用面向?qū)ο蟪绦蛟O計思想設計GIS相關課程的問題,應用該課程來解決GIS專業(yè)知識問題,可使學生深刻理解面向?qū)ο蟪绦蛟O計思想,游刃有余地處理各種GIS專業(yè)知識。
面向?qū)ο蟪绦蛟O計思想是將一個大的問題分解為多個對象,把對象作為程序處理的單元,它包含封裝的數(shù)據(jù)和操作。將具有共同特征的對象抽象為一個個類,一個對象是通過實例化類來構(gòu)造的。圖2為采用面向?qū)Υ顺绦蛟O計思想設計DEM構(gòu)建中較為典型的類圖。
1.1 點類的設計
散亂高程數(shù)據(jù)點集是構(gòu)建TIN和規(guī)則格網(wǎng)DEM的基礎數(shù)據(jù),將每個點設計為類,命名為Point,將點的坐標(x,y,z)設置為類中的私有變量,通過屬性將私有變量封裝,以提高程序的安全性?;咀兞吭O計后,需要考慮點類中的方法,在DEM的構(gòu)建中經(jīng)常會計算兩點之間的距離,因此定義方法為getDist(Point p1,Point p2),getDist為方法名,括號為方法的兩個參數(shù),最終方法是計算兩點之間的距離,返回類型是雙精度型。
圖2 主要類圖設計
1.2 三角形類的設計
TIN是DEM表達的一種方式,是多個三角形構(gòu)成的集合。在TIN模型的構(gòu)建過程中,需要設計三角形類。三角形由3個點構(gòu)成,則三角形類中包含3個點的基本變量。采用逐點插入算法構(gòu)建TIN模型,涉及如下操作方法:①判斷點是否在三角形內(nèi),返回類型為布爾型;②三角形面積計算,返回類型為雙精度型;③三角形外接圓圓心計算,返回類型為Point類型;④判斷三角形外接圓是否包含數(shù)據(jù)點,若包含,返回類型為Point類型,反之則返回Null;⑤TIN模型的可視化表達,返回類型為void;⑥對TIN模型中的三角形進行繪制,方法主要調(diào)用Microsoft Visual Studio 2010平臺的Graphics類,對三角形的邊進行繪制。
1.3 區(qū)域索引中矩形類的設計
逐點插入算法中,每插入一個點都需要判斷點落入的三角形。當數(shù)據(jù)點的數(shù)量很大時,三角形的搜索非常耗時,因此在逐點插入過程中,可以采用區(qū)域索引來提高三角形的查找速度[10]。
區(qū)域索引是將整個數(shù)據(jù)區(qū)域劃分為多個大小相同的矩形,判斷當前已構(gòu)建的TIN中每個三角形與矩形是否重疊,如重疊,則該矩形存儲當前TIN中三角形的索引編號,在后期查找點落入的三角形,只需判斷點所在的矩形內(nèi)所存儲的三角形即可。
區(qū)域索引矩形類包含4個點類型,分別表示矩形4個頂點的坐標,方法主要包含索引計算及索引搜索兩部分。
1.4 DEM插值方法類設計
該類的設計根據(jù)實際情況而定,如果過度細化各項功能,抽象出過多的類,則可能引起代碼的冗余。如果直接從離散的高程數(shù)據(jù)中采用某種插值方法生產(chǎn)規(guī)則格網(wǎng)DEM,則可以設計插值類,包含常見的插值方法。如果從TIN中生產(chǎn)規(guī)則格網(wǎng)DEM,則可在三角形類中直接定義線性插值方法,通過該方法直接生產(chǎn)規(guī)則格網(wǎng)DEM。涉及到插值方法,必然存在誤差,因此在DEM插值方法類設計中,需要采用逐點交叉驗證方法進行誤差分析,至少包含4種誤差指標:最大誤差、最小誤差、平均誤差、均方根誤差。
1.5 規(guī)則格網(wǎng)DEM類設計
設計規(guī)則格網(wǎng)DEM類,命名為DEM,定義規(guī)則格網(wǎng)DEM的變量,如規(guī)則格網(wǎng)DEM的分辨率(Cell Size),規(guī)則格網(wǎng)的起始坐標(x,y)以及沿著x,y方向等間距Δx,Δy,根據(jù)起始坐標和等間距比例n就可以計算任一點的規(guī)則格網(wǎng)DEM的坐標(x+n·Δx,y+n·Δy),相應的高程值可以調(diào)用DEM插值方法類中的某一插值方法計算得到。
構(gòu)建規(guī)則格網(wǎng)DEM的可視化表達方法,命名為gridDEMVision,方法主要包含對每一個規(guī)則格網(wǎng)的高程值轉(zhuǎn)換為(0-255)的灰度值,調(diào)用Microsoft Visual Studio 2010平臺下的畫筆函數(shù)對規(guī)則格網(wǎng)DEM進行有效表達,并設置圖像顯示的刷新頻率。
構(gòu)建規(guī)則格網(wǎng)DEM的ASCII碼存儲方法,命名為gridDEMToAscII,方法主要是將每一個規(guī)則格網(wǎng)點的高程值以ASCIII碼存儲在文本中,使得學生自己所構(gòu)建的規(guī)則格網(wǎng)DEM結(jié)果可與ArcGIS軟件兼容,便于在ArcGIS中進行基于規(guī)則格網(wǎng)DEM的空間分析操作,從而增加學生對該實驗的成就感。
最終構(gòu)建DEM所設計的類、對象、方法,學生可根據(jù)實際的情況進行思考后設計。
GIS專業(yè)課程可分為專業(yè)基礎課、專業(yè)課、專業(yè)實踐課。專業(yè)基礎課包含地球科學導論、地貌學、C++程序設計、自然地理學、測量學、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫原理、面向?qū)ο蟪绦蛟O計、計算機圖形學、地圖學、數(shù)字測圖、遙感概論及應用、測量平差、遙感地學分析、GPS原理及應用、數(shù)字攝影測量;專業(yè)課包括地理信息系統(tǒng)原理及應用、數(shù)字高程模型、GIS二次開發(fā)、空間分析、GIS設計、空間數(shù)據(jù)庫原理及應用[11-12]。從第1節(jié)可知通過面向?qū)ο蟪绦蛟O計思想的DEM生成方法則可涵蓋多門課程的內(nèi)容,具體內(nèi)容如表1所示。
表1 基于面向?qū)ο蟪绦蛟O計的DEM生成方法所包含的課程與內(nèi)容
表1說明采用面向?qū)ο蟪绦蛟O計思想構(gòu)建DEM,可使學生對前期所學的多門課程知識點進行融合貫通。
根據(jù)面向?qū)ο笤O計思想,采用逐點插入法構(gòu)建離散高程數(shù)據(jù)的TIN,同時在TIN的基礎上可轉(zhuǎn)換為規(guī)則格網(wǎng)DEM,實驗設計界面和最終DEM生成結(jié)果如圖3所示。
圖3 實驗界面與DEM生成結(jié)果
實驗界面包含TIN的構(gòu)建,規(guī)則格網(wǎng)DEM構(gòu)建、ASCII碼格式的DEM轉(zhuǎn)換、誤差分析等,界面設計涉及到面向?qū)ο蟪绦蛟O計的Windows界面知識點,可使學生熟練掌握該部分的知識點,為后期從事GIS設計與開發(fā)積累經(jīng)驗。
本文實驗設計的最終目的是通過基于面向?qū)ο蟪绦蛟O計的DEM生成實驗,提高學生的程序設計能力。對2014級地理信息科學專業(yè)學生進行基于面向?qū)ο蟪绦蛟O計的DEM生成教學后,其中81%學生對程序設計具有濃厚的興趣,深刻理解DEM的生成過程,其中63%的學生可以獨立編寫GIS專業(yè)方面的程序,通過本文教學實驗取得的效果與2013級地理信息科學學生相比,其對DEM生成過程及編程興趣和編程能力均有所提高。
本文從生成DEM教學實驗出發(fā),采用面向?qū)ο蟪绦蛟O計思想,以面向?qū)ο蟪绦蛟O計開發(fā)語言為基礎,Microsoft Visual Studio 2010為開發(fā)平臺,從代碼底層設計DEM插值實驗方案,通過該實驗可使學生將多門課程的內(nèi)容緊密聯(lián)系起來,提高課堂教學效果。除此之外,本文基于面向?qū)ο蟪绦蛟O計思想的DEM生成教學實驗同樣也可用于DEM課程中的其它實驗部分,如等高線的生成方法、地形細節(jié)層次技術(shù)(Level of Detail,LOD)等方面。
[1] 程朋根,聶運菊,夏云平,等.對地方高校地理信息科學專業(yè)教育的探討[J].測繪通報,2014(6):120-123.
[2] 湯國安,董有福,唐婉榮,等.我國GIS專業(yè)高等教育現(xiàn)狀調(diào)查與分析[J].中國大學教學,2013(6):26-31.
[3] 湯國安,龍毅,李云梅,等.地理信息系統(tǒng)專業(yè)建設的探索與實踐[J].中國大學教學,2009(9):45-47.
[4] 湯國安.我國數(shù)字高程模型與數(shù)字地形分析研究進展[J].地理學報,2014,69(9):1305-1325.
[5] 段平,盛業(yè)華,呂海洋,等.基于多層緊支撐徑向基函數(shù)的DEM插值方法[J].地理與地理信息科學,2014,30(5):38-41.
[6] 湯國安,劉學軍,閭國年.數(shù)字高程模型及地學分析的原理與方法[M].北京:科學出版社,2005.
[7] 李芹.利用DEM輔助判定地形類別的方法[J].測繪與空間地理信息,2016,39(2):142-143.
[8] 吳政庭,嚴泰來,洪本善,等.互動式教學用于地理信息系統(tǒng)課程的方法研究[J].測繪通報,2015(2):129-132.
[9] 程鋼,吳志強,楊杰,等.故事教學法在GIS專業(yè)“面向?qū)ο蟪绦蛟O計與開發(fā)”課堂教學中的運用[J].測繪通報,2015(11):129-132.
[10] 段平,盛業(yè)華,李佳,等.自適應的IDW插值方法及其在氣溫場中的應用[J].地理研究,2014,33(8):1417-1426.
[11] 洪亮,潘先春,楊昆,等.GIS專業(yè)本科課程體系建設研究[J].長江大學學報(自然科學版),2011,8(6):139-141.
[12] 柯長青,李滿春,王結(jié)臣.與時俱進 培養(yǎng)地理信息科學拔尖創(chuàng)新人才[J].中國大學教學,2013(7):28-30.
[責任編輯:張德福]
Teaching experimental design of DEM generation based on object-oriented programing design for GIS specialty
LI Jia1,DUAN Ping1,HE Junliang2,ZHANG Chi3
(1.School of Tourism and Geographical Sciences,Yunnan Normal University,Kunming 650050,China 2.Department of Resources and Environment,Shijiazhuang University,Shijiazhuang 050035,China;3.College of Geographic Science,Nantong University,Nantong 226019,China)
Digital Elevation Model (DEM) is a required course for the Geographic Information Science (GIS) major.One of the core knowledge points of this course is the DEM generation method.GIS software as an experimental operating platform,is used for construction of DEM,which provides a friendly operating interface and simplifies the teaching process.But at the same time,it weakens the students’ understanding of the DEM generation process.And object-oriented programming courses are often set up before DEM courses.This paper integrates the object-oriented programming and the digital elevation model courses knowledge points,uses the thought of object-oriented programming to design and implements the DEM generation experiment in DEM curriculum.A new teaching idea is provided for the DEM generation experiment of GIS major, which ultimately can improve the quality and effectiveness of teaching practice.
geographic information science;object-oriented programming;digital elevation model;triangulated irregular network
引用著錄:李佳,段平,賀軍亮,等.GIS專業(yè)基于面向?qū)ο蟪绦蛟O計的DEM生成教學實驗設計[J].測繪工程,2017,26(5):76-80.
10.19349/j.cnki.issn1006-7949.2017.05.016
2016-06-29
石家莊學院教學改革研究項目(JGXM-201527A);南通大學教學改革項目(2015B56)
李 佳(1984-),女,講師,博士.
G642
A
1006-7949(2017)05-0076-05