黃 奇
(福建船政交通職業學院,福建 福州 350000)
導線測量是一種在工程測量中建立小區域平面控制網的常用手段,其基本方法是按照一定順序測定各導線邊的長度及角度數據,再依據起算基礎數據,推算出各導線點的坐標方位角,并進一步推算出各點的坐標。因其對于地形復雜區域、狹窄帶狀區域、視線障礙多的隱蔽區域的適用性良好,故其在建設工程測量中應用極為廣泛。但是導線測量也存在內業處理復雜,計算繁瑣的缺點。傳統手工計算方法其計算與檢測記錄手簿的工作量很大,效率低下;若采用平差軟件,因使用環境的不同,存在一定的兼容性問題,甚至部分軟件內部常捆綁廣告、病毒等有害信息,對正常工作造成一定影響;若選擇購買商業軟件,一方面需要付出較高的購買費用,有時適用性也不甚良好。為克服此類問題,本文基于自動化內業計算理念,利用Excel強大的函數庫及邏輯運算能力[1],介紹完整的Excel導線測量自動化內業手簿設計思路。
Excel軟件屬于Windows等常見系統幾乎必備的軟件,借助WPS等常用商業軟件,Excel表格也能通用于安卓、IOS等常見系統平臺,兼容性、穩定性良好。因其具有強大的函數庫和邏輯運算能力,特別適用于一些計算量大,手工計算容易出錯的行業。工程測量行業同樣也能夠應用Excel進行數據計算,以實現提高工作效率的目的。本人在參與某房建項目某小區域導線測量工作時,選擇采用Excel軟件自帶的函數及邏輯運算功能進行二次開發,設計了閉合導線自動計算內業手簿,并實現自動平差與坐標計算功能。實際使用結果表明,采用Excel進行輔助導線計算,能夠極大地減少計算量,提高內業工作效率[2],避免人為計算錯誤導致的工作失誤,是一種簡單易行的良好方法。計算示例如圖1所示(以六邊形導線測量為例)。
圖1 Excel閉合導線算例
工程測量角度常用“度分秒”格式表示(如“207°08'09″”)。Excel本身并不支持該種書寫格式。但Excel自帶時間的數字表達格式,如“3時20分05秒”可輸入“3∶20∶05”表示,且該種格式數據可以進行正常數學計算。因數字的時間格式與角度的“度分秒”格式同樣采用“六十進制”,故可利用單元格式設置的方法利用Excel時間計算數學邏輯完成工程測量角度計算[3]。
如圖2所示,對需填入“度分秒”格式角度數據的單元格進行格式設置——在“類型(T)”設置欄輸入“[h]°mm'ss″”,即可實現以“度分秒”格式角度數據輸入功能,例如在圖1的F7單元格輸入“207∶08∶09”(注意數據中冒號應采用英文冒號),回車鍵入數據后,即可在該單元格內顯示“207°08'09″”。
圖2 “度分秒”格式角度數據單元格格式設置
注1:其余應輸入相同角度格式數據的單元格可采用格式刷等方式快速完成單元格式設置。
注2:Excel時間格式存儲數據時以24∶00∶00為“1(天)”,故前述設置時,“24°00'00″”在進行數值計算時等價于以常規數字表示的單元格數據值“1”。同理,“180°00'00″”等價于常規數字“7.5”;“360°00'00″”等價于常規數字“15”“;720°00'00″”等價于常規數字“30”,以此類推。
2.2.1 計算角度的閉合差
對于邊數為n的多邊形,其內角和理論值Σβ理應當為:
式中:
n——導線的邊數亦即觀測角的個數。
因觀測角的測量值不可避免地存在一定誤差,故實際觀測所得的內角之和Σβ測通常與Σβ理之間存在一定的差異,二者的差值即為角度閉合差,記作fβ,其計算公式為:
2.2.2 計算水平角的改正數
在一次連續的導線測量中,通常認為各導線段的轉折角觀測條件大致相同,故可以認為各轉折角的觀測值為同等精度觀測,其誤差值相同。因此,對于角度閉合差fβ應當將其取相反數后平均分配到各觀測角中,從而使改正后的內角和與理論值相同。即各觀測角的改正數vβ為:
通過上述計算規則,如圖3所示區域,在單元格C24輸入公式“=SUM(C10:C21)”(即將各觀測角的觀測值相加),并在E24單元格輸入數值“720°00'00″”,D12單元格輸入公式“=E24-C24”,即可得角度閉合差,在D10單元格輸入公式“=D$24/6”,再利用下拉/填充方式即可獲得各觀測角改正數,再將觀測角與改正數數值相加,即可獲得改正后的觀測角值。
圖3 觀測角改正數計算功能區域
若已知某一導線邊的坐標方位角,則其余導線邊的方位角可依據已經過改正后的觀測角依次推算出來,其計算公式為:
式中:
α——方位角;
β——觀測角。
注3:若計算結果大于360°,則應扣減360°;大于720°,則應扣減720°;小于0,則應加360°;從而使方位角數值介于0°~360°的規范表示區間中。
目前互聯網上廣泛流傳的方位角計算表格或程序多數只能單獨實現左角運算,若閉合導線作業路線方向為順時針即觀測內角為右角時,則無法獲得正確結果。為克服該缺陷,本自動計算內業手簿利用Excel自帶的“IF”函數編寫能夠根據觀測角為左角/右角的不同性質均可正確獲得計算結果的功能函數。“IF”函數的基本編寫語法為:IF(測試條件,結果1,結果2),即當測試條件結果為“真”時,返回結果1,否則返回結果2。IF函數還能夠進行多層套嵌以便編寫能夠實現更為復雜功能的函數。基于以上思路,如圖4所示(與本節功能設計無關區域,即C、D列暫時隱藏以便清晰論述),在B5單元格輸入測試條件判據“左角”(或“右角”),(合并后的)B6單元格輸入函數“=IF(B5=“左角”,“路線逆時針”,“路線順時針”)”作為路線方向提示功能模塊,F11單元格輸入主功能模塊函數“=IF(B$5=“左角”,IF((F9+E10+7.5)>30,(F9+E10+7.5)-30,IF((F9+E10+7.5)>15,(F9+E10+7.5)-15,F9+E10+7.5)),IF((F9-E10+7.5)>30,(F9-E10+7.5)-30,IF((F9-E10+7.5)>15,(F9-E10+7.5)-15,IF((F9-E10+7.5)<0,(F9-E10+7.5)+15,F9-E10+7.5))))”,該主功能模塊函數采用四層IF函數套嵌,首層IF函數用于判斷觀測角的左右角性質,后三層IF函數用于分別根據左右角計算公式(4)或(5)計算方位角,并將計算結果進一步按照前述“注3”規則處理規整到0°~360°的規范表示區間中。再通過下拉/填充方式即可自動生成F13~F21單元格所對應的方位角計算函數。
圖4 方位角計算功能區域
對于A、B兩點,設ΔxAB=xB-xA,ΔyAB=yB-yA,則稱ΔxAB、ΔyAB分別為A點至B點的x、y方向坐標增量,且有:
式中:
DAB——AB間的距離;
αAB——A至B方向的方位角。
Excel本身具備sin、cos等三角函數的計算功能,但是其三角函數計算參數應當為弧度制表示的角度值,故應當將2.3節所述計算所得的方位角換算為弧度制方能進一步進行坐標增量計算。如前“注2”所述,Excel時間格式存儲數據時以24∶00∶00為“1(天)”,即本表格每“24°00'00″”在進行數值計算時等價于以常規數字表示的單元格數據值“1”,因此,在G7單元格輸入函數“=F7*24*(PI()/180)”即可將F7單元格顯示的“度分秒”格式角度值換算為對應的弧度制數值(函數中的“PI()”為Excel程序內圓周率π的表示關鍵詞)。再通過下拉填充即可自動生成F9~F19單元格所對應的弧度制角值計算函數。接下來在H列對應位置填入測定所得導線段距離,便可利用公式(6)、(7)進行坐標增量計算。具體方法如下:在I10單元格輸入函數“=H9*COS(G9)”,同時在J10單元格輸入函數“=H9*SIN(G9)”,再通過下拉/填充方式即可獲得由F列方位角與H列導線段距離計算所得的x、y方向坐標增量,見圖5所示。
圖5 坐標增量計算功能區域
注4:本表格還實現了x、y方向坐標增量的改正數計算功能,實現改正后的坐標增量的自動生成,該部分功能設計原理及思路與前述“2.2角度改正數的計算功能設計”章節內容類似,篇幅所限不再贅述。
注5:G列數據主要用于進行輔助數學計算,出于手簿美觀度設計考慮,最終手簿設計成品中將該列隱藏。
如2.4節內容所述已完成改正后坐標增量計算設計后,接下來,如圖6所示(與本節功能設計無關區域,即B至J列暫時隱藏以便清晰論述),可以根據起始點SP的已知坐標推算出其余各導線點的坐標,計算公式如下:
圖6 導線坐標值計算功能區域
通過上述規則,在M8、N8單元格分別輸入起始點SP的x、y坐標值,再在M10單元格輸入函數“=M8+K9”,在N10單元格輸入函數“=N8+L9”,再通過下拉/填充方式即可獲得其余各導線點的坐標。
至此,本手簿各主要功能模塊設計完成,圖7為最終設計完成的自動計算手簿界面(空白),只需在表格灰色區域填入觀測信息及觀測結果,即可全自動完成其余所有單元格數據計算,使用十分簡便且精確度可靠。
圖7 閉合導線坐標計算手簿(空白表格)
(1)同時支持左右角線路觀測,只需在B5單元格進行觀測角的“左角/右角”性質設置后即可完成測量方式切換,并具有路線方向提示功能,適用性較強。
(2)具備自動計算功能,測量工作人員只需輸入觀測角性質、控制點坐標、原始方位角及現場記錄的觀測角值、導線段距離等原始數據,即可完成所有內業計算工作(包括平差計算),無需任何輔助手工計算,極大地減少了測量工作人員的內業工作量,并從根本上避免了手工計算可能帶來的失誤,使測量內業成果質量更為可靠。
(3)界面設計尊重傳統手簿基本格式,清晰簡潔,便于測量工作人員利用,極大降低了一線工作人員的學習成本[4]。
(4)表格函數全部使用Excel自帶函數庫或基于其進行二次開發,兼容性很高;避免了使用VBA程序開發可能出現的非Windows系統兼容性問題[5]。經過實際多系統平臺檢測,本手簿在Windows、安卓、IOS等系統均能夠順利運行,能充分適應各種桌面、移動設備的使用環境[6]。
Excel程序在工程測量領域的潛在應用范圍很廣,本文以導線測量為例介紹全自動內業計算手簿設計的完整過程。基于類似方法也能夠進行水準測量、測回法角度測量、三維坐標測量、直/曲線參數計算、中平測量、斷面測量等自動計算手簿的設計開發,并可實現實時、可視化的效果,在測量內業處理方面具備強大的優越性。筆者利用自行開發設計的十余個測量內業手簿,在實際工程測量中發揮了良好效果,極大地提高了工作效率。本文所述設計理念對于測量工作人員培訓,中職、高校工程測量相關課程教學等工作也有一定的借鑒意義。