摘 要: 利用三維GIS與ESRI公司的組件式GIS-ArcGIS Engine的基本思想技術(shù),,在Visual C#開發(fā)環(huán)境下開發(fā)廣西肝癌與氣候危險因素GIS系統(tǒng),。系統(tǒng)解決傳統(tǒng)三維可視化系統(tǒng)難以對山區(qū)分不同的高度建模存儲的問題,這對傳統(tǒng)醫(yī)學(xué)空間流行病學(xué)的研究是一個全新的突破,。
關(guān)鍵詞: ArcGIS Engine;肝癌,;三維GIS
第三次全國死因回顧抽樣的結(jié)果顯示,,廣西是肝癌高發(fā)的省(市、自治區(qū))之一,,而且其發(fā)病地區(qū)分布很不均衡,,肝癌的發(fā)病與地理氣候因素密切相關(guān)。然而對于肝癌與氣候,、土壤,、地形等環(huán)境氣候因素之間的關(guān)系國內(nèi)外基本缺乏系統(tǒng)地研究,出現(xiàn)的客觀原因可能是地理,、氣候等,,其空間數(shù)據(jù)的復(fù)雜性與海量化,傳統(tǒng)的流行病學(xué)方法與手段對于空間數(shù)據(jù)的獲取與分析存在相當(dāng)大的難度,。再加上廣西是一個丘陵地貌為主的地區(qū),,傳統(tǒng)文字描述和地圖等語言根本沒有辦法完成廣西肝癌與氣候危險因素GIS[1-2]系統(tǒng)(下文稱“肝癌危險因素GSI系統(tǒng)”)開發(fā),同一個山體不同高度也會有不同氣候因素,,所以這套系統(tǒng)難點就是做到三維可視化系統(tǒng)對山體不同高度環(huán)境氣候進(jìn)行建模存儲和開發(fā)設(shè)計,。
組件式地理系統(tǒng)(CamGIS)[1-2]是GIS技術(shù)發(fā)展的潮流。ArcGIS Engine[3]是ESRI公司新推出的組件式GIS,,它可以低成本為用戶提供用戶需要特點的GIS應(yīng)用,。另一方面,GIS能與以前的地理圖像進(jìn)行對比和分析,。所以可以使用AR(ArcGis)技術(shù)對廣西肝癌與氣候危險因素GIS系統(tǒng)中去解決開發(fā)的難題,。
1 ArcGIS Engine組件式開發(fā)概述與開發(fā)方式
1.1 ArcGIS Engine組件式開發(fā)概述
ArcGIS Engine是ESRI公司新推出的GIS組件式開發(fā)引擎,。組件式開發(fā)克服了傳統(tǒng)GIS與其他系統(tǒng)[4-5]集成困難的特點,便于與各種不同特性的組件無縫集成,。
1.2 ArcGIS Engine的GIS組件開發(fā)方式
ArcGIS Engine的GIS組件系統(tǒng)開發(fā)的方式有三種:
(1)ArcGIS Engine的GIS組件系統(tǒng)的二次開發(fā):利用ArcGIS Engine已經(jīng)有的開發(fā)語言和環(huán)境進(jìn)行再次開發(fā),,不能脫離ArcGIS Engine的GIS開發(fā)環(huán)境,屬于較簡單開發(fā),。
(2)ArcGIS Engine的組件系統(tǒng)開發(fā):利用標(biāo)準(zhǔn)的通用開發(fā)程序語言結(jié)合ArcGIS Engine的GIS組件進(jìn)行開發(fā),,如VC#語言的開發(fā)環(huán)境、調(diào)用ArcGIS Engine的GIS組件進(jìn)行開發(fā)等,。這種方法屬于比較高級的開發(fā)方式,,不依賴ArcGIS Engine的開發(fā)平臺,可以自主單獨進(jìn)行,,自主開發(fā)部分可具有自主知識產(chǎn)權(quán),。
(3)ArcGIS Engine的底層系統(tǒng)開發(fā):系統(tǒng)所有內(nèi)容全部自主開發(fā),其中包括底層圖像驅(qū)動等高難度開發(fā),,不依賴任何開發(fā)平臺,,具有全部知識產(chǎn)權(quán),開發(fā)難度非常大,。
由于廣西肝癌與氣候危險因素GIS系統(tǒng)研究很復(fù)雜,,圖像和數(shù)據(jù)非常多,在選擇VC#開發(fā)語言環(huán)境下,,系統(tǒng)同時采用三種開發(fā)方式,,數(shù)據(jù)和圖像部分處理采用第一和第二種開發(fā)方式,高級的圖像呈現(xiàn)必須要系統(tǒng)開發(fā)小組自己完成,,也就是第三種開發(fā)方式,。
2 肝癌危險因素GIS系統(tǒng)三維GIS定義與數(shù)據(jù)模型設(shè)計
2.1 肝癌危險因素GIS系統(tǒng)的定義及開發(fā)流程
因為肝癌危險因素GIS系統(tǒng)調(diào)查的對于山體氣候不同高度氣候是有要求的,所以傳統(tǒng)的基于平面的二維GIS不適合設(shè)計本文系統(tǒng),,必須使用三維GIS才能完成,,特別在空間位置與拓?fù)潢P(guān)系的描述及空間分析的伸展上更能體現(xiàn)其優(yōu)勢[6-7]。
肝癌危險GIS系統(tǒng)可以采用的開發(fā)方式有三種:(1)難度最大的底層開發(fā),,對開發(fā)小組要求最高,,本系統(tǒng)山體底層立體成像細(xì)微部分即采用這種方式的;(2)對于系統(tǒng)大面積的顯示整體,,本系統(tǒng)利用可視化的軟件實現(xiàn)三維信息的顯示過程,;(3)借助成熟的GIS軟件進(jìn)行三維二次開發(fā),使系統(tǒng)能分山體不同高度建模,,增強肝癌危險GIS系統(tǒng)可視化的功能,,達(dá)到對危險因素準(zhǔn)確的數(shù)據(jù)分析,這種開發(fā)是肝癌危險GIS系統(tǒng)[8]最主要的開發(fā)方式。
2.2 GIS系統(tǒng)Multipatch多片模塊三維數(shù)據(jù)模型
Multipatch多片模塊在Arc GIS開發(fā)系統(tǒng)中定義表示為:描述三維表面的元素集合,,在肝癌危險GIS系統(tǒng)中主要是描述山體各種不同的元素集合,。系統(tǒng)的多片模塊就是在二維山體圖形的基礎(chǔ)上,將垂直值作為系統(tǒng)山體高度坐標(biāo)值,,得到系統(tǒng)所要的山體三維圖形,。
2.3 GIS因素系統(tǒng)Multipatch多片模塊獲取與建模
肝癌危險因素GIS系統(tǒng)的Multipatch多片模塊采用基于矢量結(jié)構(gòu)的三維表面數(shù)據(jù)模型。而實際采集到的數(shù)據(jù)是二維的數(shù)據(jù),,與系統(tǒng)需要的三維數(shù)據(jù)有很大差距,,要求用便捷的方式由二維數(shù)據(jù)變?yōu)槿S數(shù)據(jù)。本文采用兩種方法進(jìn)行二維數(shù)據(jù)與三維數(shù)據(jù)的轉(zhuǎn)換:(1)在二維數(shù)據(jù)生成的圖形基礎(chǔ)上直接建模轉(zhuǎn)換,;(2)把二維數(shù)據(jù)導(dǎo)入三維模型中,,由編程糾錯的方法把二維數(shù)據(jù)轉(zhuǎn)變成三維數(shù)據(jù)使用。
2.4 GIS系統(tǒng)Multipatch多片模塊創(chuàng)建的方式
肝癌GIS系統(tǒng)的采用在二維數(shù)據(jù)的圖形的基礎(chǔ)上直接建模的方式,,通過SceneControl控件和C#圖形編程結(jié)合顯示,,直接實現(xiàn)肝癌GIS系統(tǒng)對各個采集數(shù)據(jù)點肝癌發(fā)生區(qū)在同一個山體不同高度的查詢與立體式訪問。
建模方式為:(1)拉伸二維底面,,用IconstructMultipatch接口實現(xiàn),;(2)使用IGeneraMultipatch接口結(jié)合C#編程,并利用GeometryMaterailList實現(xiàn)肝癌GIS系統(tǒng)中更加逼真的多維模塊,。
可以用IConstructMultipatch接口去創(chuàng)建多維模塊的圖形的起始底面,,從而得到山體不同高度的模型。其代碼如下:
For Altitude=0 TO Altitude(MAX)
//從山體最低處到山體最高處
Set cylinder=Shape
Set IConstructMultipatch=New AltitudeMultipatch
IConstructMultipatch point=100meter
//假設(shè)每百米列出數(shù)據(jù)
……
Next Altitude
3 肝癌危險因素GIS系統(tǒng)設(shè)計與開發(fā)
3.1 GIS系統(tǒng)設(shè)計
肝癌危險因素GIS系統(tǒng)提供一個廣西肝癌與氣候危險因素與三維信息的互相操作和查詢的平臺,,在該平臺上的用戶可以很方便看到廣西肝癌與氣候危險因素在各個地區(qū)情況,,特別是可以看到同一座山上不同高度不同氣候條件下各種因素對肝癌危險的關(guān)系,。
3.1.1 GIS系統(tǒng)開發(fā)環(huán)境
肝癌危險因素GIS系統(tǒng)采用的語言是Visual C#2008,,GIS系統(tǒng)的GIS平臺是ArcGIS Engine,GIS系統(tǒng)存放空間數(shù)據(jù)和屬性數(shù)據(jù)采用Geodatabase空間數(shù)據(jù)庫,。
3.1.2 GIS系統(tǒng)實現(xiàn)功能目標(biāo)
(1)圖層不同高度的操作:對肝癌危險因素GIS系統(tǒng)中各種不同山體三維的圖層進(jìn)行增加,、刪除和轉(zhuǎn)換。
(2)多角度數(shù)據(jù)的瀏覽操作:能實現(xiàn)肝癌危險因素在山體的三維空間多角度的放大,、縮小,、漫游、縮放,、拖動等功能及顯示相應(yīng)危險數(shù)據(jù),。
(3)查詢功能:能在三維視圖中快速地查詢到所需要的山體不同對于高度系統(tǒng)的數(shù)據(jù)。
(4)屬性查詢:顯示山體選中三維不同高度肝癌危險因素信息,。
3.2 GIS系統(tǒng)功能實現(xiàn)
3.2.1 圖層不同高度的操作實現(xiàn)
使用Visual C#對系統(tǒng)進(jìn)行對接編程,,裝載ArcGIS Engine中的SceneControl和MapConrrtrol用于顯示系統(tǒng)圖形,然后再裝載ArcGIS Engine中的TocControl控件進(jìn)行對山體三維層的增加、刪除和轉(zhuǎn)換,。
3.2.2 多角度數(shù)據(jù)實現(xiàn)
使用Visual C#對系統(tǒng)進(jìn)行對接編程,,使用SSTab控件裝載ArcGIS Engine可視化控件SceneControl和MapConrrtrol的容器,實現(xiàn)山體的三維空間的放大,、縮小,、漫游、縮放,、拖動等功能,,以及顯示相應(yīng)危險因素數(shù)據(jù)。
3.2.3 查詢功能實現(xiàn)
肝癌危險因素GIS系統(tǒng)查詢功能指系統(tǒng)用戶能在三維視圖中快速地查詢到所需要的山體不同高度系統(tǒng)對應(yīng)的數(shù)據(jù),。使用Visual C#編程工具快速按字段關(guān)鍵字(如“高度”,,“溫度”,“肝癌患者數(shù)”等)查詢,。使用Visual C#對系統(tǒng)進(jìn)行對接編程,。
4 肝癌危險因素GIS系統(tǒng)實例分析
系統(tǒng)開發(fā)與展示環(huán)境:1臺數(shù)據(jù)服務(wù)器、1臺應(yīng)用服務(wù)器和65個鄉(xiāng)鎮(zhèn)衛(wèi)生站的統(tǒng)計客戶端,,2臺服務(wù)器配置基本需要四核八線程CPU,,內(nèi)存4 GB,采用Win7系統(tǒng),。
根據(jù)以上所討論的技術(shù)與方案設(shè)計開發(fā)了廣西肝癌與氣候危險因素GIS系統(tǒng),,在廣西肝癌與氣候項目中進(jìn)行了示范應(yīng)用,實現(xiàn)項目組與各個部門統(tǒng)計數(shù)據(jù)的集成與共享,,并對該系統(tǒng)進(jìn)行一體化的存儲與管理,。特別是在三維展示各自與肝癌有關(guān)系的因素上發(fā)揮出了不錯的效果。如圖1所示為廣西肝癌與氣候危險因素GIS系統(tǒng)在廣西某山區(qū)統(tǒng)計部分?jǐn)?shù)據(jù)展示圖,。
圖中每組數(shù)據(jù)的3個數(shù)值分別表示:海拔高度,、該地區(qū)溫度、肝癌數(shù)量,。
本文針對廣西肝癌與氣候危險因素GIS系統(tǒng)的實際需求,,提出了基于AE和C#聯(lián)合開發(fā)的三維GIS系統(tǒng),突破了傳統(tǒng)醫(yī)學(xué)統(tǒng)計的局限性,,通過傳統(tǒng)醫(yī)學(xué)統(tǒng)計學(xué)與現(xiàn)代GIS計算機技術(shù)有效結(jié)合,,使得醫(yī)學(xué)統(tǒng)計學(xué)更加高效率和更加直觀化。但由于這方面研究剛剛起步,,在實際開發(fā)中,,很多現(xiàn)代醫(yī)學(xué)統(tǒng)計技術(shù)與GIS的結(jié)合上還存在學(xué)科融合問題,有待進(jìn)一步的改進(jìn),。
參考文獻(xiàn)
[1] 鄭坤,,劉修國.基于啟發(fā)式規(guī)則的網(wǎng)頁主題信息精確定位方法[J].地球科學(xué)-中國地質(zhì)大學(xué)學(xué)報,,2010,35(3):369-374.
[2] 顧洪祥,,李建忠.基于ArcObjects的環(huán)境規(guī)劃與管信息支持系統(tǒng)[J].計算機系統(tǒng)應(yīng)用,,2010,35(3):369-374.
[3] 張賜,,吳健平.基于AE的校園房產(chǎn)三維GIS系統(tǒng)開發(fā)與研究[J].計算機技術(shù)與發(fā)展,,2011,21(2):215-222.
[4] 孫棟,,陳莉.基于數(shù)據(jù)倉庫的決策支持系統(tǒng)[J].微機發(fā)展,,2005,15(10):67-72.
[5] 程亮,,張友靜.Web環(huán)境下房產(chǎn)測繪信息三維可視化技術(shù)研究[J].測繪科學(xué),,2008,33(1):119-121.
[6] 范力銘.基于ArcObjects的三維GIS系統(tǒng)開發(fā)與應(yīng)用[M].上海:華東師范大學(xué),,2007.
[7] 汪明沖,,趙軍,李玉琳.空間數(shù)據(jù)庫引擎及其解決方案分析[J].地理信息時間,,2006,,8(4):63-6.
[8] He Xubin, Ou Li,, KOSA M,, et al. A unified cache for high perfman cluster storage Systems[J]. International Journal HighPer formace Computering and Networking 2007,5(1/2):97-100.