楊佳 杜漸
摘 要:該文以北京某開(kāi)發(fā)區(qū)園區(qū)地理信息系統(tǒng)開(kāi)發(fā)為研究背景,對(duì)GIS技術(shù)在園區(qū)信息管理中的應(yīng)用進(jìn)行了研究,闡述系統(tǒng)總體結(jié)構(gòu)、功能模塊和數(shù)據(jù)庫(kù)設(shè)計(jì),基于ArcGIS Engine開(kāi)發(fā)平臺(tái),結(jié)合可視化開(kāi)發(fā)語(yǔ)言Visual C#進(jìn)行集成二次開(kāi)發(fā),實(shí)現(xiàn)了顯示、查詢、編輯等GIS常用功能以及三維顯示和三維分析功能,為開(kāi)發(fā)區(qū)管理部門(mén)提供多層次園區(qū)地理數(shù)據(jù)與決策依據(jù)。
關(guān)鍵詞:園區(qū)地理信息系統(tǒng) ArcGIS Engine 三維分析
中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2013)03(a)-00-02
地理信息系統(tǒng)以其強(qiáng)大的數(shù)據(jù)可視化、空間數(shù)據(jù)庫(kù)管理以及空間分析功能,為新建開(kāi)發(fā)區(qū)的信息化管理提供了強(qiáng)有力的工具,構(gòu)建新建開(kāi)發(fā)區(qū)地理信息系統(tǒng)已是必然趨勢(shì)。
該文結(jié)合北京某開(kāi)發(fā)區(qū)地理信息系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)實(shí)踐,對(duì)采用ArcGIS Engine作為GIS開(kāi)發(fā)平臺(tái)建立園區(qū)地理信息系統(tǒng)進(jìn)行了較深入的研究。本系統(tǒng)融合當(dāng)今GIS的主流技術(shù)—組件式GIS和數(shù)據(jù)庫(kù)技術(shù),能夠較好地為開(kāi)發(fā)區(qū)建設(shè)管理服務(wù),為展現(xiàn)新園區(qū)信息提供了一個(gè)平臺(tái)及可視化窗口。
1 需求分析
從開(kāi)發(fā)區(qū)園區(qū)信息管理的實(shí)際需要出發(fā),系統(tǒng)能夠?qū)π聢@區(qū)地形、建筑物、管線等數(shù)據(jù)進(jìn)行統(tǒng)籌管理,記錄新園區(qū)從規(guī)劃初期到竣工建成的整個(gè)建設(shè)過(guò)程;提高園區(qū)設(shè)施管理的效率,便于查詢和分析,對(duì)今后日常維護(hù)、資產(chǎn)管理、各種資料的保存及新園區(qū)改造提供依據(jù),并可直觀地展現(xiàn)三維立體的園區(qū)景觀。
2 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)采用客戶機(jī)/服務(wù)器(Client/Server)的體系結(jié)構(gòu)。服務(wù)器端存儲(chǔ)系統(tǒng)空間數(shù)據(jù)庫(kù),應(yīng)客戶端請(qǐng)求發(fā)送不同用途的數(shù)據(jù),由系統(tǒng)維護(hù)人員負(fù)責(zé)空間數(shù)據(jù)庫(kù)的管理和維護(hù),客戶端只需要安裝ArcGIS Engine Runtime(運(yùn)行時(shí))即可。
系統(tǒng)以目前在世界上占主流地位的開(kāi)放型GIS軟件—ArcGIS地理信息處理平臺(tái)為基礎(chǔ),采用關(guān)系數(shù)據(jù)庫(kù)SQL Server 2000和ArcSDE 9.2相結(jié)合的技術(shù)統(tǒng)一管理空間數(shù)據(jù)和屬性數(shù)據(jù),確??臻g和非空間數(shù)據(jù)的一體化存儲(chǔ),實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、管理、查詢、檢索及數(shù)據(jù)的深層次挖掘問(wèn)題,為前端GIS應(yīng)用功能的開(kāi)發(fā)提供強(qiáng)有力的支持。
2.2 系統(tǒng)功能模塊
根據(jù)需求分析,將系統(tǒng)設(shè)計(jì)為10個(gè)功能模塊來(lái)實(shí)現(xiàn),分別為數(shù)據(jù)加載模塊、數(shù)據(jù)編輯模塊、地圖瀏覽模塊、影像播放模塊、查詢檢索模塊、三維顯示模塊、空間量算模塊、三維分析模塊、系統(tǒng)管理模塊和地圖打印模塊。
3 數(shù)據(jù)庫(kù)設(shè)計(jì)
3.1 數(shù)據(jù)庫(kù)構(gòu)成
本系統(tǒng)的數(shù)據(jù)庫(kù)建設(shè)是一項(xiàng)長(zhǎng)期、重要和基礎(chǔ)性的工作,數(shù)據(jù)庫(kù)中包括地形、規(guī)劃和工程勘察數(shù)據(jù)以及系統(tǒng)配置數(shù)據(jù),構(gòu)成能夠提供豐富的信息資源和服務(wù)能力的園區(qū)空間數(shù)據(jù)中心。
3.2 基于Geodatabase的空間數(shù)據(jù)組織模式
本系統(tǒng)需要對(duì)園區(qū)建筑物、地下管線、運(yùn)動(dòng)場(chǎng)等多種地理要素的空間數(shù)據(jù)和屬性數(shù)據(jù)進(jìn)行管理,涉及的數(shù)據(jù)種類多,數(shù)據(jù)量大,且各類數(shù)據(jù)之間存在一定的關(guān)系。因此,為了實(shí)現(xiàn)統(tǒng)一管理,采用新型的面向?qū)ο髷?shù)據(jù)模型Geodatabase來(lái)設(shè)計(jì)和管理系統(tǒng)的地理數(shù)據(jù)庫(kù)。系統(tǒng)Geodatabase中的矢量數(shù)據(jù)包含要素?cái)?shù)據(jù)集(Feature Dataset)和要素類(Feature Class)兩種數(shù)據(jù)結(jié)構(gòu),要素?cái)?shù)據(jù)集是具有相同空間參考系統(tǒng)的要素類的集合,如基礎(chǔ)地形要素?cái)?shù)據(jù)集;要素類是存儲(chǔ)相同幾何類型和屬性的要素的集合,要素類是各要素?cái)?shù)據(jù)集中具有點(diǎn)、線或面幾何特征的地理實(shí)體,如道路線要素類。柵格數(shù)據(jù)集包含表達(dá)連續(xù)地理對(duì)象的柵格數(shù)據(jù),柵格數(shù)據(jù)集能夠表示一副影像圖、一個(gè)表面、一個(gè)以格網(wǎng)采樣的環(huán)境屬性,或者有關(guān)特征的對(duì)象圖片,開(kāi)發(fā)區(qū)園區(qū)用地的遙感影像圖(QuikBird衛(wèi)星數(shù)據(jù))是采用柵格數(shù)據(jù)集管理。關(guān)系表中的表文件是記錄的集合,本系統(tǒng)地理數(shù)據(jù)庫(kù)中的關(guān)系表為項(xiàng)目設(shè)計(jì)方案信息表。
4 系統(tǒng)開(kāi)發(fā)與實(shí)現(xiàn)
4.1 系統(tǒng)開(kāi)發(fā)環(huán)境
采用Visual studio 2005+ArcGIS Engine 9.2作為系統(tǒng)的開(kāi)發(fā)平臺(tái),用面向?qū)ο蟮姆椒ㄟM(jìn)行程序設(shè)計(jì),通過(guò)Visual C#開(kāi)發(fā)語(yǔ)言調(diào)用ArcGIS Engine組件庫(kù)的組件,利用相關(guān)接口和函數(shù)開(kāi)發(fā)系統(tǒng)功能,實(shí)現(xiàn)了數(shù)據(jù)加載、數(shù)據(jù)編輯、地圖瀏覽、影像播放、查詢檢索、三維顯示、空間量算、三維分析、系統(tǒng)管理和地圖打印功能。
4.2 主要功能實(shí)現(xiàn)
以地圖瀏覽、三維顯示和三維分析為例進(jìn)行說(shuō)明。
(1)地圖瀏覽
地圖瀏覽界面主要由地圖顯示區(qū)、圖層控制區(qū)、菜單欄和工具欄組成。地圖瀏覽功能可進(jìn)行視圖控制和圖層控制操作,主要是利用ArcGIS Engine中己封裝的工具條控件(ToolbarControl)和目錄樹(shù)控件(TOCControl)實(shí)現(xiàn),使用工具按鈕對(duì)地圖進(jìn)行放大、縮小、移動(dòng)等操作,方便用戶觀察目標(biāo)和快速定位。圖層控制窗口用來(lái)顯示地圖的圖層,可以控制圖層的顯隱以及圖層在上層或下層的控制,便于用戶選擇感興趣的圖層和顯示方式進(jìn)行地圖瀏覽和查詢分析,提高查找效率。
(2)三維顯示
通過(guò)顯示園區(qū)三維地形模型和地物模型,可以為開(kāi)發(fā)區(qū)管理人員提供對(duì)園區(qū)布局和資源的可視化預(yù)覽,提供可視化的分析和決策環(huán)境,以地形表面模型建立為例進(jìn)行說(shuō)明。
① 創(chuàng)建TIN(不規(guī)則三角網(wǎng))
從1∶500園區(qū)用地現(xiàn)狀地形圖中提取出測(cè)量點(diǎn),測(cè)量點(diǎn)數(shù)據(jù)含有高程信息,使用測(cè)量點(diǎn)創(chuàng)建TIN。TIN用不規(guī)則三角網(wǎng)表達(dá)地形表面,三角形的網(wǎng)點(diǎn)存儲(chǔ)Z值(高程值),從而建立了園區(qū)用地現(xiàn)狀的地形表面模型。
② 在TIN上疊加建筑物的高度
在TIN上分別疊加用地現(xiàn)狀地形圖上的居民地和規(guī)劃園區(qū)單體建筑的建筑高度,從而得到疊加居民地的地形表面模型和疊加園區(qū)單體建筑的地形表面模型,按照不同的高程段用不同的顏色顯示,展示了園區(qū)不同時(shí)期的三維地形景觀,如圖1和圖2所示。
(3)三維分析
①剖面分析
系統(tǒng)可根據(jù)地形數(shù)據(jù)繪制地形剖面圖,地形剖面圖表示沿兩點(diǎn)連線前進(jìn)時(shí)地形表面上高程變化的情況。首先,在TIN上選擇兩點(diǎn),然后根據(jù)選擇的兩點(diǎn)創(chuàng)建剖面線(Polyline對(duì)象),然后計(jì)算出TIN與Polyline對(duì)象相交后的三維線(含有Z值的線),根據(jù)三維線對(duì)象在TIN上繪制圖形要素,最后根據(jù)三維線上每個(gè)點(diǎn)的距離和高程信息繪制地形剖面圖。
視域分析
視域分析功能實(shí)現(xiàn)了兩點(diǎn)通視分析。首先需建立視線瞄準(zhǔn)線,創(chuàng)建視線瞄準(zhǔn)線可以判斷某點(diǎn)相對(duì)于另外一點(diǎn)而言是否可見(jiàn)。如果地形遮擋了目標(biāo)點(diǎn),則可以分析得出這些障礙物,以及視線瞄準(zhǔn)線上哪些區(qū)域可視,哪些區(qū)域不可見(jiàn)。在瞄準(zhǔn)線上,可視與遮擋的部分分別以不同的顏色表示。
5 結(jié)語(yǔ)
該文結(jié)合北京某開(kāi)發(fā)區(qū)園區(qū)地理信息系統(tǒng)的開(kāi)發(fā)實(shí)踐,探討了ArcGIS Engine組件技術(shù)在園區(qū)信息化管理中的應(yīng)用和實(shí)現(xiàn)方法,在開(kāi)發(fā)過(guò)程中得出以下結(jié)論:(1)為了便于設(shè)計(jì)開(kāi)發(fā)和維護(hù)管理,需要采用合理的GIS空間數(shù)據(jù)與屬性數(shù)據(jù)的組織結(jié)構(gòu),建立比較完善的空間數(shù)據(jù)和屬性數(shù)據(jù)關(guān)聯(lián)的GIS數(shù)據(jù)庫(kù),這是實(shí)現(xiàn)GIS功能的前提條件和系統(tǒng)開(kāi)發(fā)成敗的關(guān)鍵。(2)選擇ArcGIS Engine作為系統(tǒng)的GIS開(kāi)發(fā)平臺(tái),能夠滿足新園區(qū)信息管理對(duì)GIS功能的需要,較好地實(shí)現(xiàn)系統(tǒng)集成。利用可視化開(kāi)發(fā)語(yǔ)言Visual C#進(jìn)行開(kāi)發(fā)集成,能夠方便靈活地實(shí)現(xiàn)GIS大部分功能。
參考文獻(xiàn)
[1 董娜.基于ArcGIS Engine的××大學(xué)新園區(qū)地理信息系統(tǒng)研究與實(shí)現(xiàn)[D].昆明:昆明理工大學(xué),2008.
[2] 顧留碗,鄭平建,張海榮.基于GIS技術(shù)的滁州學(xué)院管理系統(tǒng)[J].滁州學(xué)院學(xué)報(bào),2009(1).
[3] 趙俊蘭,馮仲科.基于組件式的數(shù)字園區(qū)信息管理系統(tǒng)的建立[J].測(cè)繪通報(bào),2007(6).
[4] 李守平,潘雨青,陳天滋.三維GIS建模方法的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2006,23(11).
科技創(chuàng)新導(dǎo)報(bào)2013年7期