楊超 李紅超
摘要:金維軟件系統(tǒng)(GeoIPAS)是國(guó)家科技部和新疆維吾爾自治區(qū)“科技型中小企業(yè)技術(shù)創(chuàng)新基金”、新疆地礦局共同支持下開(kāi)發(fā)完成的軟件產(chǎn)品,是西北地區(qū)地質(zhì)勘查類(lèi)項(xiàng)目資料歸檔、成果提交中較為常用的工具。各模塊原始數(shù)據(jù)都要求為某種特定的格式。如何快速而準(zhǔn)確的準(zhǔn)備好這些原始數(shù)據(jù)文件。較為簡(jiǎn)單的方法是通過(guò)Excel的VBA功能將這一過(guò)程自動(dòng)化。以某磁測(cè)數(shù)據(jù)為例,通過(guò)分析這一過(guò)程的幾個(gè)關(guān)鍵步驟的特點(diǎn),得出了通過(guò)vba快速準(zhǔn)備金維原始數(shù)據(jù)的通用模式,為其他數(shù)據(jù)格式的轉(zhuǎn)換提供了思路。
關(guān)鍵詞:GeoIPAS;VBA;格式轉(zhuǎn)換;資料歸檔
1. GeoIPAS系統(tǒng)簡(jiǎn)介
金維軟件系統(tǒng)(GeoIPAS)是一個(gè)跨平臺(tái)的地學(xué)信息處理研究應(yīng)用系統(tǒng)。它通過(guò)了中國(guó)地質(zhì)調(diào)查局軟件資質(zhì)的認(rèn)定,功能定位為輔助礦產(chǎn)勘查成果數(shù)據(jù)建庫(kù)、成果分析、成果圖制作等。是西北地區(qū)的地質(zhì)勘查類(lèi)項(xiàng)目資料歸檔、成果提交中較為常用的工具。其模塊涵蓋“數(shù)據(jù)預(yù)處理、重磁、電法、數(shù)學(xué)地質(zhì)、水文地質(zhì)、專題圖件、三維可視化、工具、系統(tǒng)設(shè)置、系統(tǒng)幫助”等。為了更好統(tǒng)一地勘類(lèi)項(xiàng)目資料歸檔的規(guī)范性,金維軟件被廣泛推廣與認(rèn)可。
2. VBA簡(jiǎn)介
VBA是基于Visual Basic發(fā)展而來(lái)的,它們具有相似的語(yǔ)言結(jié)構(gòu)。Visual Basic是Microsoft的主要圖形界面開(kāi)發(fā)工具,VBA 5.0(亦即VBA 97)則是Visual Basic 5.0的子集。Visual Basic是由Basic發(fā)展而來(lái)的第四代語(yǔ)言。Visual Basic作為一套獨(dú)立的Windows系統(tǒng)開(kāi)發(fā)工具,可用于開(kāi)發(fā)Windows環(huán)境下的各類(lèi)應(yīng)用程序,是一種可視化的、面向?qū)ο蟮摹⒉捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言。它具有高效率、簡(jiǎn)單易學(xué)及功能強(qiáng)大的特點(diǎn)。VB的程序語(yǔ)言簡(jiǎn)單、便捷,利用其事件驅(qū)動(dòng)的編程機(jī)制,新穎易用的可視化設(shè)計(jì)工具,并使用Windows應(yīng)用程序接口(API)函數(shù),采用動(dòng)態(tài)鏈接庫(kù)(DLL)、動(dòng)態(tài)數(shù)據(jù)交換(DDE)、對(duì)象的鏈接與嵌入(OLE)以及開(kāi)放式數(shù)據(jù)庫(kù)訪問(wèn)(ODBC)等技術(shù),可以高效、快速地編制出Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。[2]
3. VBA程序的制作及應(yīng)用實(shí)踐
GeoIPAS的歸檔結(jié)構(gòu)雖然統(tǒng)一規(guī)范,但在日常工作中,不同單位所使用的儀器和慣用的工作過(guò)程千差萬(wàn)別,以致形成的最初原始資料不盡相同,這就產(chǎn)生了一個(gè)數(shù)據(jù)格式轉(zhuǎn)換的問(wèn)題。數(shù)據(jù)預(yù)處理和歸檔猶如一條自動(dòng)化的流水線,但是數(shù)據(jù)格式轉(zhuǎn)換的步驟將這一流水線斷為兩段,本文旨在通過(guò)Excel的VBA功能將這一步驟填補(bǔ),恢復(fù)這一流水線的通暢,提高工作效率。
下面以新疆某地的磁法數(shù)據(jù)為例引出其他數(shù)據(jù)格式轉(zhuǎn)換的統(tǒng)一套路。最初儀器傳出的原始數(shù)據(jù)的格式為表1所示。
金維軟件的歸檔格式為將磁測(cè)與gps數(shù)據(jù)分開(kāi),以逗號(hào)為分割符,磁測(cè)去掉開(kāi)頭的早基和結(jié)尾的晚基,另外磁測(cè)和gps數(shù)據(jù)還要加入儀器編號(hào)和操作者。為了達(dá)到金維要求的信息量首先設(shè)計(jì)一個(gè)vba窗口來(lái)輸入所缺少的信息,如圖1所示。并將這些信息存儲(chǔ)到一個(gè)固定的文件中以便下次默認(rèn)值為上次的輸入。






4.總結(jié)
在此基礎(chǔ)上去掉儀器號(hào)和操作員的信息,并轉(zhuǎn)為讀取基站數(shù)據(jù)的信息就可生成金維格式的日變基站原始數(shù)據(jù)文件,由上述利用vba做格式轉(zhuǎn)換的過(guò)程得出了一個(gè)vba格式轉(zhuǎn)換的基本模式。首先比較現(xiàn)有數(shù)據(jù)信息是否滿足金維數(shù)據(jù)信息的要求,然后篩選出所需信息數(shù)據(jù)體,最后保存文件。注意的是在比較現(xiàn)有數(shù)據(jù)信息的時(shí)候文件名也是一個(gè)信息,篩選中剔除不需要的數(shù)據(jù)常用的算法就是if選擇法,利用循環(huán)控制將數(shù)據(jù)讀入臨時(shí)數(shù)據(jù)庫(kù),同樣利用循環(huán)控制將數(shù)據(jù)保存成為金維格式相應(yīng)文件。
在大部分日常數(shù)據(jù)整理過(guò)程中Excel已經(jīng)先入為主地成了原始數(shù)據(jù)的第一整理格式。然而格式轉(zhuǎn)換產(chǎn)生了大量重復(fù)的操作,使得轉(zhuǎn)換為金維格式這一過(guò)程降低了整個(gè)數(shù)據(jù)整理效率。vba的批處理能力恰好彌補(bǔ)了這一缺憾,從一定程度上降低了金維軟件的使用難度。
參考文獻(xiàn):
[1]李萬(wàn)忠,彭仲秋,黃顯義等.跨平臺(tái)地學(xué)軟件開(kāi)發(fā)及其應(yīng)用.物探與化探,2008,32(5),509-512.
[2]Excel VBA語(yǔ)法辭典[M].北京:機(jī)械工業(yè)出版社,2010.