曾劍生 王漢雄
(1.南寧東測科技有限公司,廣西南寧 530023;2.黃淮學院建筑工程系,河南駐馬店 463000)
在道路工程勘測和施工階段,需要進行大量的數值計算。對于專業技術人員來說,需要一種使用上方便靈活,并且易學易懂便于操作的數據處理平臺。Microsoft Office Excel 2003是Microsoft Office 2003辦公套裝軟件的一個重要組成部分,用來幫助用戶完成信息保存、數據計算處理、數據分析決策、信息動態發布等工作。同時Excel又是一個開放的平臺,允許用戶使用編程語言開發出符合特定工作需要的應用程序,而VBA(Visual Basic For Application)語言就是一種非常流行、也非常成熟的開發工具。
利用Excel 2003的“宏”功能可以很好地進行數據處理。“宏”是指一系列Excel能夠執行的VBA語句,存儲于Visual Basic模塊中,這些語句和函數組合在一起,形成了一個單獨的命令,以實現任務執行的自動化。可以通過VB編輯器創建宏。用VBA編程比用函數功能更便捷,其特點和優點如下:
(1)Excel是office辦公軟件中的一個組件,適應范圍廣,有良好的群眾應用基礎,工程技術人員一般都熟悉其使用方法和規則。
(2)VBA是一種面向對象的編程語言,其語法比較簡單,容易理解和掌握,并且VBA是針對特定的應用程序進行開發的,用簡短的代碼就能實現復雜的功能。只需掌握基本的VBA語言和編程方法就可以按照計算內容、要求和目的進行編程。
(3)Excel的行和列成天然的二維數組。相對于專業軟件看不見的內部數組來說,Excel的單元格就是一個二維數組中的一個元素,直觀易懂,便于數據的調用和表示。而且,這種二維數組的數據格式靈活多變,沒有統一的格式限制,可以定義任一單元格為任一數據格式。
(4)利用Excel VBA編程,可為用戶提供友好的操作界面,操作簡單。在創建宏時,通過使用“窗體”工具欄,可以在工作表中添加一系列控件,并為其指定宏,用戶則可以通過單擊這些控件并根據相應提示進行操作。
(5)適應性強。對于用函數制作的表格,當改變數據時,經常需要動手更新表格,而通過VBA編程則能自動完成表格的更新。
(6)用Excel作為數據處理的開發平臺,因其已經具備了如文件的打開和保存、打印、復制等基本功能,不需要編寫這些基本功能的模塊,節省了開發應用程序的工作量。
數據輸入主要有鍵盤輸入、語音輸入和數據導入三種方法。使用鍵盤輸入是最常用的方法,勞動量較大;語音輸入法是Excel 2003新增的功能,雖然減少了勞動量,但由于很難保證語音一致,難免會出現輸入錯誤,故仍離不開鼠標和鍵盤的操作;對于電子數據,可以采用數據導入法,該方法在保證數據記錄正確的情況下,不存在輸入上的錯誤。
數據審查主要有以下幾種方法:將紙上數據與輸入數據進行一對一比較;利用函數功能,將輸入數據與原有數據求差,進行運算比較;利用Excel 2003語音功能中的朗讀文本一項,可以邊聽朗讀,邊對照紙上數據,進行語音比較;有些數據,還可以通過程序設計,對輸入數據的合法性進行檢測,如對輸入角度的分、秒在數值上是否大于60的判斷,或者對所輸入是否為數字的判斷。
Excel 2003可以對工作表和工作簿進行兩層密碼保護,并可以給用戶設置權限,不同的用戶擁有不同的權限級別。通過這些保護措施,可以保證信息的相對安全和避免數據的意外破壞,實現數據的安全管理。
Excel VBA編程進行數據處理的特點和優點為道路測設計算提供了優越的條件,可以實現水準網、導線網、邊角網、三角網等各類控制網的近似平差和嚴密平差;可以進行道路中邊樁坐標及放樣數據計算、道路高程及超高和加寬計算、路基填土高度以及土石方量計算等。
圖1是用VBA語言編寫的“道路測設計算”系統的主操作界面。單擊主操作界面中的“道路中邊樁坐標計算”按鈕后(如圖2所示),在相應位置輸入已知數據,按“計算”按鈕即可得到計算結果,按“清除”按鈕即可清除輸入的和計算的數據,按“返回”按鈕即可回到主操作界面,按“關閉”按鈕即可保存結果并退出Excel。
如圖2所示,表頭上部加粗數據是運行宏前必須填寫的,它包括相鄰三交點的坐標、曲線設計半徑、緩和段長度、交點B里程、測站點坐標、樁間距,計算結果中的數據均是運行宏后顯示的。在制作測量計算表格時,首先應確定單元格的性質,合理安排各單元格的位置,處理好固定單元格、自變單元格和因變單元格的關系。固定單元格是指內容固定不變的單元格,如標題、計算示意圖和所有文字所在單元格;自變單元格是指宏運行前必須填寫的存有已知數據源的單元格,它經常因道路及對應曲線的變化而變化,如交點坐標、曲線半徑、緩和段長度等;因變單元格是指宏運行后顯示計算結果的單元格,它因自變單元格的變化而變化,如中樁坐標和放樣數據等。簡而言之,固定單元格是框架,相對穩定;自變單元格和因變單元格是內容,是可變的。

