亓兆偉,王 星
(華北地質勘查局五一四地質大隊,河北承德067000)
基于華寧勘察軟件與理正勘察軟件數據接口的研究與開發
亓兆偉*,王星
(華北地質勘查局五一四地質大隊,河北承德067000)
針對大部分工程技術人員既不舍棄華寧勘察軟件的簡單的數據輸入操作,又兼顧理正勘察軟件在出圖方面的便捷,介紹一種數據轉換的方法和思路,并動手開發了接口,不必在理正勘察軟件中重新輸入原始數據,以實現發揮兩者各自的優勢,提高勘察報告的編制效率。
勘察;華寧;理正;接口;開發
近年來,隨著國家經濟建設的發展,巖土工程勘察行業也有了較快的發展,傳統的以手寫報告、手繪圖紙的方式提交勘察成果,到現在以計算機為輔助設計手段進行勘察報告的編制和圖紙的繪制,大大提高了勘察成果的編制速度,而使用較多的2個比較成熟的計算機勘察類軟件是華寧勘察和理正勘察,比較兩者的優缺點可以發現,華寧有簡單的數據錄入界面,但不能對數據的合法性進行有效檢驗,理正有便捷、可觀的出圖效果,有數據的合法性檢查,但數據錄入比較繁瑣,如何讓兩者的數據可以完美交換,實現數據共享,發揮各自的優勢,由此對兩者的數據接口的研究與開發,以達到快捷方便地提交勘察成果目的具有指導意義。
2.1華寧勘察數據的存儲格式
對華寧巖土工程勘察軟件的原始數據文件進行分析,在軟件使用過程中,我們時常會發現在界面當中會出現“文件名”字樣,并且在文件名的后面跟著一個字符串,這個字符串告訴我們的信息,就是這些我們輸入的原始數據存放的位置,我們借助windows自帶的“記事本”程序打開相應位置的文件(如圖為C:HN文件夾下的DK.2013-k-105文件)會發現,里面存放的數據就是我們之前在相應的界面下輸入的原始數據,至此,我們找到了華寧的數據存儲格式。
2.2理正勘察數據的存儲格式
我們要對理正勘察軟件的數據文件進行分析,通過軟件的使用手冊可以發現,數據是被存儲在稱為庫文件(*.mdb)當中,我們借助windows office辦公軟件可以打開這類的文件,并查看到在相應界面下輸入的數據內容,至此,我們找到了理正的數據存儲格式,見圖2。

圖1 華寧原始數據格式及存儲位置

圖2 理正備份數據庫格式及存儲位置
2.3數據轉換的主要流程
2.3.1華寧數據庫的設計過程
接口的功能要解決的第一個難題是華寧的勘察數據格式與理正勘察的數據格式不統一,華寧是文本文件的格式,而理正是數據庫文件(*.mdb)的格式,如何使兩者統一呢,那么就需要做一個接口程序,將兩者統一。首先我們設計一個數據庫文件,將華寧的數據文件內容存儲在一個數據庫文件(*.mdb)當中,在數據庫中設計表,例如表BG存儲標貫數據,表DCSH存儲場地地層順序數據,表DCSJ存儲各孔地層數據,表DK存儲單孔數據,表TY存儲取樣數據,表TGSJ存儲常規土工試驗原始數據,表ZNXX存儲各孔描述數據,表N63XX存儲N63.5數據[連續動探]等一系列與華寧數據對應的表,見圖3。

