鞏瑞杰 陳彥亭 常龍新 陳 越 龐曄斌
(1.河北鋼鐵集團(tuán)司家營(yíng)鐵礦有限公司:2.河北鋼鐵集團(tuán)礦山設(shè)計(jì)有限公司)
當(dāng)今社會(huì)互聯(lián)網(wǎng)的發(fā)展使資源高度共享,網(wǎng)絡(luò)信息化已經(jīng)成為各行業(yè)提高效率的首選。近年來(lái),河鋼礦業(yè)公司加快了信息化建設(shè)的步伐,以圍繞礦山發(fā)展為目標(biāo),以自主創(chuàng)新為支撐,以提高管理水平和經(jīng)濟(jì)效益為目的,信息化建設(shè)的步伐穩(wěn)步向前。數(shù)字礦山建設(shè)是公司提高礦山管控水平、改善各項(xiàng)技術(shù)經(jīng)濟(jì)指標(biāo)以及提升礦山長(zhǎng)遠(yuǎn)競(jìng)爭(zhēng)力的有力手段,它是以計(jì)算機(jī)及網(wǎng)絡(luò)為手段,把礦山的所有空間和有用屬性數(shù)據(jù)實(shí)現(xiàn)數(shù)字化存儲(chǔ)、傳輸、表述和深加工,應(yīng)用于各個(gè)生產(chǎn)環(huán)節(jié)與管理和決策之中,以達(dá)到生產(chǎn)方案優(yōu)化、管理高效和決策科學(xué)化的目的。三維空間模型的創(chuàng)建及拓展應(yīng)用是數(shù)字礦山建設(shè)中關(guān)鍵性的基礎(chǔ)環(huán)節(jié),對(duì)數(shù)字化礦山成果展示、礦山工程設(shè)計(jì)與管理決策具有十分重要的意義。
隨著計(jì)算機(jī)軟、硬件技術(shù)的不斷發(fā)展,三維建模軟件在地勘單位、設(shè)計(jì)院、礦山及高校得到廣泛應(yīng)用,比較有代表性的軟件包括Dmine、3DMine、Supac、Micromine等。3DMine三維礦業(yè)工程軟件是集地質(zhì)勘探數(shù)據(jù)管理、礦床地質(zhì)建模、構(gòu)造模型、傳統(tǒng)和現(xiàn)代地質(zhì)儲(chǔ)量計(jì)算、露天及地下礦山采礦設(shè)計(jì)、生產(chǎn)進(jìn)度計(jì)劃、露天境界優(yōu)化及生產(chǎn)設(shè)施數(shù)據(jù)為一體的三維可視化軟件系統(tǒng)。與傳統(tǒng)的二維表達(dá)方式相比,該軟件所作出的三維模型具有直觀、形象、容易理解等特點(diǎn)[1]。
在3DMine軟件的基礎(chǔ)上,利用C++語(yǔ)言開發(fā)的Web網(wǎng)頁(yè)三維可視化插件(以下簡(jiǎn)稱3DWEB)可以使得3DMine軟件制作的三維模型在Web網(wǎng)頁(yè)窗口中顯示,并能進(jìn)行簡(jiǎn)單的功能操作,同時(shí)兼容顯示MapGis、Autocad格式的二維圖形。在不增加軟件購(gòu)置成本,使用人員不需要專業(yè)軟件培訓(xùn)的情況下極大地?cái)U(kuò)展了3DMine軟件的應(yīng)用范圍。
三維礦產(chǎn)資源信息管理系統(tǒng)是為了搭建礦產(chǎn)資源信息管理平臺(tái),提高企業(yè)數(shù)字化管理水平而研發(fā)的管理軟件。它是在礦產(chǎn)資源信息數(shù)據(jù)倉(cāng)庫(kù)的基礎(chǔ)上建立一個(gè)包括地質(zhì)、測(cè)量、采礦、礦業(yè)權(quán)管理等在內(nèi)的空間信息平臺(tái),使得礦產(chǎn)資源信息在統(tǒng)一的平臺(tái)傳輸和集成,實(shí)現(xiàn)對(duì)公司下屬各礦山礦產(chǎn)資源數(shù)據(jù)的統(tǒng)一管理,并根據(jù)礦山管理工作的需要實(shí)現(xiàn)逐級(jí)用戶權(quán)限管理,打通礦山各部門之間、各礦山之間及礦山與礦業(yè)公司之間的數(shù)據(jù)共享脈絡(luò),建立數(shù)據(jù)流通“高速公路”,并在此基礎(chǔ)上實(shí)現(xiàn)全公司的礦產(chǎn)資源信息動(dòng)態(tài)管理、數(shù)據(jù)二次挖掘,為礦產(chǎn)資源信息提供高效率、科學(xué)化的管理和決策支持。3DWEB依托于三維礦產(chǎn)資源信息管理系統(tǒng),訪問(wèn)系統(tǒng)后下載安裝插件即可實(shí)現(xiàn)三維顯示和相關(guān)操作。
3.1.1 Eclipse平臺(tái)
Eclipse是一個(gè)開放源代碼的、通用的、基于Java的可擴(kuò)展的集成開發(fā)環(huán)境。盡管Eclipse主要是一個(gè)Java開發(fā)環(huán)境,但其最有特色的是插件體系結(jié)構(gòu),該結(jié)構(gòu)確保了對(duì)其他編程語(yǔ)言的支持。3DWEB插件即選用C++編程語(yǔ)言。Eclipse本身的設(shè)計(jì)思想是通過(guò)集成大量的插件不斷擴(kuò)展其功能,以支持各種不同的應(yīng)用。用Eclipse開發(fā)的插件可以適應(yīng)多平臺(tái)的需要,且具有良好的可擴(kuò)展性和靈活性[2]。
3.1.2 Oracle數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)技術(shù)是信息時(shí)代的一項(xiàng)重要技術(shù),隨著數(shù)據(jù)庫(kù)技術(shù)的不斷提升,各種版本的數(shù)據(jù)庫(kù)不斷更新?lián)Q代,目前市場(chǎng)上關(guān)系型數(shù)據(jù)產(chǎn)品主要有Oracle、SQL Server、DB2等。其中Oracle是一種適用于大型、中型和微型計(jì)算機(jī)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),使用SQL(Structured guery language)作為數(shù)據(jù)庫(kù)語(yǔ)言??紤]到其本身的安全性能、對(duì)大數(shù)據(jù)量處理的技術(shù)成熟的特性、可靠的系統(tǒng)恢復(fù)和數(shù)據(jù)恢復(fù)的能力,3DWEB中主體功能的數(shù)據(jù)存儲(chǔ)選擇Oracle數(shù)據(jù)庫(kù)。
3.1.3 文件服務(wù)器技術(shù)
MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語(yǔ)言編寫,用其來(lái)管理所有的文檔、二維矢量和三維模型文件,旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。它具有高性能、易部署、易使用、存儲(chǔ)數(shù)據(jù)非常方便的特點(diǎn)。
3DWEB插件是基于3DMine三維引擎所提供的SDK開發(fā)的ActiveX應(yīng)用程序插件,插件繼承了3DMine平臺(tái)優(yōu)秀的三維展示效果和先進(jìn)的三維空間算法,不但提供了管理系統(tǒng)要求的全部三維分析處理功能,并在此基礎(chǔ)上,開發(fā)了針對(duì)于管理系統(tǒng)獨(dú)有的如文件下載解壓、儲(chǔ)量核實(shí)、炮孔數(shù)據(jù)約束統(tǒng)計(jì)等功能模塊。用戶對(duì)程序軟件最直觀的評(píng)價(jià)就是程序界面顯示和交互,數(shù)據(jù)信息的顯示應(yīng)方便高效,而交互可以幫助用戶更好地完成工作。實(shí)現(xiàn)軟件界面交互的更高要求是界面的自定義配置以及三維顯示。為實(shí)現(xiàn)上述功能,在程序的總體結(jié)構(gòu)中將數(shù)據(jù)內(nèi)容和實(shí)現(xiàn)功能按類別分為自動(dòng)化可視框架類庫(kù)、自動(dòng)化實(shí)體對(duì)象類庫(kù)、自動(dòng)化基本算法類庫(kù)、自動(dòng)化三維操作類庫(kù),如圖1。
圖1 3DWEB總體結(jié)構(gòu)
將礦山數(shù)據(jù)劃分為2個(gè)類別:數(shù)據(jù)文件和信息記錄。數(shù)據(jù)文件應(yīng)包括各種原始資料和運(yùn)用各種二維、三維軟件產(chǎn)生的成果文件,這類數(shù)據(jù)的顯示應(yīng)體現(xiàn)體態(tài)特征以及空間關(guān)系,采用3DWEB控件可以在瀏覽器窗口調(diào)用數(shù)據(jù)文件執(zhí)行顯示,并可以提供回調(diào)函數(shù)提供操作;信息記錄可以利用豐富的Web前端控件靈活地展示數(shù)據(jù)內(nèi)部的關(guān)系。
為了把復(fù)雜的問(wèn)題簡(jiǎn)單化、直觀化,選用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,將系統(tǒng)中所有的對(duì)象和操作都抽象為類和類的操作[3]。3DWEB控件依托于三維礦產(chǎn)資源信息管理系統(tǒng)運(yùn)行,因此,主要的程序設(shè)計(jì)以實(shí)現(xiàn)各種功能的命令為主,劃分為應(yīng)用程序類、應(yīng)用程序自動(dòng)化類、自動(dòng)化文檔類、自動(dòng)化對(duì)象類、自動(dòng)化圖層類。以應(yīng)用程序類為例,操作中涉及的主要功能是初始化三維界面、加載需要查看的文件、查看文件、清除當(dāng)前文件加載新的文件,因此,設(shè)計(jì)中主要用到以下幾個(gè)功能:
BOOL CVisualwebApp::Initlnstance(); ∥對(duì)程序進(jìn)行初始化
AFX_MANAGE_STATE(AfxGetStaticModuleState();∥ 模塊切換時(shí)的狀態(tài)保護(hù)指向當(dāng)前模塊狀態(tài)
Void RemoveTempFile(); ∥刪除三維界面中的臨時(shí)文件
BCGCBProDllInitialize(); ∥初始化BCG動(dòng)態(tài)庫(kù)資源
Typedef int (__cdecl *MineResInit)(); ∥加載資源序列
GetContextMenuManager()->AddMenu(_T("string Manager"),IDR_POPUP_MANAGE_STRING); ∥層管理器
m_AppCUI.ResetRibbon(); m_AppCUI.cleanToolbar(); ∥清除以前的設(shè)置
在自動(dòng)化文檔類、自動(dòng)化對(duì)象類、自動(dòng)化圖層類中以STDMETHODIMP和HRESULT函數(shù)為主,如
STDMETHODIMP CAutoDoc::get_WorkPath (BSTR * ppVal) ∥文檔路徑
STDMETHODIMP CAutoDoc::Save () ∥文檔保存
HRESULT CAutoDoc::DownRemoteFtpFile() ∥調(diào)用FTP文件用于采場(chǎng)現(xiàn)狀自動(dòng)更新
HRESULT CAutoDoc::CalcDynamicReserve() ∥表格動(dòng)態(tài)保留
三維信息交換共享是礦業(yè)公司與礦山之間實(shí)現(xiàn)傳達(dá)指示、匯交資源和生產(chǎn)信息的業(yè)務(wù)要求。在三維礦產(chǎn)資源信息管理平臺(tái)上進(jìn)行交換的信息流具有多種類型和表現(xiàn)形式。根據(jù)信息的類型、重要程度、在實(shí)際工作中的應(yīng)用等屬性,對(duì)之采用不同的處理方式。三維模型是其中最直觀、實(shí)時(shí)效果最好、數(shù)據(jù)量集成最多的一種信息流類型。3DWEB的研發(fā)使得各類常見的礦山三維矢量模型文件和DWG、Mapgis等矢量數(shù)據(jù)格式可以直接在網(wǎng)頁(yè)窗口中進(jìn)行展示,不需要借助專業(yè)的三維模型制作軟件。如圖2所示,在三維礦產(chǎn)資源信息管理系統(tǒng)的三維顯示界面中下載3DWEB插件并安裝程序,然后在系統(tǒng)中查詢到需要查看的圖件或三維模型,點(diǎn)擊查看按鈕即可顯示,操作者可以通過(guò)移動(dòng)鼠標(biāo)來(lái)查詢不同位置的模型屬性。
圖2 3DWEB顯示功能
三維模型編輯功能的基本操作主要包括:
(1)全屏縮放,聚焦到當(dāng)前三維數(shù)據(jù)坐標(biāo)系。
(2)清屏,清空屏幕中的所有數(shù)據(jù)。
(3)Gourand渲染,對(duì)實(shí)體或約束顯示的塊體進(jìn)行Gourand渲染,使圖形的顏色更加細(xì)膩,地表模型可以根據(jù)高程進(jìn)行顏色渲染,塊體模型可以根據(jù)品位屬性進(jìn)行顏色渲染。
(4)平移,按住鼠標(biāo)左鍵可以移動(dòng)空間圖形。
(5)距離量測(cè),查詢圖中任意兩點(diǎn)之間的距離。
(6)圖層管理器,層瀏覽器是用來(lái)顯示當(dāng)前載入圖形工作區(qū)的線、實(shí)體和數(shù)據(jù)庫(kù)等文件,不同特性的對(duì)象可劃分為不同的圖層,通過(guò)圖層管理器可以控制各要素圖層的開關(guān)。
(7)屬性管理器,顯示圖形區(qū)內(nèi)圖形的相關(guān)屬性,比如圖層、線型、顏色等,可以點(diǎn)擊某項(xiàng)屬性進(jìn)行編輯更改。
(8)坐標(biāo)網(wǎng),為空間模型數(shù)據(jù)插入坐標(biāo)網(wǎng)格。
(9)清除臨時(shí)標(biāo)記,清除繪制圖元時(shí)臨時(shí)產(chǎn)生的標(biāo)記。
(10)按鈕工具,包括俯視、前視、左視功能,分別查看圖形的XY面、XZ面、ZY面。
(11)切割剖面,剖面線可以通過(guò)手動(dòng)畫線、指定高程值或勘探線等方式進(jìn)行選擇,將三維視圖下的操作快速轉(zhuǎn)換到二維視圖下。
(12)退出剖面,即退出當(dāng)前剖面狀態(tài)。
(13)畫線,根據(jù)需要繪制多段線。
(14)注記,根據(jù)需要添加文字注釋。
3DWEB編輯功能示意見圖3。
圖3 3DWEB編輯功能
塊體模型是國(guó)際上通用的儲(chǔ)量計(jì)算方法中重要的理念,實(shí)際上也是一個(gè)數(shù)據(jù)庫(kù)[4]。主要是在空間上確定一定尺寸的空間塊體,利用規(guī)則的塊體來(lái)充填不規(guī)則的礦體。每個(gè)相對(duì)應(yīng)的塊體都有一個(gè)質(zhì)心點(diǎn),這樣,在質(zhì)心點(diǎn)上可以存儲(chǔ)所有屬性;同時(shí),引進(jìn)次級(jí)模塊的概念,保證礦體邊緣的塊體盡可能地與礦體界線(曲面)相一致,從而得到準(zhǔn)確的報(bào)告值。與地質(zhì)統(tǒng)計(jì)學(xué)相結(jié)合,應(yīng)用數(shù)學(xué)方法對(duì)品位分布進(jìn)行估值,從而形成不同約束條件下的品位模型[5]。3DWEB很好地繼承了這一功能,可以直接在網(wǎng)頁(yè)三維展示窗口中利用塊體模型準(zhǔn)確地進(jìn)行資源量和品級(jí)報(bào)告。如圖4所示,加載塊體模型之后,手工圈定任意感興趣的礦體或動(dòng)用區(qū)域,多段線必須閉合,然后單擊“儲(chǔ)量報(bào)告”按鈕,設(shè)置后系統(tǒng)將以報(bào)表的形式在顯示窗口中輸出閉合線圈定范圍內(nèi)的礦體或動(dòng)用區(qū)域的資源量,若為動(dòng)用區(qū)域還可以利用自動(dòng)更新功能直接更新采場(chǎng)現(xiàn)狀,展示動(dòng)用后的采場(chǎng)形態(tài),并列表給出每個(gè)位置的動(dòng)用資源量。該功能可以快速得出礦體任意位置的礦產(chǎn)資源情況,展示采場(chǎng)工作面最新推進(jìn)情況,同時(shí)輔助用戶準(zhǔn)確定位,滿足各級(jí)領(lǐng)導(dǎo)和生產(chǎn)計(jì)劃部門對(duì)礦產(chǎn)資源情況的掌握。
礦山地質(zhì)數(shù)據(jù)庫(kù)是礦山資源評(píng)估和采礦設(shè)計(jì)的基礎(chǔ),是礦山生產(chǎn)管理的重點(diǎn)。為
圖4 3DWEB計(jì)算功能
了提高礦床勘探程度,達(dá)到儲(chǔ)量升級(jí),為編制礦山生產(chǎn)計(jì)劃,進(jìn)行采礦生產(chǎn)設(shè)計(jì)和施工管理提供重要依據(jù),公司地質(zhì)技術(shù)人員以爆區(qū)炮孔取樣化驗(yàn)作為主要生產(chǎn)勘探手段。炮孔數(shù)據(jù)庫(kù)的建立方法與鉆孔數(shù)據(jù)庫(kù)類似,用3個(gè)數(shù)據(jù)表來(lái)記錄炮孔的開孔、測(cè)斜和化驗(yàn)信息。數(shù)據(jù)庫(kù)可以直接在三維顯示窗口中打開,并自動(dòng)統(tǒng)計(jì)分析閉合線區(qū)域內(nèi)的炮孔數(shù)據(jù)信息,包括有用組分,有效樣品數(shù),品位最大值、最小值、平均值和變化系數(shù)信息,以有用組分為分類條件分別統(tǒng)計(jì)。
3DWEB插件在3DMine軟件的基礎(chǔ)上,利用C++語(yǔ)言開發(fā)而成,與操作系統(tǒng)間的整合性與兼容性良好。安裝插件后,使用人員不需要安裝專業(yè)的3DMine軟件和MapGis、Autocad等專業(yè)繪圖軟件即可在網(wǎng)頁(yè)中顯示上述軟件繪制的模型或圖形,降低了企業(yè)辦公成本。軟件界面友好,風(fēng)格統(tǒng)一,而且在服務(wù)器和客戶端都提供了插件下載窗口,大大方便了用戶的使用,操作簡(jiǎn)單,提高了專業(yè)軟件的利用率,使用人員不需要經(jīng)過(guò)專門的軟件培訓(xùn)即可實(shí)現(xiàn)對(duì)相關(guān)軟件繪制圖形或所做模型的查看與簡(jiǎn)單操作,將專業(yè)制圖軟件的應(yīng)用范圍從技術(shù)層擴(kuò)大到了公司的管理層,但是該插件目前只依托于三維礦產(chǎn)資源信息管理系統(tǒng)運(yùn)行,這是它的局限性。3DWEB插件對(duì)于礦山常用地質(zhì)專業(yè)軟件的推廣使用和礦山信息化建設(shè)的提高具有重要意義。