摘 要:長期以來,礦山測量技術發展緩慢,導線計算作為礦山測量工作中一項重要且基礎的工作,基本上還在沿用計算器加導線本的作業模式,存在如下問題:(1)效率低下。(2)容易出錯,出錯后必須返工。(3)導線成果管理困難。(4)導線成果查詢費時費力。現主要在介紹導線計算所涉及的關鍵算法,使大家對計算技術有個全面的認識。
關鍵詞:導線計算;算法;煤礦
1 關于角度格式的轉換
導線計算最基礎的工作大概是進行角度格式的轉換,只有進行必要的轉換,才能進行正確的計算,因為所有的編程語言都不能直接識別用戶輸入的角度,比如123.4556(六十進制角度,表示123°45′56″),在編程環境中表示為一個普通的實數,而編程環境提供的函數DegToRad,往往是將角度的十進制格式轉換為弧度,如何將六十進制角度轉換為十進制格式(或弧度)呢?筆者從網上看到一種算法,貌似比較簡潔:
{ 將度、分、秒形式轉化成弧度 }
如圖示,123.11轉換成弧度后再轉換回六十進制,結果卻變成123.1138,說明代碼是不嚴謹的,原因是計算機中用二進制表示實數,無法精確表示,如123.11可能在計算機中表示為123.1099999999999。在進行角度的四則運算(如方位角推導)時要特別注意這個問題。
2 方位角推導算法
導線計算中較復雜的一項大概是方位角的推導,如果是一條連續觀測的導線,算法實際比較簡單,但在實際測量工作中,測角的隨意性很強,如圖所示的一條導線,假定AB為起算邊,如果測量路線為:A-B-C-D-E,然后將儀器搬到C點,測量路線(順序):B-C-F-G,在進行導線內業計算的時候,按照測量順序輸入,此時后視測點可以不輸,進行方位角推導時,每條邊的方位角總是根據測站點的名稱在計算表格中向后查找與之匹配的導線邊方位角和本站水平角進行計算,如CD邊的方位角是根據BC邊方位角和水平角∠BCD來計算,同樣CF邊的方位角是根據BC邊方位角和∠BCF來計算,這種情況姑且叫連續觀測導線;
然而有時為了測角方便,每一測站的后視點并不一定是前一個測點(導線前進方向),也就是不連續測量,如儀器架在C點準備測量F點,后視點卻瞄準D點或E點,甚至A點,都有可能(姑且叫非連續觀測導線),此時如果按照順序計算,僅僅根據測站點查找起算邊方位角可能會查找不到正確的起算邊。
圖4非連續觀測導線方位角推導失敗,在表格中查找不到EC邊方位角
當然,將表格中的第5站后視換成其他測點,也會出現同樣的情況。
用計算器進行計算時,往往會事先反算出EC邊方位角再進行推導,所以在程序邏輯中一定要提供坐標反算算法,這樣一來,就可以在計算表格中查詢到E點和C點的坐標(當然必須事先輸入起算坐標),反算后再繼續推導就可以了。
注:文中的代碼使用Delphi及VBA for Excel編寫,在WinXP環境下調試。
參考文獻
[1]測量學[M].北京:煤炭工業出版社.
[2]Visual Basic 6編程技術大全[M].北京:機械工業出版社.
[3]Delphi 6 開發人員指南.出版社.
作者簡介:李牛(1973,12-),男,安徽省六安市(籍貫),現職稱:工程師,學歷:大專,研究方向:礦山測量。