亓兆偉,王 星
(華北地質(zhì)勘查局五一四地質(zhì)大隊,河北承德067000)
基于華寧勘察軟件與理正勘察軟件數(shù)據(jù)接口的研究與開發(fā)
亓兆偉*,王星
(華北地質(zhì)勘查局五一四地質(zhì)大隊,河北承德067000)
針對大部分工程技術(shù)人員既不舍棄華寧勘察軟件的簡單的數(shù)據(jù)輸入操作,又兼顧理正勘察軟件在出圖方面的便捷,介紹一種數(shù)據(jù)轉(zhuǎn)換的方法和思路,并動手開發(fā)了接口,不必在理正勘察軟件中重新輸入原始數(shù)據(jù),以實現(xiàn)發(fā)揮兩者各自的優(yōu)勢,提高勘察報告的編制效率。
勘察;華寧;理正;接口;開發(fā)
近年來,隨著國家經(jīng)濟建設(shè)的發(fā)展,巖土工程勘察行業(yè)也有了較快的發(fā)展,傳統(tǒng)的以手寫報告、手繪圖紙的方式提交勘察成果,到現(xiàn)在以計算機為輔助設(shè)計手段進行勘察報告的編制和圖紙的繪制,大大提高了勘察成果的編制速度,而使用較多的2個比較成熟的計算機勘察類軟件是華寧勘察和理正勘察,比較兩者的優(yōu)缺點可以發(fā)現(xiàn),華寧有簡單的數(shù)據(jù)錄入界面,但不能對數(shù)據(jù)的合法性進行有效檢驗,理正有便捷、可觀的出圖效果,有數(shù)據(jù)的合法性檢查,但數(shù)據(jù)錄入比較繁瑣,如何讓兩者的數(shù)據(jù)可以完美交換,實現(xiàn)數(shù)據(jù)共享,發(fā)揮各自的優(yōu)勢,由此對兩者的數(shù)據(jù)接口的研究與開發(fā),以達到快捷方便地提交勘察成果目的具有指導意義。
2.1華寧勘察數(shù)據(jù)的存儲格式
對華寧巖土工程勘察軟件的原始數(shù)據(jù)文件進行分析,在軟件使用過程中,我們時常會發(fā)現(xiàn)在界面當中會出現(xiàn)“文件名”字樣,并且在文件名的后面跟著一個字符串,這個字符串告訴我們的信息,就是這些我們輸入的原始數(shù)據(jù)存放的位置,我們借助windows自帶的“記事本”程序打開相應(yīng)位置的文件(如圖為C:HN文件夾下的DK.2013-k-105文件)會發(fā)現(xiàn),里面存放的數(shù)據(jù)就是我們之前在相應(yīng)的界面下輸入的原始數(shù)據(jù),至此,我們找到了華寧的數(shù)據(jù)存儲格式。
2.2理正勘察數(shù)據(jù)的存儲格式
我們要對理正勘察軟件的數(shù)據(jù)文件進行分析,通過軟件的使用手冊可以發(fā)現(xiàn),數(shù)據(jù)是被存儲在稱為庫文件(*.mdb)當中,我們借助windows office辦公軟件可以打開這類的文件,并查看到在相應(yīng)界面下輸入的數(shù)據(jù)內(nèi)容,至此,我們找到了理正的數(shù)據(jù)存儲格式,見圖2。
圖1 華寧原始數(shù)據(jù)格式及存儲位置
圖2 理正備份數(shù)據(jù)庫格式及存儲位置
2.3數(shù)據(jù)轉(zhuǎn)換的主要流程
2.3.1華寧數(shù)據(jù)庫的設(shè)計過程
接口的功能要解決的第一個難題是華寧的勘察數(shù)據(jù)格式與理正勘察的數(shù)據(jù)格式不統(tǒng)一,華寧是文本文件的格式,而理正是數(shù)據(jù)庫文件(*.mdb)的格式,如何使兩者統(tǒng)一呢,那么就需要做一個接口程序,將兩者統(tǒng)一。首先我們設(shè)計一個數(shù)據(jù)庫文件,將華寧的數(shù)據(jù)文件內(nèi)容存儲在一個數(shù)據(jù)庫文件(*.mdb)當中,在數(shù)據(jù)庫中設(shè)計表,例如表BG存儲標貫數(shù)據(jù),表DCSH存儲場地地層順序數(shù)據(jù),表DCSJ存儲各孔地層數(shù)據(jù),表DK存儲單孔數(shù)據(jù),表TY存儲取樣數(shù)據(jù),表TGSJ存儲常規(guī)土工試驗原始數(shù)據(jù),表ZNXX存儲各孔描述數(shù)據(jù),表N63XX存儲N63.5數(shù)據(jù)[連續(xù)動探]等一系列與華寧數(shù)據(jù)對應(yīng)的表,見圖3。
圖3 用于存儲華寧原始數(shù)據(jù)的數(shù)據(jù)庫及各表
2.3.2華寧數(shù)據(jù)的入庫過程
將華寧的數(shù)據(jù)導入到設(shè)計好的數(shù)據(jù)庫表當中,下面僅列一些主要導入功能的開發(fā),開發(fā)工具為VB6.0(SP6)32位,開發(fā)環(huán)境采用WINDOWS XP(SP3),下面以導入表DCSJ存儲各孔地層數(shù)據(jù)為例進行關(guān)鍵代碼的敘述:
ConnStr="Provider=Microsoft.Jet.
OLEDB.4.0;"&"Data Source="&App.Path& "HNCAD16.mdb;"&"Jet OLEDB:
Database Password="'設(shè)置數(shù)據(jù)庫連接字符串
strSQL="Delete From[DCSJ]"'清空[DCSJ]表
Open DCSJFileName For Input As#1
'打開對應(yīng)的華寧數(shù)據(jù)文件
Line Input#1,Temp_Str'按行讀入文件內(nèi)容
DCSJ=Split(Temp_Str,",")'每一行數(shù)據(jù)間以逗號為界,讀取到數(shù)組里
strSQL="Insert Into[DCSJJOB]Values('"& DCSJ(0)&"','"&DCSJ(1)&"','"&DCSJ(2)&"','"& DCSJ(3)&"')"'將數(shù)據(jù)導入到表DCSJ當中
為了更好地讓代碼重用,需要定義一些子程序,比如Private Sub DCSJruku()(見圖4),在主程序中使用Call DCSJruku進行調(diào)用,按此過程的順序?qū)⑷A寧的其它數(shù)據(jù)文件的內(nèi)容導入設(shè)計好的表中,其中會涉及不同的算法,封裝成一個一個的子過程,用來解決判斷何時選擇何種數(shù)據(jù)入庫,何時進行重力密度與質(zhì)量密度進行轉(zhuǎn)化后入庫,什么情況下需要人工干預后入庫等一些問題,在此不一一贅述。
主要設(shè)計思路及流程總結(jié):過程定義→變量定義→連接設(shè)計好的數(shù)據(jù)庫→將設(shè)計庫相應(yīng)的數(shù)據(jù)表清空→讀入華寧原始文件→對文件數(shù)據(jù)按行進行判斷、處理→將得到的轉(zhuǎn)化后的數(shù)據(jù)保存在已設(shè)計數(shù)據(jù)庫的相應(yīng)數(shù)據(jù)表中→重復上面的處理直到整個文件結(jié)尾→關(guān)閉數(shù)據(jù)庫→過程結(jié)束。
圖4 恢復備份數(shù)據(jù)之前
2.3.3華寧數(shù)據(jù)到理正數(shù)據(jù)的轉(zhuǎn)換
接口的功能要解決的第二個難題是,將設(shè)計數(shù)據(jù)庫內(nèi)存儲的華寧勘察數(shù)據(jù)進行整理、篩選、重組,并導入到理正的備份文件中,下面以華寧勘察的取樣數(shù)據(jù)為例,介紹導入到理正勘察備份文件的過程:
LZConnStr="Provider=Microsoft.Jet.
OLEDB.4.0;"&"Data Source="&TLz.Text&";"&"Jet OLEDB:Database Password="'理正數(shù)據(jù)庫的連接字符串,TLz.Text中存放的是理正備份數(shù)據(jù)庫的絕對路徑。
sql_del="Delete From[z_c_QuYang]"'清空表z_c_QuYang
sql="select GCSY from [x_GongCheng]where GCBH='"&TGcbh.Text&"'"'得到與華寧工程編號一致的理正工程索引號,其中TGcbh.Text存放的華寧工程編號。
經(jīng)過對數(shù)據(jù)處理,將數(shù)據(jù)轉(zhuǎn)成理正預定義的數(shù)據(jù)類型,保存在變量當中,并使用下面的功能將數(shù)據(jù)導入到理正勘察的備份數(shù)據(jù)庫當中:
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'關(guān)閉含華寧數(shù)據(jù)的數(shù)據(jù)庫連接
connlz.Close'關(guān)閉理正數(shù)據(jù)庫連接
主要設(shè)計思路及流程總結(jié):連接理正備份數(shù)據(jù)庫的取樣數(shù)據(jù)表,取出需要的字段名和相應(yīng)需要賦的值→關(guān)閉數(shù)據(jù)庫連接→對設(shè)計數(shù)據(jù)庫進行連接→初始化取樣編號→按照鉆孔編號取出相應(yīng)的取樣數(shù)據(jù)→依據(jù)不同的取樣類型以不同的處理方式將數(shù)據(jù)插入到理正備份數(shù)據(jù)庫的取樣數(shù)據(jù)表→處理設(shè)計數(shù)據(jù)表中的下一條數(shù)據(jù),直到最后一條→關(guān)閉連接,關(guān)閉數(shù)據(jù)庫。
由于功能較多,其它數(shù)據(jù)處理功能在此不一一贅述。
最后將處理過的數(shù)據(jù)庫備份文件在理正勘察中進行恢復即可,見圖4、圖5。
圖5 恢復備份數(shù)據(jù)之后
按照本文介紹的方法,作者自行編制了相應(yīng)的轉(zhuǎn)換程序,并成功應(yīng)用于多個工程的數(shù)據(jù)轉(zhuǎn)化,對輸出結(jié)果檢驗均達到事先預想的效果。
工程實例:某市鳳凰御景B2塊地工程場地的巖土工程勘察,擬建樓房39棟,根據(jù)現(xiàn)場實際情況與建設(shè)單位共同協(xié)商,布置鉆孔131個,因整體方案調(diào)整進行了補充勘察,布置勘探點67個,共計勘探點198個,組成69條剖面,構(gòu)成勘察網(wǎng),其中鉆探孔3個,重探孔23個,取土孔30個,標貫孔51個,取土、標貫孔93個,取土、動探孔5個,標貫、動探孔6個,取土、標貫、動探孔10個,總進尺2699.20m;原位測試:完成標準貫入試驗285次、N63.5重型動力觸探試驗10.4m;土工試驗:采取并完成原狀土樣220件、擾動樣24件;工程測量:完成工程點測量198個,其高程均為絕對高程,各孔位置均由坐標控制,采用全站儀極坐標法測得。
根據(jù)鉆孔揭露,將勘察范圍內(nèi)地基巖土按物質(zhì)組合、埋藏條件及成因類型等特點劃分為4個工程地質(zhì)層:1層素填土,2層粉質(zhì)粘土,2-1層中砂,3層礫砂,3-1層中砂,4層礫巖。該場區(qū)地形簡單,地勢起伏較大,地貌類型單一,地層結(jié)構(gòu)簡單,分布連續(xù),厚度穩(wěn)定,物理力學性質(zhì)較均勻,無不良地質(zhì)作用分布,場區(qū)穩(wěn)定性良好。
此工程采用華寧勘察軟件進行數(shù)據(jù)輸入,但考慮理正勘察軟件的出圖效果與出圖速度均可佳,采用理正勘察出圖,因此需要進行華寧數(shù)據(jù)與理正數(shù)據(jù)的轉(zhuǎn)化。
第一步,在理正勘察軟件中建立一個與華寧勘察中工程名稱及工程編號相同的項目,進行保存并進行備份。
第二步,運行軟件,設(shè)置剛才保存得到的備份數(shù)據(jù)庫文件的路徑,設(shè)置華寧勘察軟件得到的原始文件路徑(如果成功,軟件會顯示相應(yīng)的工程名稱和工程編號用于檢查是不是與理正勘察軟件中設(shè)置的一致)。
第三步,運行“1華寧數(shù)據(jù)入庫”先對華寧原始數(shù)據(jù)以一定的格式存入數(shù)據(jù)庫文件(*.mdb)當中,軟件自動檢查華寧原始數(shù)據(jù)是不是存在邏輯上的錯誤,并給出相應(yīng)的提示。
第四步,運行相應(yīng)的功能進行數(shù)據(jù)庫數(shù)據(jù)轉(zhuǎn)化到理正勘察備份的數(shù)據(jù)庫文件當中,其中“2基本數(shù)據(jù)入庫”包括工程名稱,工程編號,單孔數(shù)據(jù),場地地層順序數(shù)據(jù),場地綜合描述數(shù)據(jù),各孔地層數(shù)據(jù),柱狀巖土描述數(shù)據(jù);“3原位測試入庫”包括標貫數(shù)據(jù),N63.5數(shù)據(jù)[連續(xù)動探];“4取樣數(shù)據(jù)入庫”僅包括取樣數(shù)據(jù);“5剖面數(shù)據(jù)入庫”僅包括剖面圖框架數(shù)據(jù);“6土工試驗入庫”包括常規(guī)土工試驗原始數(shù)據(jù),即直剪、固結(jié)、篩分、含水率、比重、重度、液限、塑限數(shù)據(jù)。每個功能都有邏輯錯誤檢查的功能,以保證數(shù)據(jù)的完整性和邏輯上的正確性,如果運行不成功就會顯示有關(guān)的錯誤提示。
最后,將經(jīng)過處理后的理正勘察數(shù)據(jù)庫文件(*. mdb)在軟件界面下恢復,所有的勘察原始數(shù)據(jù)就都可以正常使用了,直接出圖即可,節(jié)省了再次在理正勘察軟件中重新輸入勘察原始數(shù)據(jù)的時間。
相應(yīng)的軟件操作界面如圖6所示。
本文通過圖文說明對華寧勘察軟件原始數(shù)據(jù)格式,以及理正勘察軟件的數(shù)據(jù)格式進行分析,在開發(fā)環(huán)境WINDOWS XP(SP3)下,運用開發(fā)工具VB6.0(SP6)32位進行數(shù)據(jù)接口的開發(fā),并應(yīng)用于多個具體的工程實例,取得到了較好的應(yīng)用效果。
利用本方法和思路可以省去重復輸入原始數(shù)據(jù),彌補華寧勘察軟件與理正勘察軟件的一些不足之處,取兩者之長,對于編制報告以及出圖可起到事半功倍的效果,在實際工作當中可達到提高出圖效率以及縮短編制勘察報告周期的目的。
圖6 軟件操作界面
[1]GB50021-2009巖土工程勘察規(guī)范[S].
[2]理正工程地質(zhì)勘察軟件使用說明、編制原理[R].北京理正軟件設(shè)計研究院有限公司.
[3]華寧巖土工程勘察軟件包使用手冊HNCAD 16.0版[R].中煤國際工程集團南京設(shè)計研究院.
[4]鳳凰御景B2塊地工程巖土工程勘察報告[R].承德華勘五一四工程勘察設(shè)計有限公司.
[5]Visual Basic從入門到精通[M].3版.清華大學出版社.
TP391
A
1004-5716(2016)06-0157-04
2015-05-19
2015-05-22
亓兆偉(1980-),男(漢族),吉林德惠人,工程師,現(xiàn)從事工程勘察及水工環(huán)地質(zhì)勘查相關(guān)工作。