林 劍
中鐵十七局集團第六工程有限公司,福建 廈門 361000
道路工程坐標計算中,平面坐標依據線路控制點組成的平曲線進行樁號偏距與坐標XY的正反算。在一些特殊結構上,則利用中樁坐標、方位角和尺寸進行坐標計算。平曲線主要包括直線段、緩和曲線、圓曲線等[1],在不同線路的范圍內其計算公式不同。利用Excel VBA自定義函數編寫道路工程坐標計算程序,程序存儲為加載宏,將自定義函數顯示在功能區選項卡中,方便使用。
Excel VBA自定義函數是Function過程功能,偏重于計算,并且執行具有返回值。在自定義函數的使用過程中,參數既可以手輸,又可以引用表格,返回值通過參數的變化實時更新,便捷性高。利用這個功能,可以在坐標計算中,將已知數和待求數作為一個函數進行計算,返回計算成果。編完的程序存儲為Excel文件的xlam格式,既可以方便任意表格的加載,又可以在后續工作中將自定義函數寫進功能區選項卡。如2個坐標距離的計算自定義函數編寫。新建xlam格式文件,打開Visual Basic編輯器,插入模塊,輸入如下代碼并保存。
在Excel表格中加載自定義函數xlam文件,距離計算自定義函數使用方法見圖1。也可以直接在單元格中輸入“=JL(2714500,484100,2714600,484300)”即可得出距離結果。

圖1 距離計算自定義函數
道路坐標正算是參數樁號、偏距、角度和坐標X、Y的換算。在編寫道路坐標正算過程中,樁號、偏距、角度作為已知數,坐標X、Y作為成果返回值。Excel表格以及Visual Basic編輯器對角度的定義都是按弧度制,而施工慣例按角度進行計算。輸入十進制角度道路坐標正算角度參數,可得出中樁方位角弧度制角度。
1)定義公共常量π的值,便于程序使用。進行坐標正算,自定義函數名稱為“ZHUZS”,輸入參數為樁號、偏距、角度(角度左“-”右“+”)。程序先進行變量定義,再進行數據庫輸入(采用某市政道路一段曲線進行舉例)。由于返回值為邊樁坐標X、Y和中樁方位角3個坐標,所以返回值設置為數組。代碼如下。

2)數據庫代碼輸入后,編寫曲線要素計算、曲線要素推算主點里程、直緩點和緩直點坐標計算相關代碼如下。

3)編寫各段線路坐標正算代碼,采用判斷語句尋找所求樁號位于哪段線路范圍內,并編寫計算其坐標增量和坐標方位角代碼如下。

4)編寫中樁坐標計算代碼以及根據中樁坐標、方位角、偏距和轉角計算所求邊樁坐標代碼。至此,道路中樁、邊樁坐標計算代碼編寫完成。
道路坐標反算是參數坐標X、Y和樁號、偏距的換算,其中偏距負值為中樁垂直方向左偏,正值為中樁垂直方向右偏[2]。由于程序計算,采用逐步逼近法進行試算,當中樁試算差值小于1 mm時采用其結果,可根據工程精度要求提高計算精度。道路坐標反算自定義函數名稱為“ZHUFS”,代碼如下。

程序代碼編寫完成后,另存為xlam加載宏文件格式,便于在任意Excel表格中加載使用。道路坐標正算Excel自定義函數的公式為ZHUZS(樁號,偏距,角度),返回值為坐標X、Y和中樁方位角3個值的數組。求值過程應先選擇3個橫向相鄰單元格,再輸入函數及參數,接著按“Ctrl+Shift+Enter”組合鍵,可將所求數值全部表達出來。若無需中樁方位角,則可選擇2個單元橫向相鄰,顯示坐標X和坐標Y。道路坐標反算的公式為ZHUFS(坐標X,坐標Y),結果為顯示樁號和偏距。運行效果如圖2,填充顏色區域為自定義函數成果返回值。

圖2 道路坐標正反算
道路工程涉及計算公式多,除距離和線路中樁坐標計算以外,另有方位角計算、角度弧度轉換、坐標轉換、數據格式轉換、豎曲線計算、超高計算等。規模較大的道路工程項目線路較多。為避免公式記錯導致坐標計算錯誤、引起質量事故可將自定義函數公式添加至功能區選項卡里面。
從Excel 2010版本起,功能區可以進行手工定制,利用Custom UI Editor For Microsoft Office 2010功能區界面編輯器,將自定義函數顯示在功能區[3]。通過功能區界面編輯器,打開xlam格式加載宏文件,新建選項卡,用于歸納所有的測量函數公式;利用分組代碼,將不同功能的函數進行分組,如線路計算按項目進行分組;在組里面即可添加按鈕或下拉列表等;利用符號和文字,命名顯示各種公式。完成后,在xlam格式加載宏文件里面,新建模塊將功能區各函數公式命令通過SendKeys語句輸入至單元格中。
在廈門新機場工程-航站區陸側交通工程項目中,共有北通道、西通道和南通道3條通道。在線路控制中,北通道有1條平曲線和2條豎曲線、西通道有4條平曲線和豎曲線、南通道有2條平曲線和3條豎曲線,線路較多,樁號范圍不一。利用Excel自定義函數編寫各線路函數代碼,將所有線路和部分涉及道路坐標計算的函數列入功能區選項卡,并對功能區的各個函數編輯提示說明,如圖3所示。完成后,抽取部分樁號進行中樁坐標計算,計算結果與設計圖紙提供的逐樁坐標進行對比,較差滿足規范要求。

圖3 自定義函數運用
本文提出利用Excel自定義函數計算道路工程坐標具有一定優勢。在使用過程中,有以下認識。
1)Excel表格的交互性強。在進行道路工程坐標計算工作中,無需安裝或打開其他計算軟件,便于計算數據共享和使用,計算結果可直接引用和批量化處理,效率高。
2)Excel自定義函數的開放性高。函數的使用,僅需要加載文件利用參數計算得出結果,避免多次公式推導和轉換的重復性工作,且計算過程無需采用專門表格文件或專屬區域進行計算。
3)Excel功能區的直觀性好。將自定義函數匯總至功能區,既方便自定義函數的使用,又避免公式的記憶混亂而使用錯誤。