范況生
【摘 要】 以商丘師范學員校園地理信息系統的設計與實現為例,對校園地理信息系統開發方法、系統功能設計、實現方法步驟進行了詳細的介紹,并實現了地理信息的顯示、查詢、分析等功能。系統的開發可以為其他相關綜合服務系統的設計開發提供借鑒參考。
【關鍵詞】 GIS;Map Objects
地理信息系統是由計算機硬件、軟件、空間數據、應用模型和用戶組成的一個計算機系統,該系統通過對地理數據的采集、管理、處理、分析、建模和顯示,幫助我們解決復雜的規劃和管理問題。從而在資源管理、區域規劃、國土監測、輔助決策等領域有著廣泛的應用。自上世紀末以來,地理信息系統技術開始走進千家萬戶,已經深入到我們社會生活的各個方面。作為高等院校在當今信息化浪潮中也不可避免的要實現校園信息管理的數字化、信息化。目前,國內很多高校都已著手建立相應的數字化校園系統。本文以商丘師范學院校園為例,介紹了“數字化校園”建設的體系構架、系統功能、數據組織模型,最終構建了商丘師范學院校園地理信息系統。商丘師范學院校園地理信息系統的建設,可以實現校園各種地理信息的管理、查詢檢索和規劃決策,為廣大在校師生提供有效服務,同時也可以擴大學校的社會影響,為學校宣傳和新生了解學校提供一個有力的平臺。
1 開發工具與開發平臺
組件技術是實現軟件重用的重要解決技術,組件技術不僅具有封裝性、繼承性、多態性這三個特性,而且更適合于現代軟件更新快、規模大、強調寫作的軟件環境。組件的優勢在于可以部分升級,易于維護,實現動態組合,提高了軟件生產力,由于采用標準接口、標準規范、標準協議,這就增加了異構軟件的可能,適應了現代軟件發展的要求。組件式平臺主要有Microsoft的COM/DCOM等。基于COM/DCOM,Microsoft推出了ActiveX技術。作為ActiveX技術的重要內容,ActiveX控件是當今可視化程序設計中應用最為廣泛的標準組件[1]。組件GIS不僅可以解決傳統GIS在軟件開發、應用系統集成和用戶學習使用等方面面臨的困難,而且有利于降低成本,具有無限擴展性、開發簡捷方便、小巧靈活、價格便宜、面向大眾等特點。組件GIS是當今GIS發展的一種重要趨勢。因此以高級程序設計語言為開發平臺,結合組件式GIS,適合于開發各個行業的應用型地理信息系統。
本系統的開發平臺是Microsoft公司開發的應用程序開發工具Visual Basic6.0,它的特點主要是:它采用可視化的集成開發環境,具有面向對象的可視化工具,初學者只需要掌握幾個關鍵詞就可以建立自己的應用程序;采用面向對象的程序設計思想,整個應用程序由若干個彼此獨立的事件過程構成,使得應用程序的代碼較短,易于開發人員編寫和維護;VB還是一種可擴充的編程語言,支持第三方開發的應用程序、支持訪問動態鏈接庫以及應用程序接口,這些特征在很大程度上可增強VB的編程能力。
本系統采用的開發平臺為基于GIS組件Map Objects(簡稱MO)。Map Object是由美國的ESRI公司開發,是當今流行的組件式GIS開發軟件。Map Object是一組地圖軟件的組件,它包含了超過45個可編程OLE對象。Map Objects的對象可分為5大類:地理匹配對象、數據訪問對象、地圖顯示對象、幾何圖形對象和實用對象[2]。利用這些對象可以在普通的編程語言上實現主要的地理信息系統的功能。基于MO的開發模式具有以下的優點:系統開發周期短、費用低、易安裝維護;數據組織方式與相應的G1S工具軟件兼容,便于其他系統的數據調用;可供選擇的開發語言比較多,如Visual basic等[3]。
2 用Map Objects開發GIS系統的方法
2.1 Map Objects的體系結構
Map Objects可以說得上是最優雅簡潔的GIS軟件組件。它以最少的接口提供了常用的GIS功能,甚至GPS的動態特性,同時做到了結構合理,簡單明了,容易理解和擴展。GIS應用開發人員通過在通用開發平臺上調用可編程對象及其方法、屬性來實現各種GIS功能[4]。
Map Objects的基本功能:
(1)能通過地圖符號顯示地圖要素,并支持自定義符號。用符號表達地理要素是滌綸制圖的基本方法,Map Objects自帶有一些地圖符號,也可以有用戶自定義設計各種符號,這極大豐富了地圖表現力。
(2)支持對數據圖層的各種管理和操作。Map Objects為用戶提供了較為齊全的圖層編輯和管理功能。如圖層的添加、刪除以及圖層上下順序的調整等。
(3)支持各種圖形操作。通過Map Objects,開發人員可以實現一些基本的圖形操作,如放大、縮小和漫游等。
(4)可以添加注記。注記是地圖的重要內容,主要包括名稱和說明兩大類,Map Objects為開發人員提供了臨時注記、注記要素和屬性注記等各種添加地圖注記的方法,并且可以設置注記的顏色、大小、字體、間隔、排列、位置。
(5)提供各種查詢功能。Map Objects為開發人員提供了多種進行空間查詢的方法,通過他們可以實現幾何參數查詢、空間定位查詢、空間關系查詢和SQL查詢等多種形式查詢。
(6)提供一定的空間分析功能。通過Map Objects提供的空間分析方法可以實現一些簡單的空間分析功能,例如幾何量測、緩沖區分析、疊置分析、網絡分析。
(7)提供空間數據庫訪問功能。Map Objects可以通過ArcSDE訪問存放在數據庫中的空間數據,并且可以把數據庫中的數據作為一個圖層在客戶端進行顯示。
(8)提供地圖打印機輸出功能。在進行地圖輸出之前,通過Map Objects用戶首先可以實現地圖整飾,對要輸出的地圖圖面進行調整;同時可以對地圖進行打印輸出,并能把當前視口中的地圖按照圖像格式導出。endprint
總之,Map Objects在地圖查詢、顯示以及制圖輸出等方面都有比較強大的GIS功能,從而滿足不同層次用戶的需求。
2.2 MO開發GIS系統的過程
Map Objects的使用和開發過程與其他的ActiveX控件沒有兩樣,在Visual°Basic、Delphi、Visual° C++等能夠支持控件開發的編程環境下,一旦把控件插入到編程項目中,就可以通過接口使用控件所提供的各種方法。利用M0開發GIS系統一般遵循的基本步驟[6]:
(1)選擇合適的數據模型,創建數據庫:地理信息系統中的數據庫有兩種:存儲地理數據的空間數據庫和存儲非地理數據的屬性數據庫。shape文件是ESRI公司提供的存儲地理數據的矢量格式,Shape文件的格式是公開的,詳細Shape格式說明書是完全公開的[5]。通過空間實體的識別碼可將屬性數據庫與空問數據庫建立聯系。 MO借助空間數據庫引擎(SDE)可以支持對多種常用數據庫的訪問,包括Access、Informix、Oracle、Microsoft SQL Server、Sybase及其他通過ODBC連接的數據庫。
(2)加載與顯示地圖:由于一個Shape文件只包含一個專題圖層(點、層或面要素中的一種),因此特定區域內的所有地理對象會分解成多個圖層分別進行存儲。要顯示整幅地圖,應該將地圖所包含的全部圖層都添加到Map控件中。每個圖層通過名稱來加以區分,同時還要注意各圖層的顯示順序。此外,在程序運行中也可單獨在地圖上添加或顯示某圖層,刪除指定的圖層或改變圖層的屬性。
(3)增加、刪除、更改地理信息。Map Objects中的地理對象通常使用點(如電線桿,樹木,窨井蓋)、線(如道路,河流)、面(如綠地、水域)表示,并提供這些標準地理實體對象的點、線、面的類型定義。利用MO的各種選擇、訪問、定位功能,可以向構成地圖的各個點層、線層、面層中添加或刪除實體,或者更改相應實體的屬性。
(4)實現數據的查詢和分析統計:GIS最常見的特點是可以進行空間數據的各種查詢與統計。例如用MO開發的GIS中的查詢主要有三種:按相對位置的范圍搜索;按邏輯查詢,即按SQL語句的條件從句查詢;根據某個或某些圖形特征查詢其他相聯系的圖形特征。
3 開發與實現
3.1 校園GIS功能模塊設計
結合商丘師范學員校園地理信息系統的功能定位和開發需求,本系統的功能模塊包括圖形顯示與管理、空間分析功能、地圖打印功能、信息查詢功能、專題地圖制作等五個方面。各模塊功能如下所述[7]:
3.1.1 圖形顯示與管理
能夠實現區域內空間數據的無級放大、縮小、漫游等基本的操作,可以任意選擇打開或關閉某一數據層,也可根據顯示范圍的大小,自動調節地圖上內容的詳細程度,以保持圖面的清晰程度。
3.1.2 空間分析功能
通過緩沖區分析是圍繞空間實體自動建立其周圍一定寬度范圍內的多邊形圖層,它是用來解決空間臨近度問題的空間分析工具之一。統計分析是對收集到的數據進行整理歸類并進行解釋。空間距離量算可以解決任意兩點之間的最短距離與最佳路徑的選擇問題。
3.1.3 地圖打印功能
本系統具備簡單的打印功能以及數據輸出功能,將各種查詢和分析結果結果以圖像的形式輸出;對于屬性數據可以導入到Excel數據格式。
3.1.4 信息查詢功能
它能向用戶提供校園地形圖、現狀圖、規劃圖等方面的信息。可以實現空間數據和屬性數據的雙向查詢,即點擊相應地理事物查詢所需的屬性信息,如學校的占地面積、建筑面積等,也可以通過屬性查詢地物的空間信息,如通過教學樓名稱查詢位置等。
3.1.5 專題圖制作
GIS不僅可以輸出全要素地圖,也可以突出表現一種或幾種地理要素,以定點符號法、質別底色法、分區圖表法等手段制作各種專題題圖、各類統計圖、圖表及數據等,完成盡可能完善、詳盡地表示制圖區內的一種或幾種要素的地圖制作。
3.2 系統實現
系統的主窗口如圖1所示。
4 結語
組件式的地理信息系統開發方式已經成為現在軟件集成的主要方法,而GIS技術與實際情況相結合解決實際的問題,已經成為近年來地理信息系統研究的熱門方向。本文選用的MO組件程序高度的模塊化,使用比較簡單,縮短開發周期、降低開發難度,該系統實現了校園地理信息的可視化管理,極大提高了校園信息化管理的水平。
參考文獻
[1]劉向銅,熊助國,曹秋香等.基于MO 的校園GIS的設計與實現[J].地理空間地理信息,2008,6(6):34-36.
[2]王春波.基于MO 的校園GIS的設計與實現[J].遼寧省交通高等專科學校學報,2008,10(4):55-57.
[3]劉小生,劉傳立.基于VB和Map Objects平臺的空間數據查詢方法探討.有色金屬,2005,57(6):46-48.
[4]薛偉.Map Objects-地理信息系統程序設計[M].北京:國防工業出版社,2004.
[5]劉光.地理信息系統二次開發教程組件篇[M].北京:清華大學出版社,2003.
[6]龔沛曾,陸慰民,楊志強.Visual Basic程序設計教程(6.0版)[M].北京:高等教育出版社,2000.
[7]高尚宇.基于GIS的“數字校園”信息系統的設計與實現[D].青島:山東科技大學,2005.endprint