韓 楚,張思沖
(哈爾濱師范大學,黑龍江 哈爾濱 150025)
GISLITE就是針對于小型的GIS普及、GIS應用的推廣。本文主要圍繞GIS各項功能實現展開研究,主要有礦區地質勘探圖形顯示,地圖標注的獨特顯示,聚合地質圖的顯示,熱點地質圖的顯示等等,包括很多實例代碼及其各項功能的圖形界面,本次研究主要完成GIS的基本功能。
目前國內MAPGIS、SUPERMAP為國產軟件的巔峰[6]。其理念為別人有的我一定要有這樣就能保持至少不落后,很多時候這樣的平臺在礦區地質勘探工程上都是拾取別人市場所剩下的項目。并且占據內存,組件臃腫。不能簡單快捷地完成某一GIS方面的應用。但GISLITE具有超高的自由性,雖對編程人員的要求相對來說比較高,但是可以完成的功能比較多,可以根據編程人員的需求從而編寫所需要的特定的程序。
它有著高水準的圖像處理能力,GIS計算快捷等特點??梢约虞d一些比較大的網站所發布的地圖,GISLITE的桌面版為開源開發而出,所以GISLITE的桌面版位免費提供給客戶,客戶主要把精力用到軟件的開發上。GISLITE還提供了一些封裝好的空間,依托于桌面版可以很好的完成GIS的工作。與國內地理信息系統軟件相比提供全面的解決方案,涵蓋各行業的WebGIS應用需求,與國外地理信息系統軟件相比明顯的價格優勢,只有國外產品的十分之一。并且GISLITE可二次開發的優越性帶來了方便性,開發現率高,自由度高等特點。
通過數據的流程讓用戶可以直觀的了解到程序的運行性能及其基本功能。為詳細設計過程中的代碼編寫和詳細設計做準備。
可行性研究。對軟件研究進行總體設計之前,先要了解研究開發前要做的前期準備[9]??尚行匝芯康闹饕蝿帐峭ㄟ^大量的調查,確定GISLITE所要完成的任務,以及建成后所產生的效益,分析建立GISLITE的必要性和可能性。本次課題研究的為總體需求分析,如圖1所示:

圖1 需求分析說明圖
需求分析之后進行總體設計,先要對系統總體進行設計,下圖為系統總體結構圖:

圖2 總體結構說明圖
數據的獲取包括數據的采集與輸入,即將系統外部的原始數據傳輸到系統內部,并將它們從外部格式轉換為系統能夠識別和處理的內部格式存儲于系統的地理數據庫中[13]。GISLITE所需的原始數據分為空間數據和屬性數據兩類,空間數據是指圖形實體數據,常采用的輸入方法和鍵盤輸入,屬性數據是指空間實體的特征數據,一般采用鍵盤輸入[16]。
GIS的數據分為柵格數據和矢量數據兩大類。GIS系統都采用了分層技術,即根據地圖的某些特征,把它分為若干層。整張地圖正是所有層的疊加結果。這樣用戶操作時就只涉及到一些特定的層,而不是整幅地圖,因而系統能對用戶的要求做出迅速反應[14]。GIS的數據管理包括圖形庫管理和屬性庫管理。根據圖形數據的幾何特點,可將其分為點數據、線數據、面數據和混合性數據4種類型,根據數據間的拓撲關系分類整合。
數據處理包括兩方面工作:一是對輸入的數據進行質量檢查與糾紛,包括圖形數據和屬性數據的編輯、圖形數據和屬性數據之間對應關系的校驗、空間數據的誤差校正等;二是對輸入的圖形數據進行整飾處理,使其滿足地理信息系統的各種應用要求[15.18.19]??臻g分析是指根據確定的應用分析模型,通過對空間圖形數據的拓撲運算及空間、非空間屬性數據的聯合運算等各種操作運算來分析一定區域的各種現象,以獲得更有效地數或某一特定問題的解決方案[11.17]。
GISLITE在圖像的顯示上做了很大的優化,包括圖形反鋸齒、更加符合國人的習慣的標注。
詳細設計主要是指對象設計,即確定類的完整定義,并確定操作的算法[1.2.4]。先對結構進行設計,確定功能模塊,數字化方案,輸入、輸出,用戶界面等一系列問題,最后確定系統的實現和維護問題[7.14]。在編碼實現過程當中,幾個核心代碼:
(1)讀取指定的圖層,通過axMXObject的layers的GETLayerByName方法依據圖層的名稱獲取圖層。
MXVectLayer myMXvectLayer =(MXVectLayer)axMXObject1.layers.GetLayerByName;
首先將讀取的圖層在礦區地質圖展示控件中進行全圖顯示,通過MXVectLayer的SearchAllGeature方法搜索所有要素將在顯示版面上顯示出來。
MXDataset myMXDataset = myMXvectLayer.SearchAllFeature();
由于讀取的屬性值為指針類型,所以當要讀取下一個數據時要撥動指針。
IMXFeature pMXFeature = myMXDataset.GetNext();
將所需的數據讀取出來,把值傳遞給string類型。
string st = pMXFeature.GetType().ToString();
string b = myMXDataset.GetFieldString("name");
通過類MXStyle更改符號樣式,請參見MXStyle類的介紹。
MXStyle myMXStyle = new MXStyle();
修改點的樣式,目前來說點的樣式就只有三種通過數值1、2、3來進行修改。
myMXStyle.PointStyle = 2;
將修改好的點的樣式傳遞給要顯示的地圖樣式,這樣就能顯示所設置的符號樣式。
axMXObject1.layers.GetLayerByName.SymbolStyle= myMXStyle;
因為在讀取過程中地圖可能沒有在可視范圍內,所以要進行全圖顯示地圖。
axMXObject1.ShowFullMap();
下圖為讀取圖層的展示圖。

