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