亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Surfer和VBA技術的自動化繪制技術研究

        2022-09-27 03:14:20賈世俊周鵬李朝輝朱洪瀟崔彥崗崔楊洋
        地質找礦論叢 2022年3期
        關鍵詞:斷面圖圖例網(wǎng)格化

        賈世俊,周鵬,李朝輝,朱洪瀟,崔彥崗,崔楊洋

        (中國冶金地質總局第三地質勘查院,太原 030032)

        0 引言

        瞬變電磁法又稱時間域電磁法(Time domain electromagnetic methods,縮寫TEM)因其場源頻帶寬、分辨率高、操作簡單等優(yōu)點,被廣泛應用于金屬、石油勘探,水源、地熱勘察以及工程地質勘探勘察等領域,應用范圍涵蓋了地面、地下和海洋,幾乎涉及了地球物理探測的各個領域,已成為重要的地球物理探測方法技術之一[1-3]。隨著電子技術和計算機技術的快速發(fā)展,地球物理勘探儀器的數(shù)字化和智能化程度不斷提高,瞬變電磁儀器的性能也得到顯著的提升。

        目前,市場上較為常見的瞬變電磁儀器主要有加拿大GEON-ICS公司的PROTEM系統(tǒng)(包括PROTEM-37,47,57,67等型號)、PHOENIX公司的V6和V8系統(tǒng)、美國ZONGE公司的GDP-32系統(tǒng)、重慶奔騰數(shù)控技術研究所的WTEM系統(tǒng)等[4]。主流的瞬變電磁儀器基本都配備了相應的處理解釋軟件,對采集到的數(shù)據(jù)進行預處理、反演、輸出成圖數(shù)據(jù)[5]。在實際生產(chǎn)應用中,勘探單位常用Surfer軟件對上述儀器軟件的反演結果進行斷面成圖和整飾。這一過程基本為參數(shù)統(tǒng)一的重復操作,且修改某一參數(shù)后所有斷面需要重新繪制。尤其在數(shù)據(jù)量較大的工程項目中斷面圖件的整飾、修改需要花費大量人力和時間資源。因此,采用計算機完成圖件批量繪制和整飾顯得尤為需要。本文介紹了一種基于Surfer的數(shù)據(jù)管理和自動化處理功能,利用VBA技術實現(xiàn)了瞬變電磁法斷面圖的批量自動化繪制及整飾技術,并就實際應用進行了檢驗。

        1 Surfer和VB技術

        1.1 Surfer技術

        Surfer是由美國Golden software公司研發(fā)的一套功能強大的成圖軟件,具有強大的插值功能和圖件繪制能力,被廣泛應用于物探工作中等值線圖的繪制[6-8]。Surfer能夠使外部程序通過“對象”去“操縱”Surfer程序,提供了一個從外部程序控制Surfer程序的編程接口。Surfer程序的對象為自動化對象(Automation Object),VB等程序語言可以通過使用這些對象的屬性(Properties)和方法(Method)實現(xiàn)控制Surfer程序的目的[9]。Surfer采用層次化的方式組織其自動化對象,各對象屬性和方法參數(shù)可在Surfer程序“help”中獲得。

        1.2 VBA技術

        VBA(Visual Basic for Applications)是基于Visual Basic發(fā)展而來的新一代標準宏語言,是微軟公司開發(fā)的用于Microsoft Office應用程序執(zhí)行通用自動化(OLE)任務的編程語言。通過VBA技術可以有效地擴展Excel的功能,設計和構建人機交互界面,幫助用戶更加高效地完成Excel中公式、函數(shù)等基本操作不能完成的任務[10]。

        2 程序設計思路

        基于Excel的數(shù)據(jù)管理功能,將多條測線中的瞬變電磁反演數(shù)據(jù)、測點信息進行排序、篩選、查找匹配并統(tǒng)一數(shù)據(jù)格式,再利用VBA編程技術按測線輸出固定格式的成圖數(shù)據(jù)。

        2.1 Excel數(shù)據(jù)整理

        將全區(qū)反演成果數(shù)據(jù)、測量數(shù)據(jù)、目的層高程信息數(shù)據(jù)(如煤層底板等高線)等已知數(shù)據(jù)分別輸入Excel表格中sheet1、sheet2、sheet3、……工作表中,以“線號-點號”為統(tǒng)一標識符,利用VLOOKUP函數(shù)將各測點數(shù)據(jù)信息統(tǒng)一到同一數(shù)據(jù)表中。

        VLOOKUP函數(shù)的語法規(guī)則如下:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

        各參數(shù)說明見表1。

        表1 VLOOKUP函數(shù)參數(shù)特征Table 1 Characteristics of parameters of VLOOKUP function

        經(jīng)匹配后數(shù)據(jù)格式見表2。其中“#N/A”為VLOOKUP函數(shù)所在列匹配結果,當對應“線號-點號”數(shù)據(jù)存在時顯示相應數(shù)據(jù),不存在時顯示為“#N/A”。

        2.2 VBA編程分線輸出

        以表2數(shù)據(jù)為基礎,采用VBA 編程技術按“線號”分別提取各線數(shù)據(jù),并輸出為文本格式,并以線號命名。文本數(shù)據(jù)格式為:

        表2 Excel數(shù)據(jù)整理Table 2 Excel data collation

        “X,Y,Z,H,3#,5#,10#”,便于Surfer軟件網(wǎng)格化數(shù)據(jù)。

        其中,X為點號;Y為目的層標高;Z為反演電阻率值;H為地表標高;3#,5#,10#分別對應相應煤層的底板標高。

        以下為程序分線輸出的主要算法:

        Do

        X=Sheet1.Cells(i, 3)

        Y=Sheet1.Cells(i, 7)

        Z=Sheet1.Cells(i, 5)

        H=Sheet1.Cells(i, 6)

        SanM=Sheet1.Cells(i, 8)

        WuM=Sheet1.Cells(i, 9)

        ShiM=Sheet1.Cells(i, 10)

        If Sheet1.Cells(i, 2)=linename Then

        sss=X & "," & Y & "," & Z & "," & H & "," & SanM & "," & WuM & "," & ShiM

        Print #1, vbCrLf + sss;

        Else

        Close #1

        linename=Sheet1.Cells(i, 2)

        ……

        End If

        Loop While Sheet1.Cells(i, 1) <> ""

        2.3 VBA編程控制Surfer軟件自動化繪圖

        首先,利用VBA面向對象編程的特點設計圖形用戶界面(圖1),方便使用者輸入繪圖所需的各

        圖1 程序圖形用戶界面Fig.1 Program GUI

        類參數(shù)[11-19],如工作區(qū)名稱、盲區(qū)深度、繪圖比例尺、標注間隔、色標尺寸、濾波次數(shù)等參數(shù),添加VBA通用對話框引導用戶添加“色標文件”、“數(shù)據(jù)文件”和“圖例文件”路徑。

        之后,點擊“開始繪圖”按鈕控件進行“單擊”事件編程。編程主要實現(xiàn)VBA對Surfer程序的調(diào)用、數(shù)據(jù)文件的導入、網(wǎng)格化、濾波、白化、圖件繪制、參數(shù)引用設置、色標文件引用、圖例文件添加、繪圖進度提示以及當前文件下測線文件的遍歷繪圖,從而實現(xiàn)瞬變電磁法斷面圖批量自動化繪制。

        以下為程序主要功能的代碼:

        (1)創(chuàng)建Surfer對象。

        Set SurferApp=CreateObject("Surfer.Application") “創(chuàng)建Surfer的ActiveX對象”

        SurferApp.Visible=False “設置Surfer對象不可見”

        Set plot=SurferApp.Documents.Add(1) “添加Surfer繪圖窗口”

        Set shapes=plot.shapes “創(chuàng)建繪圖對象”

        (2)數(shù)據(jù)網(wǎng)格化。

        SurferApp.GridData DataFile:=sfilestem$, xCol:=1, yCol:=2,zCol:=3, Algorithm:=2, DupMethod:=2, _NumCols:= (xmax#-xmin#)/(xinc#/2), NumRows:=(xmax#-xmin#)/(xinc#/2), ShowReport:=False, OutGrid:=CSGrd1File$, ymin:=Text3. Text“數(shù)據(jù)網(wǎng)格化”

        其中,DataFile為數(shù)據(jù)文件;xCol:=1,yCol:=2,zCol:=3分別為網(wǎng)格化數(shù)據(jù)時X,Y,Z數(shù)據(jù)所在列;Algorithm為網(wǎng)格化算法;此處的2為克里格法;OutGrid為輸出網(wǎng)格文件;ymin為網(wǎng)格最低深度。

        (3)網(wǎng)格濾波。

        SurferApp.GridFilter InGrid:=CSGrdbFile$, Filter:=9, OutGrid:=CSGrdbFile$

        其中,InGrid為輸入網(wǎng)格文件;Filter濾波方法;此處的“9”為高斯低通濾波;OutGrid為濾波后輸出網(wǎng)格文件。

        (4)網(wǎng)格白化。

        SurferApp.GridBlank InGrid:=CSGrd1File$, BlankFile:=CSBlnFile$,OutGrid:=CSGrdbFile$

        其中,InGrid為輸入網(wǎng)格文件;BlankFile為白化文件;OutGrid為白化后輸出網(wǎng)格文件。

        白化文件由程序根據(jù)盲區(qū)深度和斷面截取深度結合網(wǎng)格數(shù)據(jù)計算,輸出為以線號命名的后綴為“bln”的文件,提取過程主要為獲取網(wǎng)格文件邊界值和白化范圍,并讀取相應位置標高。編程以文件讀寫為主,不作詳細論述。此過程同時生成各煤層底板線文件用于等值線圖添加煤層底板線。

        (5)圖件繪制。

        Set mapframe=shapes.AddContourMap(CSGrdFile$)“添加等值線圖”

        Set ContourMap=mapframe.overlays(1)

        With ContourMap“設置等值線圖各種參數(shù)”

        Name="InvMod Contour"

        Levels.LoadFile (CSLvlFile$)“添加色標文件”

        SmoothContours=3

        ……

        With plot.Selection“設置色標尺寸及位置”

        Height=Text13.Text

        Width=Text14.Text

        Left=((mapframe.xmax-mapframe.xmin)/Text6.Text)/2+14

        Top=13

        DeselectAll

        End With

        End With

        Set basemap=shapes.AddBasemap(ImportFileName:=CSBasFile$)“添加粘貼圖,地形線及煤層底板線”

        (6)圖例文件添加。

        采用復制統(tǒng)一圖例文件到斷面圖的方法,圖例位置的設置與色標位置類似。主要代碼為:

        plot.Selection.Copy“復制圖例”

        shapes.Paste“粘貼圖例”

        (7)繪圖進度提示。

        進度提示利用VB控件ProgressBar實現(xiàn),通過設置繪圖過程中ProgressBar的值來顯示繪圖進度,使用戶實時掌握繪圖進度。

        ProgressBar1.Value=“ ”

        (8)測線文件的遍歷。

        上述過程為完成單幅斷面圖的過程,為達到批量自動化繪制當前文件夾下所有測線斷面圖的目的,需要使程序自動遍歷當前目錄下的所有測線文件,并循環(huán)繪圖過程。筆者采用了VB中的Dir函數(shù)返回當前目錄下的指定類型的文件,并用循環(huán)語句使繪圖過程自動執(zhí)行,直到完成所有斷面圖繪制。

        3 應用效果

        將上述編輯好的程序應用于山西某礦區(qū)瞬變電磁勘查項目,該項目瞬變電磁測量面積15.2 km2,資料處理需要繪制斷面圖600余幅。人工繪圖是一個極其耗時費力的工程,且圖件修改不方便;采用本程序,成圖數(shù)據(jù)整理、繪圖全部實現(xiàn)計算機自動化,圖面信息統(tǒng)一,修改方便。

        圖2為工作區(qū)13線瞬變電磁、地質綜合剖面圖,即為采用本程序繪制,圈出的采空區(qū)異常經(jīng)ZK1301驗證,110 m埋深處確為采空。該方法與人工繪圖相比效率高,繪圖結果可靠,應用效果明顯。

        圖2 ××煤業(yè)瞬變電磁13線視電阻率、地質綜合剖面Fig.2 Integrated Transicient electromagnetic and geological section of electromagnetic line 13 in a coal industry1.物探推測2#煤層;2.物探推測采空區(qū);3.馬蘭組黃土;4.二疊系下石盒子組;5.二疊系山西組;6.黃土;7.砂質泥巖;8.砂巖; 9.煤層;10.煤層采空區(qū);11.鉆孔及編號

        4 結論

        (1)基于Surfer和VBA技術的瞬變電磁斷面圖的自動化繪制技術,利用Surfer和Office公司自帶的VBA編程技術進行再次開發(fā),形成的繪制程序界面友好、使用方便、快捷、可操作性強,為后續(xù)項目的順利開展提供了技術支持。

        (2)相比手動逐幅繪制,該技術功能貼近野外生產(chǎn)實踐需要,圖件格式統(tǒng)一,易于統(tǒng)一修改,有效地提高了工作效率,節(jié)約了時間及人工成本,具有較大的實踐應用價值。

        (3)該處理技術還可以應用到其他領域,如繪制氣象部門的降雨量等值線圖、地球化學領域的污染物擴散濃度圖等,應用前景廣闊。

        猜你喜歡
        斷面圖圖例網(wǎng)格化
        圖線、箭頭的含義和圖例
        以黨建網(wǎng)格化探索“戶長制”治理新路子
        奮斗(2021年9期)2021-10-25 05:53:02
        機械制圖項目課程開發(fā)的實踐與思考
        輸電線路紙質斷面圖數(shù)字化方法研究及實現(xiàn)
        綠色科技(2019年20期)2019-11-26 11:54:33
        找拼圖
        犬狗的畫法(六)
        老年教育(2018年6期)2018-07-06 08:03:18
        城市大氣污染防治網(wǎng)格化管理信息系統(tǒng)設計
        如何讓學生巧用圖例解決數(shù)學問題
        《機械制圖》教學中斷面圖的教學探討
        化解難題,力促環(huán)境監(jiān)管網(wǎng)格化見實效
        国产精品亚洲lv粉色| 免费人成网在线观看品观网| 国产一区二区三区成人| 亚洲av永久无码精品一福利| 亚洲欧洲∨国产一区二区三区| 国产日韩A∨无码免费播放| 午夜亚洲精品视频网站| 国产一区亚洲二区三区| 亚洲欧洲精品无码av| 国产在线精品一区二区在线看| 久久九九av久精品日产一区免费 | 欧美成人猛交69| 亚洲av色福利天堂| 久久精品有码中文字幕1| 国产自拍精品在线免费观看| 18黑白丝水手服自慰喷水网站| 污污污污污污污网站污| 日韩精品有码中文字幕在线| 东京热日本av在线观看| 国产女主播精品大秀系列| 欧美在线成人午夜网站| 国语自产啪在线观看对白| 亚洲av片无码久久五月| 色婷婷久久综合中文久久蜜桃av| 日韩偷拍一区二区三区视频| 色婷婷精品大在线视频| 国产精品 亚洲 无码 在线| av大片在线无码免费| 精选二区在线观看视频| 日韩女同精品av在线观看| 夜先锋av资源网站| 国产精品一区2区三区| 日韩av一区二区蜜桃| 真实国产精品vr专区| 亚洲综合婷婷久久| 精品国产车一区二区三区| 国产特级毛片aaaaaa高潮流水| 人妻丰满熟妇av无码处处不卡| 精品丝袜国产在线播放| 中文有码人妻字幕在线| 俄罗斯老熟妇色xxxx|