韓 楚,張思沖
(哈爾濱師范大學(xué),黑龍江 哈爾濱 150025)
GISLITE就是針對(duì)于小型的GIS普及、GIS應(yīng)用的推廣。本文主要圍繞GIS各項(xiàng)功能實(shí)現(xiàn)展開研究,主要有礦區(qū)地質(zhì)勘探圖形顯示,地圖標(biāo)注的獨(dú)特顯示,聚合地質(zhì)圖的顯示,熱點(diǎn)地質(zhì)圖的顯示等等,包括很多實(shí)例代碼及其各項(xiàng)功能的圖形界面,本次研究主要完成GIS的基本功能。
目前國(guó)內(nèi)MAPGIS、SUPERMAP為國(guó)產(chǎn)軟件的巔峰[6]。其理念為別人有的我一定要有這樣就能保持至少不落后,很多時(shí)候這樣的平臺(tái)在礦區(qū)地質(zhì)勘探工程上都是拾取別人市場(chǎng)所剩下的項(xiàng)目。并且占據(jù)內(nèi)存,組件臃腫。不能簡(jiǎn)單快捷地完成某一GIS方面的應(yīng)用。但GISLITE具有超高的自由性,雖對(duì)編程人員的要求相對(duì)來說比較高,但是可以完成的功能比較多,可以根據(jù)編程人員的需求從而編寫所需要的特定的程序。
它有著高水準(zhǔn)的圖像處理能力,GIS計(jì)算快捷等特點(diǎn)。可以加載一些比較大的網(wǎng)站所發(fā)布的地圖,GISLITE的桌面版為開源開發(fā)而出,所以GISLITE的桌面版位免費(fèi)提供給客戶,客戶主要把精力用到軟件的開發(fā)上。GISLITE還提供了一些封裝好的空間,依托于桌面版可以很好的完成GIS的工作。與國(guó)內(nèi)地理信息系統(tǒng)軟件相比提供全面的解決方案,涵蓋各行業(yè)的WebGIS應(yīng)用需求,與國(guó)外地理信息系統(tǒng)軟件相比明顯的價(jià)格優(yōu)勢(shì),只有國(guó)外產(chǎn)品的十分之一。并且GISLITE可二次開發(fā)的優(yōu)越性帶來了方便性,開發(fā)現(xiàn)率高,自由度高等特點(diǎn)。
通過數(shù)據(jù)的流程讓用戶可以直觀的了解到程序的運(yùn)行性能及其基本功能。為詳細(xì)設(shè)計(jì)過程中的代碼編寫和詳細(xì)設(shè)計(jì)做準(zhǔn)備。
可行性研究。對(duì)軟件研究進(jìn)行總體設(shè)計(jì)之前,先要了解研究開發(fā)前要做的前期準(zhǔn)備[9]??尚行匝芯康闹饕蝿?wù)是通過大量的調(diào)查,確定GISLITE所要完成的任務(wù),以及建成后所產(chǎn)生的效益,分析建立GISLITE的必要性和可能性。本次課題研究的為總體需求分析,如圖1所示:
圖1 需求分析說明圖
需求分析之后進(jìn)行總體設(shè)計(jì),先要對(duì)系統(tǒng)總體進(jìn)行設(shè)計(jì),下圖為系統(tǒng)總體結(jié)構(gòu)圖:
圖2 總體結(jié)構(gòu)說明圖
數(shù)據(jù)的獲取包括數(shù)據(jù)的采集與輸入,即將系統(tǒng)外部的原始數(shù)據(jù)傳輸?shù)较到y(tǒng)內(nèi)部,并將它們從外部格式轉(zhuǎn)換為系統(tǒng)能夠識(shí)別和處理的內(nèi)部格式存儲(chǔ)于系統(tǒng)的地理數(shù)據(jù)庫中[13]。GISLITE所需的原始數(shù)據(jù)分為空間數(shù)據(jù)和屬性數(shù)據(jù)兩類,空間數(shù)據(jù)是指圖形實(shí)體數(shù)據(jù),常采用的輸入方法和鍵盤輸入,屬性數(shù)據(jù)是指空間實(shí)體的特征數(shù)據(jù),一般采用鍵盤輸入[16]。
GIS的數(shù)據(jù)分為柵格數(shù)據(jù)和矢量數(shù)據(jù)兩大類。GIS系統(tǒng)都采用了分層技術(shù),即根據(jù)地圖的某些特征,把它分為若干層。整張地圖正是所有層的疊加結(jié)果。這樣用戶操作時(shí)就只涉及到一些特定的層,而不是整幅地圖,因而系統(tǒng)能對(duì)用戶的要求做出迅速反應(yīng)[14]。GIS的數(shù)據(jù)管理包括圖形庫管理和屬性庫管理。根據(jù)圖形數(shù)據(jù)的幾何特點(diǎn),可將其分為點(diǎn)數(shù)據(jù)、線數(shù)據(jù)、面數(shù)據(jù)和混合性數(shù)據(jù)4種類型,根據(jù)數(shù)據(jù)間的拓?fù)潢P(guān)系分類整合。
數(shù)據(jù)處理包括兩方面工作:一是對(duì)輸入的數(shù)據(jù)進(jìn)行質(zhì)量檢查與糾紛,包括圖形數(shù)據(jù)和屬性數(shù)據(jù)的編輯、圖形數(shù)據(jù)和屬性數(shù)據(jù)之間對(duì)應(yīng)關(guān)系的校驗(yàn)、空間數(shù)據(jù)的誤差校正等;二是對(duì)輸入的圖形數(shù)據(jù)進(jìn)行整飾處理,使其滿足地理信息系統(tǒng)的各種應(yīng)用要求[15.18.19]??臻g分析是指根據(jù)確定的應(yīng)用分析模型,通過對(duì)空間圖形數(shù)據(jù)的拓?fù)溥\(yùn)算及空間、非空間屬性數(shù)據(jù)的聯(lián)合運(yùn)算等各種操作運(yùn)算來分析一定區(qū)域的各種現(xiàn)象,以獲得更有效地?cái)?shù)或某一特定問題的解決方案[11.17]。
GISLITE在圖像的顯示上做了很大的優(yōu)化,包括圖形反鋸齒、更加符合國(guó)人的習(xí)慣的標(biāo)注。
詳細(xì)設(shè)計(jì)主要是指對(duì)象設(shè)計(jì),即確定類的完整定義,并確定操作的算法[1.2.4]。先對(duì)結(jié)構(gòu)進(jìn)行設(shè)計(jì),確定功能模塊,數(shù)字化方案,輸入、輸出,用戶界面等一系列問題,最后確定系統(tǒng)的實(shí)現(xiàn)和維護(hù)問題[7.14]。在編碼實(shí)現(xiàn)過程當(dāng)中,幾個(gè)核心代碼:
(1)讀取指定的圖層,通過axMXObject的layers的GETLayerByName方法依據(jù)圖層的名稱獲取圖層。
MXVectLayer myMXvectLayer =(MXVectLayer)axMXObject1.layers.GetLayerByName;
首先將讀取的圖層在礦區(qū)地質(zhì)圖展示控件中進(jìn)行全圖顯示,通過MXVectLayer的SearchAllGeature方法搜索所有要素將在顯示版面上顯示出來。
MXDataset myMXDataset = myMXvectLayer.SearchAllFeature();
由于讀取的屬性值為指針類型,所以當(dāng)要讀取下一個(gè)數(shù)據(jù)時(shí)要撥動(dòng)指針。
IMXFeature pMXFeature = myMXDataset.GetNext();
將所需的數(shù)據(jù)讀取出來,把值傳遞給string類型。
string st = pMXFeature.GetType().ToString();
string b = myMXDataset.GetFieldString("name");
通過類MXStyle更改符號(hào)樣式,請(qǐng)參見MXStyle類的介紹。
MXStyle myMXStyle = new MXStyle();
修改點(diǎn)的樣式,目前來說點(diǎn)的樣式就只有三種通過數(shù)值1、2、3來進(jìn)行修改。
myMXStyle.PointStyle = 2;
將修改好的點(diǎn)的樣式傳遞給要顯示的地圖樣式,這樣就能顯示所設(shè)置的符號(hào)樣式。
axMXObject1.layers.GetLayerByName.SymbolStyle= myMXStyle;
因?yàn)樵谧x取過程中地圖可能沒有在可視范圍內(nèi),所以要進(jìn)行全圖顯示地圖。
axMXObject1.ShowFullMap();
下圖為讀取圖層的展示圖。
圖3 讀取制定的圖層
(2)緩沖區(qū)分析
//設(shè)置緩沖區(qū)范圍
double a = 50.0;
//設(shè)置緩沖區(qū)的顏色顯示RGB值
MXColor myColor = new MXColor();
myColor.r = 255;
myColor.G = 0;
myColor.b = 0;
//要對(duì)新生成的緩沖區(qū)進(jìn)行高亮顯示,所以要修改緩沖區(qū)的符號(hào)樣式
MXStyle myMXStyle = new MXStyle();
myMXStyle.FillStyle = 6;
//將顏色值付給背景色
myMXStyle.BackgroundColor = myColor;
//將樣式付給要顯示的類型
pMXFeature.SymbolStyle = myMXStyle;
nt b = axMXObject1.CreateVectLayer("123").LayerType;
//上文中新生成的緩沖區(qū)要新建一個(gè)圖層來進(jìn)行存放,所以要將123添加到樹中
treeView1.TopNode.Nodes.Add("123");
//刷新地圖,因?yàn)榫彌_區(qū)為新生成的面,在地圖文檔中不顯示,所以要手動(dòng)的刷新
axMXObject1.Refresh();
其他代碼篇幅有限不做過多詳細(xì)介紹。
最后以圖形的方式展示了礦山地質(zhì)勘察信息系統(tǒng)的功能圖示。
(1)系統(tǒng)展示圖,下圖為本系統(tǒng)添加谷歌地圖的系統(tǒng)展示圖:
圖4 統(tǒng)展示圖
下圖為獨(dú)特的地圖標(biāo)注展示圖:
圖5 地質(zhì)注展示意圖
2)功能展示圖
下圖為點(diǎn)的聚合功能演示圖:
圖6 合圖展示圖
下圖為點(diǎn)聚合和熱點(diǎn)地圖功能的對(duì)比圖,又下圖可以看出聚合點(diǎn)的范圍基本和成高亮顯示的點(diǎn)所處在同一區(qū)域:
圖7 合圖和熱圖對(duì)比圖
GISLITE作為一個(gè)具有存儲(chǔ)、顯示、分析數(shù)據(jù)的系統(tǒng)軟件,GISLITE有著它獨(dú)特的優(yōu)勢(shì),計(jì)算速度快、圖形顯示美觀、開發(fā)簡(jiǎn)便、可移植性好、礦區(qū)勘探地質(zhì)數(shù)據(jù)資料好找、方法成熟等特點(diǎn)。通過本次設(shè)計(jì)可以證明GISLITE可以很好的完成中小型GIS功能的設(shè)計(jì)和實(shí)現(xiàn),可以有效的節(jié)約礦企資金,在實(shí)施組件式開發(fā)的過程中有著開發(fā)簡(jiǎn)便功能完善等特點(diǎn)。隨著GIS的不斷發(fā)展,代碼的開放性不斷提高。在未來的軟件市場(chǎng)開源將很好的提高公司的競(jìng)爭(zhēng)力,GISLITE就是一個(gè)開源的類庫,GISLITE沒有ARCGIS,MAPINFO等等世界知名GIS平臺(tái)那樣功能強(qiáng)大,但是只專注于某一領(lǐng)域,將涉及的領(lǐng)域提高到最好。其功能特點(diǎn)有效的提高了在地質(zhì)勘探及礦企競(jìng)爭(zhēng)力,將會(huì)為GIS在具體地質(zhì)勘探應(yīng)用中的普及起到積極的作用。
[1]宋龍寶.探究GIS信息系統(tǒng)在礦山地質(zhì)勘查中的運(yùn)用[J].世界有色金屬,2017(17):34-35.
[2]成韜榮,劉霖,張玉天,等.信息系統(tǒng)安全技術(shù)在勘察設(shè)計(jì)企業(yè)中的應(yīng)用研究[J].建筑工程技術(shù)與設(shè)計(jì),2017(20).
[3]孫振明,毛善君,祁和剛,等.回采工作面三維地質(zhì)空間分析方法的應(yīng)用研究[J].煤炭科學(xué)技術(shù),2016,44(5):177-182.
[4]武強(qiáng),徐華,杜沅澤,等.礦山突(透)水災(zāi)害應(yīng)急疏散模擬系統(tǒng)與工程應(yīng)用[J].煤炭學(xué)報(bào),2017,42(10):2491-2497.
[5]楊宏圖,劉軍省,鞠林雪,等.數(shù)字地質(zhì)調(diào)查系統(tǒng)制作地球化學(xué)元素等值線圖及異常圖[J].地質(zhì)學(xué)刊,2017,41(1):85-90.
[6]袁素鳳,李鑫,楊亞慧.基于GIS的青海高寒區(qū)礦山地質(zhì)環(huán)境影響程度模糊評(píng)價(jià)[J].地質(zhì)災(zāi)害與環(huán)境保護(hù),2016,27(1):91-97.
[7]鄧義軍.基于GIS的水文地質(zhì)空間信息系統(tǒng)研究與應(yīng)用分析[J].黑龍江水利科技,2017,45(8):162-163.
[8]Wang T,Li Q,Cheng X.Research of Qixian Geologic Hazard Forecast and Early Warning System Based on WebGIS[J].Meteorological﹠Environmental Sciences,2017.
[9]周建偉,毛郁,崔英山,等.加權(quán)信息量模型在礦山地質(zhì)環(huán)境影響評(píng)價(jià)中的應(yīng)用——以四川省為例[J].中國(guó)地質(zhì)災(zāi)害與防治學(xué)報(bào),2016,27(1):117-122.
[10]張波,劉來新,陳金祥,等.某大型露天礦巖質(zhì)高陡邊坡穩(wěn)定性分析與評(píng)價(jià)[J].中國(guó)礦業(yè),2017,26(s1):162-167.
[11]杜顯彪,甘延景,鄭海濤.魯西銅石地區(qū)金礦床地質(zhì)特征及找礦遠(yuǎn)景[J].金屬礦山,2016,V45(1):109-113.
[12]Huang L.The research on touring route selection in Zhangjiajie World Geological Park based on GIS[J].Territory﹠Natural Resources Study,2017.
[13]王重陽,張韶華.GIS二次開發(fā)及界面優(yōu)化的探究[J].北京測(cè)繪,2010(01):24-27+54.
[14]曹毅.離子型稀土礦礦山地質(zhì)環(huán)境監(jiān)測(cè)與治理對(duì)策探討[J].中國(guó)地質(zhì)災(zāi)害與防治學(xué)報(bào),2017,28(3):147-149.
[15]S.Agrawal,R.D.Gupta.Development and Comparison of Open Source based Web GIS Frameworks on WAMP and Apache Tomcat Web Servers[J].ISPRS-International Archives of the Photogrammetry,Remote Sensing and Spatial Information Sciences,2014,XL-4(1).
[16]Purim Srisawat,Nopadon Kronprasert,Kriangkrai Arunotayanun.Development of Decision Support System for Evaluating Spatial Efficiency of Regional Transport Logistics[J].Transportation Research Procedia,2017,25.
[17]劉永進(jìn).中國(guó)計(jì)算機(jī)圖形學(xué)研究進(jìn)展[J].科技導(dǎo)報(bào),2016,34(14):76-85.
[18]李曉蘭,夏顯清.GIS二次開發(fā)方法的研究與探討[J].軟件導(dǎo)刊,2005(15):26-27.
[19]孟宇,胡卓瑋,趙文吉,等.貧困地區(qū)信息服務(wù)及發(fā)布平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].工程勘察,2016,44(9):42-48.