杜滿良
(咸陽師范學(xué)院陜西咸陽712000)
因?yàn)槎喾N因素,在測繪生產(chǎn)過程中所使用的坐標(biāo)系統(tǒng)比較多,為了能夠有效滿足不同部門用圖的需求,并且實(shí)現(xiàn)不同坐標(biāo)系統(tǒng)數(shù)據(jù)之間的共享,就要實(shí)現(xiàn)舊坐標(biāo)系成果的轉(zhuǎn)換,使其能夠成為全新的坐標(biāo)系成果。傳統(tǒng)使用測繪成果資料中的坐標(biāo)系都是北京坐標(biāo)系或者西安坐標(biāo)系,在國家大地坐標(biāo)系不斷推廣使用的過程中,要求將所有的測繪成果都轉(zhuǎn)換成為國家大地坐標(biāo)系。并且,為了能夠便于測繪成果的管理及使用,在工程建設(shè)過程中使用的地方獨(dú)立坐標(biāo)系及國家坐標(biāo)系能夠互相的轉(zhuǎn)換。所以,為了能夠?qū)ψ鴺?biāo)系統(tǒng)轉(zhuǎn)換程序進(jìn)行開發(fā),就要實(shí)現(xiàn)不同坐標(biāo)的相互轉(zhuǎn)換,以此能夠?qū)ΜF(xiàn)實(shí)測量過程中的問題進(jìn)行解決。本文使用VB實(shí)現(xiàn)數(shù)學(xué)測量坐標(biāo)系統(tǒng)的轉(zhuǎn)換,使用戶能夠方便并且簡單的實(shí)現(xiàn)不同坐標(biāo)系統(tǒng)坐標(biāo)的轉(zhuǎn)換。
一般現(xiàn)代使用的坐標(biāo)轉(zhuǎn)換具有七參數(shù)轉(zhuǎn)換和四參數(shù)轉(zhuǎn)換。四參數(shù)轉(zhuǎn)換是一種二維轉(zhuǎn)換方式,其要利用高斯投影才能夠得到平面坐標(biāo),之后對轉(zhuǎn)換參數(shù)進(jìn)行計算。七參數(shù)轉(zhuǎn)換主要包括武測模型、莫洛金斯基模型及布爾莎模型等,其是一種三維坐標(biāo)轉(zhuǎn)換。布爾莎模型是將原來的坐標(biāo)系原點(diǎn)作為重點(diǎn),實(shí)現(xiàn)坐標(biāo)的縮放、旋轉(zhuǎn)及評議變換;武測模型是將原來的坐標(biāo)系原點(diǎn)作為中心,實(shí)現(xiàn)坐標(biāo)的平移、旋轉(zhuǎn),將測區(qū)的參考點(diǎn)作為中心實(shí)現(xiàn)縮放。莫洛金斯基模型是將測區(qū)范圍將某個參考點(diǎn)作為變換中心實(shí)現(xiàn)坐標(biāo)的縮放及旋轉(zhuǎn),將原來坐標(biāo)的原點(diǎn)作為中心實(shí)現(xiàn)評議變換[1]。
布爾莎模型中具有7個參數(shù),包括3個平移參數(shù)和3個旋轉(zhuǎn)參數(shù)、一個尺度參數(shù),因?yàn)樽鴺?biāo)系統(tǒng)在轉(zhuǎn)換過程中的旋轉(zhuǎn)角都是極小的角度,其簡化模型為:
平面四參數(shù)轉(zhuǎn)換只是在小區(qū)域和不同定義中的兩個坐標(biāo)系轉(zhuǎn)換中使用,其屬于工程應(yīng)用中最多并且直觀、簡單的數(shù)學(xué)模型。七參數(shù)轉(zhuǎn)換從理論方面分析較為嚴(yán)密,其將所有所坐標(biāo)系的定位定向差異進(jìn)行了全面的考慮,保證只使用兩種坐標(biāo)系的嚴(yán)密轉(zhuǎn)換,其適應(yīng)于大型的項目坐標(biāo)轉(zhuǎn)換中,在實(shí)際使用過程中,要全面考慮待轉(zhuǎn)換坐標(biāo)系的信息、區(qū)域的大小、公共點(diǎn)分布及數(shù)量等多種情況,從而選擇最優(yōu)的坐標(biāo)轉(zhuǎn)換模型[2-3]。
文中所設(shè)計的數(shù)字測量坐標(biāo)系統(tǒng)轉(zhuǎn)換程序主要使用模塊化實(shí)現(xiàn),圖1為基于VB的數(shù)學(xué)測量坐標(biāo)系統(tǒng)轉(zhuǎn)換的功能結(jié)構(gòu)。
系統(tǒng)中的參數(shù)設(shè)置模塊主要包括四參數(shù)、參考橢球及七參數(shù)設(shè)置。不同坐標(biāo)系在不同參考橢球之間轉(zhuǎn)換的時候,其偏心率和半徑等多種參數(shù)都不同,系統(tǒng)具有北京54坐標(biāo)系、80坐標(biāo)系等參考橢球參數(shù)的設(shè)置,四參數(shù)的設(shè)置能夠在各種高斯平面中相互轉(zhuǎn)換。七參數(shù)轉(zhuǎn)換是在不同空間直角坐標(biāo)系轉(zhuǎn)換中使用,用戶能夠根據(jù)自己的實(shí)際情況實(shí)現(xiàn)設(shè)置[4-5]。
圖1 基于VB的數(shù)學(xué)測量坐標(biāo)系統(tǒng)轉(zhuǎn)換的功能結(jié)構(gòu)
轉(zhuǎn)換方式模塊主要指的是坐標(biāo)轉(zhuǎn)換使用單點(diǎn)轉(zhuǎn)換方式或者文件轉(zhuǎn)換方式,如果屬于單點(diǎn)轉(zhuǎn)換,那么用戶就要在界面中將原來的坐標(biāo)進(jìn)行輸入之后點(diǎn)擊轉(zhuǎn)換按鈕,然后在另外文本框中得到轉(zhuǎn)換之后坐標(biāo)。
簡單來說,文件轉(zhuǎn)換就是在轉(zhuǎn)換前后參數(shù)及數(shù)據(jù)的文件化管理,用戶能夠?qū)⒁环N轉(zhuǎn)換作為另外文件進(jìn)行保存,在下次使用之后通過文件菜單選擇打開此文件對已經(jīng)有的轉(zhuǎn)換參數(shù)進(jìn)行調(diào)用,還能夠選擇自己想要設(shè)置的文件格式[6-7]。
系統(tǒng)中的坐標(biāo)轉(zhuǎn)換模塊主要包括不同的平面直角坐標(biāo)系轉(zhuǎn)換、不同的大地坐標(biāo)轉(zhuǎn)換、空間直角坐標(biāo)系對大地坐標(biāo)的轉(zhuǎn)換、不同坐標(biāo)投影帶及不同高斯平面直角坐標(biāo)系的轉(zhuǎn)換。
1)高斯平面直角對平面直角坐標(biāo)轉(zhuǎn)換?;趨⒖嫉臋E球及坐標(biāo)轉(zhuǎn)換前后不變,在橢球出現(xiàn)變化的之后,要根據(jù)不同參考橢球及四參數(shù)轉(zhuǎn)換兩者的參數(shù)實(shí)現(xiàn)坐標(biāo)的相互轉(zhuǎn)換[8]。
2)高斯平面直角坐標(biāo)朝著空間指標(biāo)坐標(biāo)系轉(zhuǎn)換。在橢球不發(fā)生變化的時候,要使大地坐標(biāo)朝著空間直角坐標(biāo)進(jìn)行轉(zhuǎn)換。如果參考橢球出現(xiàn)變化,那么就要將平面直角坐標(biāo)轉(zhuǎn)換成為大地坐標(biāo),之后再轉(zhuǎn)換成為空間指標(biāo)坐標(biāo),以參考橢球及七參數(shù)轉(zhuǎn)換兩者的參數(shù)為基礎(chǔ),將空間直角坐標(biāo)朝著目標(biāo)參考橢球中的空間直角坐標(biāo)進(jìn)行轉(zhuǎn)換[9]。
3)高斯平面直角坐標(biāo)朝著大地坐標(biāo)轉(zhuǎn)換。在參考橢球不發(fā)生變化的時候,能夠通過高斯坐標(biāo)反算公式實(shí)現(xiàn)轉(zhuǎn)換。如果參考橢球出現(xiàn)變化的時候,要以不同參考橢球及四參數(shù)為基礎(chǔ),將高斯平面直角坐標(biāo)轉(zhuǎn)換成為目標(biāo)參考橢球中的平面直角坐標(biāo),之后通過高斯反算公式使其成為目標(biāo)橢球中的大地坐標(biāo)[10]。
此模塊首先要對參數(shù)進(jìn)行設(shè)置,比如中央子午線經(jīng)度、換帶前后基準(zhǔn)緯度、換帶類型、參考橢球等。之后將原來的坐標(biāo)通過高斯坐標(biāo)反算函數(shù)轉(zhuǎn)換成為大地坐標(biāo),之后通過大地坐標(biāo)緯度、全新中央子午線經(jīng)度及經(jīng)度和,通過坐標(biāo)正算函數(shù)計算全新投影中的坐標(biāo),并且要對坐標(biāo)是否為自然值和通用值進(jìn)行全面的考慮[11]。
系統(tǒng)以克拉索夫斯基橢球體實(shí)現(xiàn)平面坐標(biāo)朝著大地坐標(biāo)進(jìn)行轉(zhuǎn)換,在實(shí)現(xiàn)批量數(shù)據(jù)的處理,計算批量導(dǎo)入的數(shù)據(jù),并且還能夠?qū)崿F(xiàn)批量的輸出。單點(diǎn)數(shù)據(jù)及批量數(shù)據(jù)的反算具有較高且穩(wěn)定的精度,并且還具有較高的可靠性[12],圖2~圖5為系統(tǒng)的處理界面。
圖2 單點(diǎn)正反算界面
圖3 批量坐標(biāo)正方算界面
圖4 大地空間坐標(biāo)轉(zhuǎn)換界面
圖5 坐標(biāo)轉(zhuǎn)換界面
系統(tǒng)的轉(zhuǎn)換流程主要為:
1)準(zhǔn)備數(shù)據(jù)。需要提供測試區(qū)域中原來坐標(biāo)系和目標(biāo)坐標(biāo)系的公共點(diǎn)坐標(biāo),選擇具有較高精度,并且分布較為合理,能夠?qū)φ麄€測區(qū)都覆蓋的公共點(diǎn)有效實(shí)現(xiàn)參數(shù)的計算。如果為七參數(shù)轉(zhuǎn)換,那么就要具備大地高和經(jīng)緯度。如果為四參數(shù)轉(zhuǎn)換,就要具備平面直角坐標(biāo)。通過Excel表的形式實(shí)現(xiàn)編輯和保存,需要坐標(biāo)轉(zhuǎn)換的數(shù)據(jù)要使用TXT文本文件的編輯模式進(jìn)行保存[13]。
2)投影參數(shù)的設(shè)置,主要包括Y坐標(biāo)加常數(shù)、中央子午線精度、投影高程。
3)對原來坐標(biāo)系及目標(biāo)坐標(biāo)系進(jìn)行全面的設(shè)置,對橢球基準(zhǔn)進(jìn)行選擇,實(shí)現(xiàn)轉(zhuǎn)換模型的確定。
4)對轉(zhuǎn)換參數(shù)計算公共點(diǎn)的坐標(biāo)進(jìn)行讀取,對轉(zhuǎn)換參數(shù)進(jìn)行計算。
5)通過參數(shù)計算公共點(diǎn)對內(nèi)符合精度進(jìn)行計算,通過沒有參與轉(zhuǎn)換參數(shù)計算的公共點(diǎn)外符合進(jìn)度進(jìn)行計算,對在坐標(biāo)轉(zhuǎn)換參數(shù)粗差公共點(diǎn)進(jìn)行查找和剔除,使用可靠的公共點(diǎn)進(jìn)行計算并且實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換參數(shù)的計算,直到進(jìn)度能夠有效滿足限差。
6)對坐標(biāo)轉(zhuǎn)換的數(shù)據(jù)進(jìn)行讀取,根據(jù)轉(zhuǎn)換的參數(shù)對坐標(biāo)轉(zhuǎn)換進(jìn)行執(zhí)行,并且得到全部需要轉(zhuǎn)換點(diǎn)轉(zhuǎn)換的坐標(biāo)[14]。
首先要實(shí)現(xiàn)不同坐標(biāo)系結(jié)構(gòu)體的定義:
以坐標(biāo)轉(zhuǎn)換類型為基礎(chǔ)實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換類的定義:
選擇某個礦區(qū)分布較為均勻,并且具有較高坐標(biāo)精度,而且在整個礦區(qū)進(jìn)行覆蓋的5個公共點(diǎn)對轉(zhuǎn)換參數(shù)進(jìn)行計算,選擇8個沒有參與到轉(zhuǎn)換參數(shù)計算中的公共點(diǎn),將其作為外部檢核點(diǎn),通過2016年礦區(qū)大地水準(zhǔn)面精化成果中的插高程異常值,分別使用平面四參數(shù)模型、莫洛金斯基模型及布爾莎模型實(shí)現(xiàn)北京坐標(biāo)系到大地坐標(biāo)系和西安坐標(biāo)系到大地坐標(biāo)系的相互轉(zhuǎn)換[15]。詳細(xì)數(shù)據(jù)見表1~表3。
表1 平面四參數(shù)模型比較表
表2 莫洛金斯基模型比較表
表3 布爾莎模型比較表
通過分析表示:
1)因?yàn)楸本┳鴺?biāo)系坐標(biāo)是通過局部分區(qū)平差計算,西安坐標(biāo)系坐標(biāo)是通過整體平差實(shí)現(xiàn),所以北京坐標(biāo)系坐標(biāo)沒有良好的內(nèi)符合性,并且其中的內(nèi)符合及外符合的精度都比較低,并且程序在運(yùn)行過程中對這點(diǎn)進(jìn)行了驗(yàn)證。
2)此礦區(qū)通過本文所設(shè)計的測量坐標(biāo)系統(tǒng)轉(zhuǎn)換程序在實(shí)現(xiàn)坐標(biāo)系統(tǒng)轉(zhuǎn)換過程中點(diǎn)位中的誤差在5 cm之間,滿足國家相應(yīng)的規(guī)定標(biāo)準(zhǔn)。通過程序能夠?qū)崿F(xiàn)所有范圍中坐標(biāo)系的快速轉(zhuǎn)換,如果具有較高的公共點(diǎn)進(jìn)度并且范圍的分布比較合理,其轉(zhuǎn)換的誤差更小,能夠有效滿足測繪及生產(chǎn)的需求。
3)本文設(shè)計的程序通過驗(yàn)證其運(yùn)行比較穩(wěn)定,并且運(yùn)行的速度比較快,計算出來的結(jié)果比較可靠[16]。
文中根據(jù)不同及相同參考橢球坐標(biāo)系的轉(zhuǎn)換原理通過VB語言定義相關(guān)結(jié)構(gòu)體和不同類能夠滿足不同參考橢球情況中的計算,并且利用某礦山實(shí)際的案例進(jìn)行了檢驗(yàn),表示本文所設(shè)計的系統(tǒng)程序可靠,能夠滿足實(shí)際的精度需求。