圖3 讀取制定的圖層
(2)緩沖區分析
//設置緩沖區范圍
double a = 50.0;
//設置緩沖區的顏色顯示RGB值
MXColor myColor = new MXColor();
myColor.r = 255;
myColor.G = 0;
myColor.b = 0;
//要對新生成的緩沖區進行高亮顯示,所以要修改緩沖區的符號樣式
MXStyle myMXStyle = new MXStyle();
myMXStyle.FillStyle = 6;
//將顏色值付給背景色
myMXStyle.BackgroundColor = myColor;
//將樣式付給要顯示的類型
pMXFeature.SymbolStyle = myMXStyle;
nt b = axMXObject1.CreateVectLayer("123").LayerType;
//上文中新生成的緩沖區要新建一個圖層來進行存放,所以要將123添加到樹中
treeView1.TopNode.Nodes.Add("123");
//刷新地圖,因為緩沖區為新生成的面,在地圖文檔中不顯示,所以要手動的刷新
axMXObject1.Refresh();
其他代碼篇幅有限不做過多詳細介紹。
最后以圖形的方式展示了礦山地質勘察信息系統的功能圖示。
(1)系統展示圖,下圖為本系統添加谷歌地圖的系統展示圖:

圖4 統展示圖
下圖為獨特的地圖標注展示圖:

圖5 地質注展示意圖
2)功能展示圖
下圖為點的聚合功能演示圖:

圖6 合圖展示圖
下圖為點聚合和熱點地圖功能的對比圖,又下圖可以看出聚合點的范圍基本和成高亮顯示的點所處在同一區域:

圖7 合圖和熱圖對比圖
GISLITE作為一個具有存儲、顯示、分析數據的系統軟件,GISLITE有著它獨特的優勢,計算速度快、圖形顯示美觀、開發簡便、可移植性好、礦區勘探地質數據資料好找、方法成熟等特點。通過本次設計可以證明GISLITE可以很好的完成中小型GIS功能的設計和實現,可以有效的節約礦企資金,在實施組件式開發的過程中有著開發簡便功能完善等特點。隨著GIS的不斷發展,代碼的開放性不斷提高。在未來的軟件市場開源將很好的提高公司的競爭力,GISLITE就是一個開源的類庫,GISLITE沒有ARCGIS,MAPINFO等等世界知名GIS平臺那樣功能強大,但是只專注于某一領域,將涉及的領域提高到最好。其功能特點有效的提高了在地質勘探及礦企競爭力,將會為GIS在具體地質勘探應用中的普及起到積極的作用。
[1]宋龍寶.探究GIS信息系統在礦山地質勘查中的運用[J].世界有色金屬,2017(17):34-35.
[2]成韜榮,劉霖,張玉天,等.信息系統安全技術在勘察設計企業中的應用研究[J].建筑工程技術與設計,2017(20).
[3]孫振明,毛善君,祁和剛,等.回采工作面三維地質空間分析方法的應用研究[J].煤炭科學技術,2016,44(5):177-182.
[4]武強,徐華,杜沅澤,等.礦山突(透)水災害應急疏散模擬系統與工程應用[J].煤炭學報,2017,42(10):2491-2497.
[5]楊宏圖,劉軍省,鞠林雪,等.數字地質調查系統制作地球化學元素等值線圖及異常圖[J].地質學刊,2017,41(1):85-90.
[6]袁素鳳,李鑫,楊亞慧.基于GIS的青海高寒區礦山地質環境影響程度模糊評價[J].地質災害與環境保護,2016,27(1):91-97.
[7]鄧義軍.基于GIS的水文地質空間信息系統研究與應用分析[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]周建偉,毛郁,崔英山,等.加權信息量模型在礦山地質環境影響評價中的應用——以四川省為例[J].中國地質災害與防治學報,2016,27(1):117-122.
[10]張波,劉來新,陳金祥,等.某大型露天礦巖質高陡邊坡穩定性分析與評價[J].中國礦業,2017,26(s1):162-167.
[11]杜顯彪,甘延景,鄭海濤.魯西銅石地區金礦床地質特征及找礦遠景[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二次開發及界面優化的探究[J].北京測繪,2010(01):24-27+54.
[14]曹毅.離子型稀土礦礦山地質環境監測與治理對策探討[J].中國地質災害與防治學報,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].科技導報,2016,34(14):76-85.
[18]李曉蘭,夏顯清.GIS二次開發方法的研究與探討[J].軟件導刊,2005(15):26-27.
[19]孟宇,胡卓瑋,趙文吉,等.貧困地區信息服務及發布平臺的設計與實現[J].工程勘察,2016,44(9):42-48.