

摘要:本文針對井下測量內業工作中對以前的原始資料的查詢、人工對算花費時間長、小數點取舍等問題,利用Excel中的VBA模塊,編寫相應的程序對井下外業測量中的觀測數據進行自動化處理,讓測量內業工作更直觀、規范,便于技術人員方便對算檢核、查閱、使用。
Abstract: In this paper, for the problems of the previous original data query, long time of manual calculation, decimal point selection and so on, the VBA module of Microsoft Office Excel software is used to automatically process the observation data in the underground field measurement, which makes the measurement work more intuitive and standardized, and is convenient for technicians to check, consult and use the calculation.
關鍵詞:Excel;VBA;數據處理;井下測量
Key words: Excel;VBA;data processing;downhole measurement
中圖分類號:P208? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1006-4311(2020)09-0197-03
1? 緒論
在實際井下測量內業計算時,人工計算檢核與查找數據資料無疑會耗費大量的時間和人力資源,并且無法保證準確率。所以,尋求一種高效、可行的方法替代原來的人工計算檢核方法是非常重要的[1-3]。本文提出利用EXCEL強大的二次開發環境VBA模塊處理井下測量內業數據。Visual Basic for Applications(VBA)是Visual Basic的一種宏語言,主要能用來擴展Windows的應用程式功能,也可說是一種應用程式視覺化的Basic 腳本[4-6]。VBA是一種面向對象的編程語言,其語法比較簡單,容易理解和掌握,并且VBA是針對特定的應用程序進行開發的,用簡短的代碼就能實現復雜的功能,一般的測量人員都能很好地使用[7-9]。在井下測量工作中,使用Excel-VBA方便對外業施測的原始數據和內業數據進行檢查、計算及保存[10]。
2? 井下測量內業工作中的問題
在井下測量內業工作中,測量技術人員需要在井下外業觀測前對控制起算數據進行相應檢核,如已知邊的方位角、邊長、平面坐標、高程、導線點號等;如果現有工程與幾年前的工程貫通,將會用到幾年前的數據資料。其次,進行內業計算時,需要求出導線各邊的坐標方位角、導線點的平面坐標、高程。將2次獨立檢核對算無誤后的結果記錄在測量成果本,檢核無誤后保存,并把導線點展繪在CAD礦圖。
井下測量內業工作中存在的普遍性問題一般包括以下四個方面:首先,外業觀測時,需要檢核控制起算數據,如現有工程與幾年前的工程貫通,會用到幾年前的數據資料,查找數據資料的過程會花費較長時間;其次,內業工作要求2次獨立計算,并把2次計算的結果進行檢核,人工計算檢核時間長;再者,在獨立計算的過程中,小數點取舍方法上的不同,導致2次計算的結果不同;最后,將計算后的數據展繪到礦圖上需要耗費大量的時間。
例如,已知A點至B點的方位為63°11′2.8″,A至B的水平距離為100米,A點坐標為X=100.003;Y=100.000,在計算B點坐標時,人工計算時有的用B坐標Bx=Ax+cos(ab)·D(ab),By=Ay+sin(ab)·D(ab)的方法計算,那么保留3位小數進行“四舍六入 奇進偶舍”取舍前Bx=145.1155,By=189.2461,取舍后Bx=145.116,By=189.246。有的用B坐標Bx=Ax+?駐x,By=Ay+?駐y的方法計算,那么取舍前?駐x=45.1125,?駐y=89.2461,取舍后Bx=100.003+45.112=145.115,By=100+89.246=189.246。2次計算后B坐標有所差異,在井下測量內業計算應按后者規范計算,即先求出平面坐標增量?駐x和?駐y,對其進行取舍之后再計算待求點坐標。
3? 井下測量程序設計
通過對井下測量內業工作的分析,為了讓外業數據和內業數據相聯和統一,方便以后的查找和調用,需要建立3個工作簿,分別為觀測值、計算表、成果表。
在EXCEL表格中所輸入的數字為十進制,而外業觀測的數據為六十進制,數據處理前需要把十進制與六十進制進行轉換,如可用=sin((INT(F" & k & ")+INT(MOD(F" & k & ",1)*100)/60+MOD(MOD(F" & k & ",1)*100,1)*100/3600)*PI()/180)等代碼。
測量外業數據的計算法則是“四舍六入 奇進偶舍”,如可用以下代碼來完成小數的取舍:
Function TranValue(rng As Double, number As Integer) As Double
TranValue = Round(rng, number)
End Function
該程序可以根據數據精度要求進行小數位的保留,避免出現無效數據。
在實際測量工程中,通常以圖紙形式展現具體的測量工作,所以將數據成果展點到CAD也是基本需要。以CAD2019為例,Excel-VBA代碼可以用GetObject(,"GstarCAD.Application")語句讓Excel-VBA對CAD二次開發實現一鍵展點上圖。
4? 算法實例
在觀測值工作簿中導入原始資料圖片,把外業施測的原始資料導入觀測值表格,并按格式輸入觀測數據,計算出導線點之間的平距及高差(往、反)(圖1)。
在計算表里填寫外業所測數據的地點、計算者、日期以及計算數據的由來,方便以后查找測量原始記錄;在輸入起始方位角(輸入109o05′26.5″的格式109.05265)、起始坐標X、Y和起始高程后進行計算(圖2)。
對算檢核無誤的數據被自動保存到成果表(圖3)。
以CAD2019版本為例進行展點,到CAD圖件中查看(圖4);一鍵展點功能快捷方便,大大節省展繪時間。
展點完成后,可以把Excel工作簿保存在數字云集里,在CAD圖測點上插入超鏈接,鏈接相應的工作簿,方便日后查找和使用(圖5)。
根據導線等級的要求進行小數取舍可在觀測表中“保留小數點位數”中修改即可(圖6)。
5? 結束語
在井下測量工作中,測量技術人員要查找導線數據資料需查閱相應的記錄本,隨著時間的推移,記錄本、計算本、成果本的數量不斷增加,與此同時查閱導線點的觀測資料、計算資料和成果資料所花費的時間也隨之增加;進行獨立計算和檢核時由于人為因素,數據偶爾會出現微小差異。利用Excel-VBA宏模塊進行內業計算形象直觀,不易出錯,且所算數據結果符合測量規范數據精度的要求。在事先設計好的電子表格上輸入觀測的數據和已知數據,即可實現內業數據自動化處理。在CAD中插入相對應測點的超鏈接Excel,方便以后技術人員的查看及使用,數據的存儲和規范化可以為將來建設數字化礦山奠定數據基礎。
參考文獻:
[1]胡浩.基于VBA井斜數據批量校正方法[J].錄井工程,2017,28(04):75-78,84,133.
[2]劉歡,彭書強.基于Excel VBA的批量數據提取工具開發[J].電腦知識與技術,2019,15(05);196-198.
[3]申仲舒,張盼興,李文杰,吳國強.基于Excel宏開發工具的GPS環閉合差精度統計[J].測繪與空間地理信息,2018,41(11):245-246,251.
[4]梁建雋.VBA編程與函數應用的比較[J].蘭州交通大學學報,2012,31(06):94-96.
[5]林豐,湯捷.利用EXCEL函數及VBA程序實現四格表卡方檢驗[J].現代醫院,2012,12(03):142-143.
[6]李娜,武春杰.基于Excel VBA的數據庫訪問技術的探究[J].計算機與信息技術,2009(06):92-94.
[7]李現科,馬瑩,陶小委.VBA編程技術在橋梁施工監測中的應用[J].河南科技,2019(04):122-124.
[8]劉占云.基于Excel的導線控制測量的數據處理[J]. 國防交通工程與技術,2019,17(02):76-81.
[9]劉愛軍.EXCEL VBA在水準測量內外業自動運算中的應用[J].江西建材,2019(10):88-89.
[10]闞寧,翟曉宇.VBA在測量內業工作中的應用[C].吉林省土木建筑學會學術年會,2012.
作者簡介:周陽(1987-),男,云南個舊人,本科,測量助理工程師,現從事井下測量工作。