高春春,呂子豪,張 朋,韓卓陽,李 麗
(南陽師范學(xué)院 地理科學(xué)與旅游學(xué)院,河南 南陽 473061)
大地測量學(xué)是測繪類專業(yè)一門重要的專業(yè)基礎(chǔ)課程,在測繪高等人才培養(yǎng)和學(xué)科建設(shè)中發(fā)揮著重要的作用[1].該課程基礎(chǔ)理論性強(qiáng),公式推導(dǎo)復(fù)雜,大多數(shù)學(xué)生學(xué)習(xí)起來較為困難.其中,不同測量坐標(biāo)系之間的相互轉(zhuǎn)換是大地測量學(xué)實(shí)踐和教學(xué)的基礎(chǔ)問題[2],在傳統(tǒng)教學(xué)實(shí)踐過程中,因其涉及復(fù)雜的計(jì)算過程,往往導(dǎo)致大多數(shù)學(xué)生難以有效熟練掌握[3].
軟件平臺(tái)可以有效幫助學(xué)生在短時(shí)間內(nèi)熟練掌握復(fù)雜的計(jì)算原理和方法[4-5],本文基于MATLAB軟件強(qiáng)大的數(shù)據(jù)處理功能,編寫了不同測量坐標(biāo)系之間的相互轉(zhuǎn)換程序,并設(shè)計(jì)和開發(fā)了相應(yīng)的可視化軟件操作平臺(tái).該平臺(tái)可以實(shí)現(xiàn)單點(diǎn)、批量數(shù)據(jù)的坐標(biāo)轉(zhuǎn)換計(jì)算任務(wù),能夠幫助學(xué)生加深理解大地測量坐標(biāo)系轉(zhuǎn)換的復(fù)雜概念,提升學(xué)生學(xué)習(xí)興趣,提高大地測量學(xué)的教學(xué)質(zhì)量.該平臺(tái)所含的坐標(biāo)系轉(zhuǎn)化程序還可應(yīng)用于測繪領(lǐng)域的實(shí)踐與科研工作中.
圖1 大地坐標(biāo)(B, L, H)與空間直角坐標(biāo)(X, Y, Z)示意圖
如圖1所示,地球空間中任意一點(diǎn)P所在大地坐標(biāo)為大地緯度B、大地經(jīng)度L和大地高H,所在空間直角坐標(biāo)為(X,Y,Z),兩者的相互轉(zhuǎn)換公式為[6]:
(1)
(2)
其中,N為卯酉圈曲率半徑,e為第一偏心率,a,b分別為參考橢球長半軸、短半軸.在公式(2)中需使用迭代法求解大地緯度B值,初次迭代B值設(shè)為0.
1.2 高斯平面坐標(biāo)正反算
高斯投影坐標(biāo)正反算是將大地坐標(biāo)(B,L)與高斯投影的平面坐標(biāo)(x,y)進(jìn)行互相轉(zhuǎn)換,其正算公式為[6]:
(3)
其中,t=tanB,η2=e′2cos2B,當(dāng)l=0時(shí),X為從赤道起算的子午線弧長.其計(jì)算公式的一般形式:
(4)
其中系數(shù):
(5)
而反算公式為[6]:
(6)
當(dāng)y=0時(shí),l=0,B=Bf,其中Bf為底點(diǎn)緯度.Bf的計(jì)算公式為:
(7)
其中
f1=c(β2cosBf+β4cos3Bf+β6cos5Bf+β8cos7Bf)
(8)
f1中含有待定量Bf,因此需要進(jìn)行迭代計(jì)算,初次迭代時(shí)可令f1=0.
為了實(shí)現(xiàn)上述坐標(biāo)系之間的相互轉(zhuǎn)換,本文共編寫8個(gè)MATLAB子函數(shù)(見表1)來進(jìn)行計(jì)算.其中,defval函數(shù)[7]用來設(shè)置函數(shù)變量的默認(rèn)值, deg2dms和dms2deg函數(shù)用來實(shí)現(xiàn)角度不同格式之間的相互轉(zhuǎn)換, ellipsoidpara函數(shù)用來計(jì)算不同橢球的參數(shù)以及輔助函數(shù), arc_length函數(shù)用來計(jì)算子午圈和平行圈的弧長,coordtransfer函數(shù)用來實(shí)現(xiàn)大地坐標(biāo)與空間直角坐標(biāo)的相互轉(zhuǎn)換,gauss_bl2xy和gauss_xy2bl函數(shù)分別實(shí)現(xiàn)高斯平面坐標(biāo)的正反算.
表1 MATLAB計(jì)算函數(shù)
為了提供更加友好的軟件交互界面,方便用戶操作和理解,本文基于MATLAB的GUIDE(Graphic User Interface Development Environment)開發(fā)了大地測量坐標(biāo)系轉(zhuǎn)換的軟件操作平臺(tái).圖2展示了大地測量坐標(biāo)系轉(zhuǎn)換軟件的教學(xué)平臺(tái)起始界面,通過下拉選項(xiàng)可以選擇不同的橢球、角度格式、高斯投影帶寬以及計(jì)算目的.同時(shí),該教學(xué)平臺(tái)還可以幫助學(xué)生實(shí)現(xiàn)單點(diǎn)和批量數(shù)據(jù)的計(jì)算(見圖3和圖4).
圖2 大地測量坐標(biāo)系轉(zhuǎn)換教學(xué)軟件平臺(tái)
圖3 單點(diǎn)計(jì)算
圖4 批量計(jì)算
為了驗(yàn)證軟件的計(jì)算效果,本文隨機(jī)生成了50000組大地坐標(biāo)數(shù)據(jù)(B,L,H),進(jìn)行計(jì)算.首先,將50000組大地坐標(biāo)轉(zhuǎn)換為空間直角坐標(biāo)和高斯平面坐標(biāo),隨后再利用軟件將空間直角坐標(biāo)和高斯平面坐標(biāo)反算回大地坐標(biāo),反算后的大地坐標(biāo)與原始大地坐標(biāo)之間差值的均方根可以作為軟件內(nèi)符合精度的評(píng)價(jià)指標(biāo).表2展示了原始和反算大地坐標(biāo)之間差值的均方根,在大地坐標(biāo)與空間直角坐標(biāo)的轉(zhuǎn)換中,該軟件大地緯度的內(nèi)符合精度可達(dá)到10-8秒,大地經(jīng)度的精度達(dá)到10-10秒,大地高的精度達(dá)0.005毫米;在大地坐標(biāo)與高斯平面坐標(biāo)的轉(zhuǎn)換中,大地緯度的內(nèi)符合精度達(dá)到10-6秒,大地經(jīng)度的內(nèi)符合精度達(dá)10-5秒,上述精度可以滿足常規(guī)的大地測量學(xué)教學(xué)和實(shí)踐需求.
表2 坐標(biāo)轉(zhuǎn)換誤差
本文通過MATLAB 軟件實(shí)現(xiàn)了大地測量坐標(biāo)系中大地坐標(biāo)、空間直角坐標(biāo)和高斯平面坐標(biāo)相互轉(zhuǎn)換的程序設(shè)計(jì)和可視化編程,借助 MATLAB軟件強(qiáng)大的數(shù)值計(jì)算能力和豐富的可視化表達(dá),建立了相關(guān)坐標(biāo)系轉(zhuǎn)換的基本算法和可視化教學(xué)軟件平臺(tái).模擬計(jì)算和精度分析結(jié)果顯示,該程序運(yùn)算速度快,計(jì)算精度高,結(jié)果可靠性強(qiáng).此教學(xué)軟件平臺(tái)不僅可作為大地測量學(xué)本科和研究生教學(xué)的輔助軟件,以提升學(xué)生實(shí)踐能力和學(xué)習(xí)興趣,平臺(tái)所包含的程序還可應(yīng)用于測繪領(lǐng)域的實(shí)踐與科研工作中.
南陽師范學(xué)院學(xué)報(bào)2022年1期