蔣德興
(四川建筑職業(yè)技術(shù)學(xué)院,四川成都 610300)
測量學(xué)中的所有計算既要保證公式的正確、正負(fù)符號的正確和計算單位的正確,同時又要保證計算精度達(dá)到要求,計算精度指的是計算量的準(zhǔn)確程度以及計算量的有效位數(shù)。如果計算量不正確就談不上準(zhǔn)確程度,如果計算量正確但有效位數(shù)不夠同樣也談不上準(zhǔn)確程度。本文就測量學(xué)中坐標(biāo)正算與反算的準(zhǔn)確程度以及有效位數(shù)的取位問題進(jìn)行了探討。
坐標(biāo)正算,就是根據(jù)直線的邊長、坐標(biāo)方位角和一個端點(diǎn)的坐標(biāo),計算直線另一個端點(diǎn)的坐標(biāo)。如下圖1所示,設(shè)直線AB的邊長為D,坐標(biāo)方位角為α,已知點(diǎn)A(起點(diǎn)) 的坐標(biāo)為(X、Y),則直線未知點(diǎn) B(終點(diǎn))的坐標(biāo)計算如下:
圖1 坐標(biāo)正算
A、B兩點(diǎn)間的縱坐標(biāo)增量Δx=Dcosα①
A、B兩點(diǎn)間的橫坐標(biāo)增量Δy=Dsinα②
B點(diǎn)的縱坐標(biāo)X=X+Δx③
B點(diǎn)的橫坐標(biāo)Y=Y+Δy④
由公式①、②計算A、B兩點(diǎn)間的縱、橫坐標(biāo)增量Δx、Δy時,α一定要是已知點(diǎn)A到未知點(diǎn)B的坐標(biāo)方位角,如果是未知點(diǎn)B到已知點(diǎn)A的坐標(biāo)方位角α,那么一定要加或減180°變成已知點(diǎn)A到未知點(diǎn)B的坐標(biāo)方位角α。由于邊長D在工程上一般取三位,即精確到mm位,所以坐標(biāo)增量Δx、Δy也精確到mm位,位數(shù)取多了意義不大,位數(shù)取少了精度不夠。坐標(biāo)增量的正負(fù)取決于三角函數(shù)值的正負(fù),而三角函數(shù)值的正負(fù)又取決于坐標(biāo)方位角所在的象限。當(dāng)坐標(biāo)增量為正時,其正號一般要求寫上而不要省略。
由公式③、④計算B點(diǎn)的縱、橫坐標(biāo)X、Y時,就不存在收舍了,已知點(diǎn)坐標(biāo)和坐標(biāo)增量是幾位,未知點(diǎn)縱、橫坐標(biāo)就是幾位。
坐標(biāo)反算,就是根據(jù)直線兩個端點(diǎn)的已知坐標(biāo),計算直線的邊長和坐標(biāo)方位角。如下圖2所示,若 A、B為兩已知點(diǎn),其坐標(biāo)分別為(X,Y)和(X,Y),那么根據(jù)三角函數(shù),可以得出直線邊長和坐標(biāo)方位角的計算公式為:
圖2 坐標(biāo)反算
Δx=X-X⑤
Δy=Y-Y⑥
D=√[(x-x)+(y-y)]=√(Δx+ Δy) ⑦
tanα=(y-y)/(x-x)=Δy/Δx=K ⑧
α=arctan(K)+常數(shù) ⑨
常數(shù)與AB方向所在的象限有關(guān),即與縱、橫坐標(biāo)增量的正負(fù)號有關(guān),下表1列出了各個象限的常數(shù)值:
表1 象限常數(shù)表
由公式⑤、⑥計算A、B兩點(diǎn)間的縱、橫坐標(biāo)增量時,一定要用終點(diǎn)坐標(biāo)減去起點(diǎn)坐標(biāo)。對于水平距離而言,無所謂起點(diǎn)與終點(diǎn),但對于方位角而言,必須分清楚起點(diǎn)與終點(diǎn),如果計算的是AB方向的坐標(biāo)方位角,那么A為起點(diǎn),B為終點(diǎn)。如果坐標(biāo)增量的大小沒有錯,而算錯了正負(fù)號,后面對距離的計算沒有影響,但對方位角的計算就有影響了,影響了方位角所在的象限。公式⑤、⑥在計算時無收舍,原本是幾位有效位數(shù),其結(jié)果也取幾位有效位數(shù)。
由公式⑦計算邊長時,一定要注意根號下需要一對中括號,否則就沒有根號到第二項(xiàng)的值。計算結(jié)果一定有個取位問題,按照前面的敘述,已知坐標(biāo)是幾位,邊長就取幾位有效數(shù)字。
由公式⑧計算方位角的正切函數(shù)值K時,那么是否K也取與已知坐標(biāo)相同的位數(shù)呢?答案是否定的!我們在工程上通常說坐標(biāo)、邊長以及坐標(biāo)增量取三位有效數(shù)字就能保證精度了,但方位角的計算我們通常要求精度達(dá)到1″,在這里的正切函數(shù)值該取多少位呢?下面用數(shù)學(xué)中的微分方程來探討這個問題:
將公式⑧兩邊取微分得到:secα·dα/ρ″=dK
dα=(dK/secα)·ρ″=(cosα)dK·ρ″,式中ρ″=206265″。
為了討論K的誤差對α的最大誤差影響,不妨取cosα=1,下面列出表2。
從表2可以看出,當(dāng)K取到小數(shù)點(diǎn)后面五位時,K的最大誤差(dK)為0.000005,而α的最大誤差(dα)為1.0″。在工程上,方位角的計算我們通常要求精度達(dá)到1″,所以我們得出重要結(jié)論:為了使方位角反算的精度達(dá)到1″,正切函數(shù)值K必須取到小數(shù)點(diǎn)后第五位。我們再來回答開始提出的問題:顯然,如果函數(shù)值K也跟著坐標(biāo)取三位的話,方位角的計算誤差就有可能達(dá)到上百秒,這顯然不能滿足工程上方位角反算的精度達(dá)到1″的要求。
表2 方位角反算誤差表
文章的最后我要再次探討方位角的反算公式:公式⑨是利用反正切函數(shù)求方位角,事實(shí)上當(dāng)邊長已經(jīng)計算出來后我們還可以反正弦或者反余弦來求方位角,其公式如下:
由公式①可得到cosα=Δx/D,α=arccos (Δx/D)+常數(shù) ⑩
由公式②可得到sinα=Δy/D,α=arcsin (Δy/D)+常數(shù)
我們在實(shí)際工作中,通常利用反正切函數(shù)來求方位角,而不用反正弦函數(shù)或反余弦函數(shù)來求方位角,其理由如下:(1)反正弦函數(shù)或反余弦函數(shù)求方位角時,要利用邊長,而邊長是計算值,有收舍誤差。反正切函數(shù)求方位角時,不需要邊長,這樣就少了一次計算過程中的收舍誤差。(2)反正切函數(shù)求方位角時,對于任何方向的方位角計算,其計算過程中的收舍誤差都不會帶來較大的方位角誤差,而反正弦函數(shù)時,對于接近坐標(biāo)南北方向的方位角的計算,由于Δy的值很小,正弦函數(shù)值(Δy/D)不會因?yàn)榉帜傅挠嬎阏`差而帶來較大的誤差,這種情況下反正弦函數(shù)計算方位角會比較準(zhǔn)確,這時的Δx非常大,非常接近于分母的值(邊長),恰恰此時反余弦函數(shù)計算方位角的誤差會比較大;對于接近坐標(biāo)東西方向的方位角的計算,由于Δx的值很小,余弦函數(shù)值(Δx/D)不會因?yàn)榉帜傅挠嬎阏`差而帶來較大的誤差,這種情況下反余弦函數(shù)計算方位角會比較準(zhǔn)確,這時的Δy非常大,非常接近于分母的值(邊長),恰恰此時反正弦函數(shù)計算方位角的誤差會比較大。以下表3的數(shù)據(jù)為例我們進(jìn)行驗(yàn)證。
表3 方位角反算對比表
從上表3可以看出:對于任意的方向,反正弦、反余弦、反正切所得的方位角基本一致;對于接近南北的方向,反正弦與反正切所得的方位角一致,而反余弦所得的方位角就與之相差較大;對于接近東西的方向,反余弦與反正切所得的方位角基本一致,而反正弦所得的方位角就與之相差較大。
本文著重探討了坐標(biāo)反算中的取位和計算精確度的問題,并對方位角反算的三個公式作了對比,指出了其優(yōu)缺點(diǎn)。