圖3 用于存儲華寧原始數據的數據庫及各表
2.3.2華寧數據的入庫過程
將華寧的數據導入到設計好的數據庫表當中,下面僅列一些主要導入功能的開發,開發工具為VB6.0(SP6)32位,開發環境采用WINDOWS XP(SP3),下面以導入表DCSJ存儲各孔地層數據為例進行關鍵代碼的敘述:
ConnStr="Provider=Microsoft.Jet.
OLEDB.4.0;"&"Data Source="&App.Path& "HNCAD16.mdb;"&"Jet OLEDB:
Database Password="'設置數據庫連接字符串
strSQL="Delete From[DCSJ]"'清空[DCSJ]表
Open DCSJFileName For Input As#1
'打開對應的華寧數據文件
Line Input#1,Temp_Str'按行讀入文件內容
DCSJ=Split(Temp_Str,",")'每一行數據間以逗號為界,讀取到數組里
strSQL="Insert Into[DCSJJOB]Values('"& DCSJ(0)&"','"&DCSJ(1)&"','"&DCSJ(2)&"','"& DCSJ(3)&"')"'將數據導入到表DCSJ當中
為了更好地讓代碼重用,需要定義一些子程序,比如Private Sub DCSJruku()(見圖4),在主程序中使用Call DCSJruku進行調用,按此過程的順序將華寧的其它數據文件的內容導入設計好的表中,其中會涉及不同的算法,封裝成一個一個的子過程,用來解決判斷何時選擇何種數據入庫,何時進行重力密度與質量密度進行轉化后入庫,什么情況下需要人工干預后入庫等一些問題,在此不一一贅述。
主要設計思路及流程總結:過程定義→變量定義→連接設計好的數據庫→將設計庫相應的數據表清空→讀入華寧原始文件→對文件數據按行進行判斷、處理→將得到的轉化后的數據保存在已設計數據庫的相應數據表中→重復上面的處理直到整個文件結尾→關閉數據庫→過程結束。

