<noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><delect id="ixm7d"></delect><bdo id="ixm7d"></bdo><rt id="ixm7d"></rt><bdo id="ixm7d"></bdo><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"><rt id="ixm7d"></rt></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d">

VBA與EXCEL在處理物探工作中航跡信息的應用

2022-12-07

在日常的物探工作中成圖的三維化成為現在的一個趨勢, 各測點的高程信息也成為后期數據處理及制圖的重要參數之一。

手持GPS做為地質工作中的重要工具以其方便、快捷的特點大量在物探工作中得以大量應用。準確設置參數的手持GPS采集的原始數據其平面絕對定位精度能達到±3.7m, 高程絕對定位精度能達到±6.1m。數據經處理 (剔除系統性誤差) 后其精度能分別提高到±3.5m和±5.3m, 能夠滿足小于1∶5000比例尺的物化探測網布設和地質填圖等多項工作的精度要求[1]。

Visual Basic for Applications (VBA) 是一種Visual Basic的一種宏語言, 主要能用來擴展W i n d o w s的應用程式功能, 特別是Microsoft Office中的相關組件, 如EXCEL等。VBA不但繼承了VB的開發機制, 而且VBA還具有與VB相似的語言結構, 它們的集成開發環境IDE (Intergrated Development Environment) 也幾乎相同。但是, 經過優化, VBA專門用于Office的各應用程序。[2]

自動記錄航跡是手持GPS的一項基本功能, 當GPS接收機接收到3顆以上的衛星信號并完成定位后就開始自動記錄航跡, 直到GPS接收機關閉或收不到衛星信號為止。

航跡中記錄了大量的坐標及高程信息, 如何快速的從大量的航跡信息中找出我們需要的信息, 實現航跡處理的自動化就是我們下文要討論的問題。

1 工作流程及程序設計

利用手持G P S以G A R M I N的e T r e x Venture型為例, 測量測點高程的一般程序是:導航到理論坐標→操作GPS存點→完成該測點工作繼續前往下一測點??此坪唵? 但如果工作中疏忽漏存了某點再去補點就會給工作帶來極大的不便。通過對GPS自動記錄航跡的數據進行回放, 我們可以發現, 航跡忠實地記錄了定位期間大量的坐標與高程信息, 當然也包括了我們測點的相關坐標及高程。我們可以通過利用航跡中的信息將測量測點高程的程序簡化為導航到理論坐標→完成該測點工作繼續前往下一測點, 在一定程度上提高了工作效率, 同時也避免了漏存點等工作失誤帶來的影響。

打開G A R M I N回放軟件M A P S O U R C E瀏覽航跡信息我們可以看到大量的航跡信息 (圖1) , 其中大圓為理論測點, 小圓點為航跡中的各個記錄點??梢姾桔E中記錄點數量要遠遠大于理論測點數量, 如何把眾多的航跡記錄點中離理論測點最近的那個找出來就是我們下文中要討論的問題。

在此我們利用EXCEL及其自帶的VBA功能進行簡單編程完成了這個任務。首先我們利用M A P S O U R C E的另存功能將航跡以直角坐標的形式轉存為TXT文件, 然后在E X C E L中打開此T X T文件, 刪除無用信息僅保留X, Y坐標及高程信息 (圖2) 。

可見航跡中共記錄點1309個, 下一步就結合EXCEL的公式計算以及簡單的VBA編程實現計算機自動篩選出理論測點附近航跡記錄點的高程, 實現自動化處理。

我們在EXCEL中先準備待處理數據 (如圖3) , 建立幾列依次為“點號”、“理論測點Y坐標”、“理論測點X坐標”、“理論測點高程” (留空) 、“航跡Y坐標”、“航跡X坐標”、“航跡高程”、“計算區1”、“計算區2” (留空) 、“計算區3” (留空) 、“誤差”。其中計算區1需輸入公式:SQRT (POWER ( (F1-$K$1) , 2) +POWER ( (E1-$J$1) , 2) ) 并向下填充到最后一個數據用于計算兩點間距離。接著利用EXCEL中的控件工具箱在合適位置建立控件“命令按鈕”雙擊命令按鈕進入代碼窗口。

這次代碼的編制充分運用了EXCEL公式自動計算與VBA的循環功能相結合, 以EXCEL為基礎, 力盡用最簡潔的代碼來完成任務。代碼及注釋如下:

當點擊“計算”按鈕后將第一個理論測點坐標值即單元格B1C1的值即復制到計算區2和3中, 此時計算區1及其列中公式得出結果, 求出每個航跡記錄點與理論測點的平面距離即偏距值。然后求出偏距值中最小值, 找出其對應的坐標和高程放入D列的高程值區, 并循環進行下一個理論測點直到完成所有點。同時表格中M列給出所選航跡點的偏距值, 用以評價數據質量。

在此例中處理了303個理論測點的高程, 并有1300多航跡點參加運算, 但整個過程不超過10秒, 非常適合物探工作中大規模的規則網及海量的航跡數據。

2 結語

本文介紹了VBA與Excel在物探數據處理方面的一個具體應用, 實踐證明VBA在Excel物探數據處理中數據處理的效率得到了極大的提高, 減少了人為誤差。通過深入研究VBA對Excel的操作和功能, 可以將這些方法應用于其它需要大量數據處理的領域, 將大大加快數據處理的速度, 減少錯誤的發生, 提高工作的效率。VBA具有簡單易學、句法簡單的特點, 而且不需要額外安裝VB的開發環境, 因此無論在實際工程領域, 還是日常工作的數據處理方面, 都有非常廣闊的應用前景。

摘要:文章通過對物探野外工作中遇到的實際問題進行分析, 提取出GPS航跡中的有用信息, 通過常用的EXCEL程序與VBA的簡單編程相結合實現了工作的自動化, 提高了工作效率, 具有推廣意義。

關鍵詞:手持GPS,航跡,VBA,EXCEL

參考文獻

[1] 李國防, 閆新亮.手持GPS定位精度測試及其在礦產勘查中的應用[J].礦產勘查, 2010:380~384.

[2] 黃海.Excel VBA語法與應用辭典.2009.

本文來自 99學術網(www.gaojutz.com),轉載請保留網址和出處

上一篇:淺談如何通過良好的師生關系提高課堂教學效果下一篇:鈦鐵礦粉氣力輸送系統的節能設計與應用

91尤物免费视频-97这里有精品视频-99久久婷婷国产综合亚洲-国产91精品老熟女泄火