圖1 道路測設計算程序主操作界面

圖2 道路中樁坐標計算
程序運行得到計算表格后,可以對表格進行必要的編輯,使其更加符合我們工作的要求。
在編寫測量計算程序時,應注意以下問題:
(1)程序本身的可讀性問題。除主程序外,設置若干個子程序,分別進行距離、方位角的計算和角度的轉換,保證程序本身的可讀性和編程思維的連續性。
(2)數值計算取位問題。計算程序相對較小,一般不必考慮程序運行速度與容量問題,中間計算應盡可能地多取小數位數,(如編程時 π值取到小數點后14位),以保證計算結果的精度。
(3)除零問題。在計算道路路線方位角時,需要計算反正切函數,其中存在因X坐標相同而除零的情況,此時應作特例處理,以增強程序的通用性。
(4)方位角判斷問題。由于反正切值在-π/2到π/2之間,而方位角卻在0到2π之間。因此,必須先判斷方位角所在的象限,然后加以處理。
(5)角度轉換問題。在計算坐標時,正弦和余弦是用弧度計算的,而放樣方位角是用度分秒的形式表示,這些都需要注意弧度與度分秒之間的轉換。
(6)中樁樁號和樁間距設置問題。道路工程中,習慣用“k××+×××”的形式表示樁號,在程序中要作特殊處理,以便在計算結果中符合這一習慣;樁間距可根據實際,隨時設置為任一數值。若程序稍作改動,還可以計算任一中樁及邊樁處對應的坐標和放樣數據。
長期以來,在公路設計外業及施工階段,測設工作的作業效率嚴重制約著整個工期進度。利用坐標進行路線中邊樁點位放樣,其核心工作是要先計算路線中線上任一中樁點的坐標。本文結合道路測設數據處理的整個過程,重點論述了運用Excel VBA編程實現道路工程測設有關計算的方法,闡述了其特點、要點和注意事項,實現了在一個主界面下幾個相關程序的集合,對計算結果以Excel文檔形式保存或打印輸出,給生產一線技術人員進行資料整理提供了極大的方便。相對于各種專業道路測設處理軟件,Excel VBA具有適應范圍廣,界面友好、使用方便直觀、操作簡單、計算速度快等優點以及良好的群眾應用基礎等優勢,值得進一步推廣和應用。
[1]馬 騄.新概念Excel2003教程[M].北京:科學出版社,2006
[2]鹿利軍.Excel在建筑物變形測量數據分析中的應用[J].北京測繪,2005(4)
[3]徐 謖.Visual Basic應用與開發案例教程[M].北京:清華大學出版社,2005
[4]鐘孝順,聶 讓.測量學[M].北京:人民交通出版社,1997