圖4 恢復備份數據之前
2.3.3華寧數據到理正數據的轉換
接口的功能要解決的第二個難題是,將設計數據庫內存儲的華寧勘察數據進行整理、篩選、重組,并導入到理正的備份文件中,下面以華寧勘察的取樣數據為例,介紹導入到理正勘察備份文件的過程:
LZConnStr="Provider=Microsoft.Jet.
OLEDB.4.0;"&"Data Source="&TLz.Text&";"&"Jet OLEDB:Database Password="'理正數據庫的連接字符串,TLz.Text中存放的是理正備份數據庫的絕對路徑。
sql_del="Delete From[z_c_QuYang]"'清空表z_c_QuYang
sql="select GCSY from [x_GongCheng]where GCBH='"&TGcbh.Text&"'"'得到與華寧工程編號一致的理正工程索引號,其中TGcbh.Text存放的華寧工程編號。
經過對數據處理,將數據轉成理正預定義的數據類型,保存在變量當中,并使用下面的功能將數據導入到理正勘察的備份數據庫當中:
sql="Insert Into[z_c_QuYang](GCSY,
ZKBH,QYBH,QYSD,QYHD,QYLX,CY)Val-ues"&"('"&Val(gcsybh)&"','"&rs1("KH")&"','"& CStr(qybh)&"','"&Val(rs1("QSSD"))&"','"&qycd& "','"&Val(rs1("QYLX")&"','"&"1"&")"
conn.Close'關閉含華寧數據的數據庫連接
connlz.Close'關閉理正數據庫連接
主要設計思路及流程總結:連接理正備份數據庫的取樣數據表,取出需要的字段名和相應需要賦的值→關閉數據庫連接→對設計數據庫進行連接→初始化取樣編號→按照鉆孔編號取出相應的取樣數據→依據不同的取樣類型以不同的處理方式將數據插入到理正備份數據庫的取樣數據表→處理設計數據表中的下一條數據,直到最后一條→關閉連接,關閉數據庫。
由于功能較多,其它數據處理功能在此不一一贅述。
最后將處理過的數據庫備份文件在理正勘察中進行恢復即可,見圖4、圖5。

圖5 恢復備份數據之后
按照本文介紹的方法,作者自行編制了相應的轉換程序,并成功應用于多個工程的數據轉化,對輸出結果檢驗均達到事先預想的效果。
工程實例:某市鳳凰御景B2塊地工程場地的巖土工程勘察,擬建樓房39棟,根據現場實際情況與建設單位共同協商,布置鉆孔131個,因整體方案調整進行了補充勘察,布置勘探點67個,共計勘探點198個,組成69條剖面,構成勘察網,其中鉆探孔3個,重探孔23個,取土孔30個,標貫孔51個,取土、標貫孔93個,取土、動探孔5個,標貫、動探孔6個,取土、標貫、動探孔10個,總進尺2699.20m;原位測試:完成標準貫入試驗285次、N63.5重型動力觸探試驗10.4m;土工試驗:采取并完成原狀土樣220件、擾動樣24件;工程測量:完成工程點測量198個,其高程均為絕對高程,各孔位置均由坐標控制,采用全站儀極坐標法測得。
根據鉆孔揭露,將勘察范圍內地基巖土按物質組合、埋藏條件及成因類型等特點劃分為4個工程地質層:1層素填土,2層粉質粘土,2-1層中砂,3層礫砂,3-1層中砂,4層礫巖。該場區地形簡單,地勢起伏較大,地貌類型單一,地層結構簡單,分布連續,厚度穩定,物理力學性質較均勻,無不良地質作用分布,場區穩定性良好。
此工程采用華寧勘察軟件進行數據輸入,但考慮理正勘察軟件的出圖效果與出圖速度均可佳,采用理正勘察出圖,因此需要進行華寧數據與理正數據的轉化。
第一步,在理正勘察軟件中建立一個與華寧勘察中工程名稱及工程編號相同的項目,進行保存并進行備份。
第二步,運行軟件,設置剛才保存得到的備份數據庫文件的路徑,設置華寧勘察軟件得到的原始文件路徑(如果成功,軟件會顯示相應的工程名稱和工程編號用于檢查是不是與理正勘察軟件中設置的一致)。
第三步,運行“1華寧數據入庫”先對華寧原始數據以一定的格式存入數據庫文件(*.mdb)當中,軟件自動檢查華寧原始數據是不是存在邏輯上的錯誤,并給出相應的提示。
第四步,運行相應的功能進行數據庫數據轉化到理正勘察備份的數據庫文件當中,其中“2基本數據入庫”包括工程名稱,工程編號,單孔數據,場地地層順序數據,場地綜合描述數據,各孔地層數據,柱狀巖土描述數據;“3原位測試入庫”包括標貫數據,N63.5數據[連續動探];“4取樣數據入庫”僅包括取樣數據;“5剖面數據入庫”僅包括剖面圖框架數據;“6土工試驗入庫”包括常規土工試驗原始數據,即直剪、固結、篩分、含水率、比重、重度、液限、塑限數據。每個功能都有邏輯錯誤檢查的功能,以保證數據的完整性和邏輯上的正確性,如果運行不成功就會顯示有關的錯誤提示。
最后,將經過處理后的理正勘察數據庫文件(*. mdb)在軟件界面下恢復,所有的勘察原始數據就都可以正常使用了,直接出圖即可,節省了再次在理正勘察軟件中重新輸入勘察原始數據的時間。
相應的軟件操作界面如圖6所示。
本文通過圖文說明對華寧勘察軟件原始數據格式,以及理正勘察軟件的數據格式進行分析,在開發環境WINDOWS XP(SP3)下,運用開發工具VB6.0(SP6)32位進行數據接口的開發,并應用于多個具體的工程實例,取得到了較好的應用效果。
利用本方法和思路可以省去重復輸入原始數據,彌補華寧勘察軟件與理正勘察軟件的一些不足之處,取兩者之長,對于編制報告以及出圖可起到事半功倍的效果,在實際工作當中可達到提高出圖效率以及縮短編制勘察報告周期的目的。

圖6 軟件操作界面
[1]GB50021-2009巖土工程勘察規范[S].
[2]理正工程地質勘察軟件使用說明、編制原理[R].北京理正軟件設計研究院有限公司.
[3]華寧巖土工程勘察軟件包使用手冊HNCAD 16.0版[R].中煤國際工程集團南京設計研究院.
[4]鳳凰御景B2塊地工程巖土工程勘察報告[R].承德華勘五一四工程勘察設計有限公司.
[5]Visual Basic從入門到精通[M].3版.清華大學出版社.
TP391
A
1004-5716(2016)06-0157-04
2015-05-19
2015-05-22
亓兆偉(1980-),男(漢族),吉林德惠人,工程師,現從事工程勘察及水工環地質勘查相關工作。