馬 琪 張家寧 白晉華 楊三紅 荊耀東
(1.山西農業大學林學院 山西 晉中 030801;2.山西農業大學資源環境學院 山西 晉中 030801)
山西農業大學校園地理信息系統構建
馬 琪1張家寧1白晉華1楊三紅1荊耀東2
(1.山西農業大學林學院 山西 晉中 030801;2.山西農業大學資源環境學院 山西 晉中 030801)
地理信息系統具有對各類空間數據的采集、處理、管理和分析的能力,在城市、林業、農業、交通、軍事和醫療等領域中有著廣泛的應用,對提高數據處理、管理和決策支持方面起著不可替代的作用。構建校園地理信息系統可以為用戶提供各種校園信息的查詢、檢索和必要的空間分析、統計以及按不同用戶要求輸出相應的專題要素,為校園的發展規劃、輔助決策以及科學管理提供可靠依據,同時可以提升大眾對高校的全面了解,提升高校的影響力。本文以山西農業大學校園為研究對象,基于supermapobjects將現有的二維地理空間數據引入地理信息系統中,通過對數據的采集、編輯與處理構建山西農業大學地理信息系統,實現系統對校園各類空間數據的查詢和檢索等功能。
山西農業大學;校園地理信息系統;supermap
地理信息系統是一種綜合的數據管理系統,它能夠應用于科學調查,資源管理,發展規劃,財產管理,城市交通網的規劃、校園管理等各個方面,并逐步走進人們的日常生活當中,其中校園地理信息系統是城市地理信息系統的一個縮影,具有城市地理信息系統的特點和功能,它可以為用戶提供各種校園信息的查詢、檢索和必要的空間分析、統計操作以及按不同用戶要求輸出相應的專題要素,為校園的發展預測、規劃決策以及科學管理提供可靠依據[1]。該系統已成為現代信息技術的重要組成部分,它的發展經歷了四個階段,分別是初始發展階段,發展鞏固階段,推廣應用階段和蓬勃發展階段[2]。初始發展階段,1963年加拿大建立了世界上第一個GIS系統,同時誕生了世界上最大的地理信息系統軟件平臺的供應商ESRI. 20世紀70年代時是地理信息系統的發展鞏固時期,此時,信息數據的采集、處理、存儲在很大程度上都有了提高。80年代就進入了推廣應用階段,GIS則取得了突破性的進展,朝著信息共享和多功能的方向發展,應用領域也不斷擴大,并在世界范圍內得以全面推廣。90年代以來,GIS深入到各行各業,進入了大發展時期,在這個時期,美國率先將其運用到校園的管理中,建立起校園虛擬網絡,實現了校園管理,科研等,促進了校園地理信息系統的發展與進步[3]。隨著世界各國校園信息化建設的發展,“數字校園”的概念也相應出現。所謂數字校園,就是以高度發達的計算機網絡為核心技術,以信息和知識資源的共享為手段,強調合作,分享,傳承的精神,是網絡化、數字化、智能化有機結合的新型教育、學習和研究的教育環境。
與國外的發展相比,我國地理信息系統的發展則相對比較緩慢,我國政府在1993年提出211高校工程,標志著我國也開始建立虛擬校園,目前許多高校已經成功構建校園的地理信息系統,實現了校園的智能化管理,清華同方的“數字校園”、上海交大的校園地理信息系統、陜西師范大學校園管理信息系統,他們的實踐結果告訴我們,數字校園有極好的開發前景,該系統會成為校園新的信息源,任何與校園有關的信息都將給定位,并與空間數據聯系起來,提供相應的二三維圖像給其家長和學生構建一個身臨其境的立體化感知環境,展示其校園風采,起到自我宣傳的作用[4]。因此在信息化的今天,建立起一個三維立體校園瀏覽平臺,可以從根本上改變校園大部分信息的人工管理狀態,而且用戶也可以通過此平臺圖文并茂的查詢校園信息,以提高我校的知名度與認可度勢在必行。本文便以山西農業大學校園為研究對象,對獲取的數據進行矢量化處理,最終實現山西農業大學校園地理信息系統的構建。
山西農業大學位于晉商故里山西省晉中市太谷縣,是山西省的一所農業大學,學校創建于1907年,是一所有百余年歷史文化傳承的著名學府,歷經銘賢學堂、銘賢農工專科學校、銘賢學院、山西農學院等時期,1979年更名為山西農業大學,被列為全國重點高校,但是由于校園所處地理位置偏僻,給學術交流,招生等都帶來了極大的不便,校園地理信息系統的建立和使用可以提高校園對外的知名度,給學校的各項工作都帶來很大方便,可為學校創造可觀的社會效益。
(一)研究目標
隨著網絡與計算機技術的快速發展,僅靠以往常規的方式來宣傳校園文化是不夠的,這樣一來構建校園地理信息系統的目的也就突顯出來了,它既可以更好的宣傳山西農業大學的風貌與校園文化,給學生與老師參觀學習提供方便。對于不熟悉校園的用戶來說,它也可以提供給在校新生及其他對校園設施不熟悉的人員使用,利用該系統能迅速、準確地掌握校園建筑信息及分布提供便利,而對于熟悉校園的用戶來說,它也可以提供空間信息與非空間信息相結合的數據分析和顯示功能[5]。若將三維校園掛到網上,可以讓更多的人了解山西農業大學的概況,以此來擴大學校在社會上的影響力[6]。
(二)系統功能
(1)展示功能:對校園各個場景的展示,能夠完成基礎的放大縮小等功能,全方位多角度來展示校園的風貌,包括教學樓,辦公樓,學生公寓,食堂等各類建筑物的空間位置與空間分布的相互聯系[7]。
(2)檢索功能:對各類建筑物進行檢索,實現屬性互查功能,屬性信息與建筑物有關,主要有名稱,建設日期,樓層分布等,還增加了學校組織機構體系屬性的查詢,可以查詢到具體辦公位置以及聯系方式。
(3)屬性互查:通過屬性中的關鍵詞查詢具體的圖形要素,即輸入所要查詢的目的地關鍵字詞,便可查詢到圖像,隨之知道其所在位置,或者點擊圖像位置,便可查詢到該位置的具體信息。
(一)數據的獲取及處理
1、數據獲取
數據獲取包括屬性數據與空間數據的獲取,空間數據是指用來表示空間實體的位置、形狀、大小及其分布特征諸多方面信息的數據,它可以用來描述來自現實世界的目標,它具有定位、定性、時間和空間關系等特性。屬性數據分為兩類,一類是學校的組織機構的資料,另一類是建筑物屬性,對于學校組織機構,主要采集各組織機構的名稱,地址,電話,網址,郵件,等[8]。對于建筑物屬性,主要采集建筑物的名稱,建筑物的建設年份,層數,高度,用途,圖片等;
本研究中的空間數據是通過室外實地測量并結合設計圖紙來獲取,而屬性數據則是通過查閱校史資料以及通過小組人員實際調查獲取。
2、數據處理
對數據進行矢量化處理,首先在超圖中新建一個“農大”數據源,將農大影像添加到數據源中,新建面數集(建筑物),用來存儲建筑物矢量后的面,新建面數集(道路),用來存儲道路矢量后的面。其次根據農大影像描繪出建筑物和道路的面,繪完建筑物后,將建筑物屬性輸入到屬性數據集中,繪完道路的面后,超圖中的“對象”下的“面提取中心線”方法可以將道路轉換成線數據集。
(一)界面設計
1、設計界面
每個界面應包含標簽、文本框、圖例控件、地圖控件、工作空間控件、菜單欄、工具條、圖像控件等。
2、數據源的打開功能
單擊菜單欄的“數據源”,實現數據源的打開和在地圖上的顯示,并通過superlegend控件控制數據集的顯示,涉及代碼如下:
PrivateSubsuperMap1_GeometrySelected(ByvalnSelectedGeometryCountAslong) ’建立地圖窗口與工作空間的聯系,用于顯示數據
DimobjRecordsetAssoRecordset’記錄集對象
DimIAsInteger’字段索引
DimstrName(40)AsString’存儲屬性字段名
DimstrValue(40)AsString’存儲屬性字段值
DimstrMessageAsString’包含所有屬性信息
SetobjRecordset=SuperMap1.selection.ToRecordset(False) ’提取所選對象的屬性信息
objRecordset.MoveFirst’移到第一條記錄
Fori=1ToobjRecordset.FieldCount
strName(i-1)=objRecordset.GetFieldInfo(i).name’得到屬性名
strValue(i-1)=objRecordset.GetFieldValue(i) ’得到屬性值
Next
strMessage=””
Fori=1ToobjRecordset.FieldCount
strMessage=strMessage&strName(i-1)&”:”&strValue(i-1)&space(5)&vbCrLf
Next
MsgBoxstrMessage
SetobjRecordset=Nothing’釋放內存
EndSub
(二)系統功能的實現
1、圖形的放大
將圖形進行放大主要代碼如下:
PrivateSubbig_click() ’放大
SuperMap1.Action=scaZoomIn
EndSub
2、圖形的縮小
將圖形縮小主要代碼如下:
PrivateSubsmall_Click()’縮小
SuperMap1.Action=scaZoomOut
EndSub
3、自由縮放
運用鼠標進行自由縮放,主要代碼如下:
PrivateSubfree_Click()’自由縮放
SuperMap1.Action=scaZoomFree
EndSub
4、漫游的實現
移動鼠標可以實現漫游,主要代碼如下:
PrivateSubmanyou_Click()’漫游
SuperMap1.Action=scaPan
EndSub
5、全屏顯示
對圖形進行全屏顯示,主要代碼如下:
PrivateSuball_Click()’全屏顯示
SuperMap1.ViewEntire
EndSub
6、緩沖區代碼
PrivateSubCommand10_Click()
DimrgnAsNewsoGeoRegion
DimobjRecordsetAssoRecordset
SetobjRecordset=SuperMap1.selection.ToRecordset(False)
MsgBox“請選擇地物!”
ExitSub
EndIf
DimobjGeoRegionAssoGeoRegion
objRecordset.MoveFirst
SetobjGeoRegion=objRecordset.GetGeometry
DimstyleAsNewsoStyle
style.PenColor=255
style.BrushColor=vbGreen
Setrgn=objGeoRegion.Buffer(10,100)
SuperMap1.TrackingLayer.ClearEvents
SuperMap1.TrackingLayer.AddEventrgn,style,””
Supermap1.Trackinglayer,Refresh
EndSub
7、設置起始點
主要代碼如下
PrivateSubstart_Click()’起始點
Supermap1.Action=scaSelect
EndSub
8、設置終點
主要代碼如下
PrivateSubend_Click()’終止點
Supermap1.Action=scaSelect
EndSub
9、最佳路徑分析
我們想從學校的一個地方到另一個地方且要求路徑最短就用到路徑分析的方法。可以和標簽專題圖配合使用,選擇起點和終點,然后進行路徑分析。設計代碼如下:
PrivateSubbest_Click()’最佳路徑
DimobjNetAnalystAsNewsoNetworkAnalyst’網絡分析對象
DimobjDVTAssoDatasetVector’網絡數據集
DimobjSelectionAssoSelection’網絡分析結果的選擇集
DimobjFromPiontAsNewsoPoint’網絡分析起點對象
DimobjToPointAsNewsoPoint’網絡分析終點對象
’獲得網絡數據集
SetobjDVT=SuperMap1.Layers(1).Dataset
IfobjDVTIsNothingThenexitSub
’定義網絡分析的起點objFromPoint.x=SuperMap1.PixelToMapX(ScaleX(x,vbTwips,vbPixels))objFromPoint.x=SuperMap1.PixelToMapX(ScaleX(x,vbTwips,vbPixels))
’定義網絡分析的終點objFromPoint.x=SuperMap1.PixelToMapX(ScaleX(x,vbTwips,vbPixels))objFromPoint.x=SuperMap1.PixelToMapX(ScaleX(x,vbTwips,vbPixels))
’進行最佳路徑的分析,并將結果顯示setobjSelection=objNetAnalyst.FindPathEx(objDVT,objFromPoint,objToPoint,objToPoint,100,True)
IfobjSelectionIsNothingThen
MsgBox”分析失敗!”,vbInformation
ExitSub
Else
SuperMap1.Selection.RemoveAll
SetSuperMap1.Selection=objSelection
EndIf
SuperMap1.Refresh
SetobjNetAnalyst=Nothing
SetobjDvt=Nothing
SetobjFromPoint=Nothing
SetobjToPoint=Nothing
EndSub
10、圖查屬性和屬性查圖的實現
我們在地圖上任選一處地物都會顯示該地物的屬性,并且按照用戶的需要查找他想獲得的地物,代碼如下:
圖查屬性:
PrivateSubshuxing_Click()’屬性查詢,選一個點查屬性,圖查屬性
SuperMap1.Action=scaSelection
EndSub
屬性查圖:
輸入一個地物名可以查詢該地物的各個屬性,主要代碼如下:
PrivateSubfinddian_Click()’地點查詢
DimnameAsstring
Name=InputBox(“請輸入您要查找的地名”)
DimobjDtVectorAssoDataSource’數據源
DimobjDtVectorAssoDatasetVector’矢量數據集
DimobjRecordsetAssoRecordset’記錄集
DimobjSelectionAssoSelection’選擇集
’取矢量數據表:取其中面數據集“World”進行查詢SetobjDs=SupermapWorkspace1.Datasources.Itm(“MyDataSource”)
IfobjDsIsNothingThenExitSub
SetobjDtVector=objDs.Datasets(“New_Region”)
IfobjDtVectorIsNothingThen
MsgBox“打開數據集錯誤”,vbInformation
ExitSub
EndIf
’使用SQL過濾條件安從數據集中查詢出記錄集,SQL條件的WHERE子句部分從編輯框中獲取。
SetobjRecordset=objDtVector.Query(name,True)
IfobjRecordsetIsNothingThen
ExitSub
Else
校園地理信息系統服務于高校的規劃和建設,它將為高校的發展做出很大的貢獻,本次研究是構建山西農業大學的校園地理信息系統,以校園的地圖影像數據為對象,通過調查,測量,計算機操作等方法實現了數據的打開、創建、編輯,將數據顯示為地圖,編輯、保存地圖、地圖輸出、空間查詢和分析等功能,本文則以此次研究的目的,過程,以及最后的結果展開論述,從整體上對山西農業大學地理信息系統構建進行了論述,闡述了該系統的功能,能產生的效益,以及具體的操作步驟。同時,本研究也存在不足之處,由于時間和各方面的原因,只對系統進行了初步的設計,沒有開發出完整的校園地理信息系統來,并且在校園信息可視化的操作過程中,沒有充分的數據資料支持,不能進行實際有效的查詢和空間分析,還有就是沒有實現校園地理信息系統的動態可視化。
[1]陳志坤. 校園地理信息系統的構建[A].欽州學院學報 2008 46-48
[2]傅曉珊. 地理信息系統的發展現狀及趨勢[A]安徽工程科技學院學報 2010 89-91
[3]程敏.數字化校園管理系統的研究與開發實現[D]上海.華東師范大學,2007
[4]劉翔禹.基于SuperMap平臺的數字校園三維可視化研究[D]東華理工大學 2015 10-11
[5]陸世安,方傳海,代科.三維校園地理信息系統分析與實現[A]城市建設理論研究(電子版)2012(28) 1-2
[6]劉翔禹.基于SuperMap平臺的數字校園三維可視化研究[D]東華理工大學 2015 12-13
[7]李長春等.三維激光掃描在建筑物模型構建中的研究與實現[J].河南理工大學學報,2008 193-199
[8]張明鑫,米文寶,魏海平.數字校園的構建及其關鍵技術研究[J]資源環境與發展,2007 45-48
馬琪(1995-),女,漢族,山西省臨汾市人,大學本科,山西農業大學。
楊三紅(1978-),男, 漢族,山西省臨汾市人,講師,從事景觀生態學和地理信息系統向的教學與科研。
山西省普通高等學校大學生創新創業項目