杜滿良
(咸陽師范學院陜西咸陽712000)
因為多種因素,在測繪生產過程中所使用的坐標系統比較多,為了能夠有效滿足不同部門用圖的需求,并且實現不同坐標系統數據之間的共享,就要實現舊坐標系成果的轉換,使其能夠成為全新的坐標系成果。傳統使用測繪成果資料中的坐標系都是北京坐標系或者西安坐標系,在國家大地坐標系不斷推廣使用的過程中,要求將所有的測繪成果都轉換成為國家大地坐標系。并且,為了能夠便于測繪成果的管理及使用,在工程建設過程中使用的地方獨立坐標系及國家坐標系能夠互相的轉換。所以,為了能夠對坐標系統轉換程序進行開發,就要實現不同坐標的相互轉換,以此能夠對現實測量過程中的問題進行解決。本文使用VB實現數學測量坐標系統的轉換,使用戶能夠方便并且簡單的實現不同坐標系統坐標的轉換。
一般現代使用的坐標轉換具有七參數轉換和四參數轉換。四參數轉換是一種二維轉換方式,其要利用高斯投影才能夠得到平面坐標,之后對轉換參數進行計算。七參數轉換主要包括武測模型、莫洛金斯基模型及布爾莎模型等,其是一種三維坐標轉換。布爾莎模型是將原來的坐標系原點作為重點,實現坐標的縮放、旋轉及評議變換;武測模型是將原來的坐標系原點作為中心,實現坐標的平移、旋轉,將測區的參考點作為中心實現縮放。莫洛金斯基模型是將測區范圍將某個參考點作為變換中心實現坐標的縮放及旋轉,將原來坐標的原點作為中心實現評議變換[1]。
布爾莎模型中具有7個參數,包括3個平移參數和3個旋轉參數、一個尺度參數,因為坐標系統在轉換過程中的旋轉角都是極小的角度,其簡化模型為:



平面四參數轉換只是在小區域和不同定義中的兩個坐標系轉換中使用,其屬于工程應用中最多并且直觀、簡單的數學模型。七參數轉換從理論方面分析較為嚴密,其將所有所坐標系的定位定向差異進行了全面的考慮,保證只使用兩種坐標系的嚴密轉換,其適應于大型的項目坐標轉換中,在實際使用過程中,要全面考慮待轉換坐標系的信息、區域的大小、公共點分布及數量等多種情況,從而選擇最優的坐標轉換模型[2-3]。
文中所設計的數字測量坐標系統轉換程序主要使用模塊化實現,圖1為基于VB的數學測量坐標系統轉換的功能結構。
系統中的參數設置模塊主要包括四參數、參考橢球及七參數設置。不同坐標系在不同參考橢球之間轉換的時候,其偏心率和半徑等多種參數都不同,系統具有北京54坐標系、80坐標系等參考橢球參數的設置,四參數的設置能夠在各種高斯平面中相互轉換。七參數轉換是在不同空間直角坐標系轉換中使用,用戶能夠根據自己的實際情況實現設置[4-5]。

圖1 基于VB的數學測量坐標系統轉換的功能結構
轉換方式模塊主要指的是坐標轉換使用單點轉換方式或者文件轉換方式,如果屬于單點轉換,那么用戶就要在界面中將原來的坐標進行輸入之后點擊轉換按鈕,然后在另外文本框中得到轉換之后坐標。
簡單來說,文件轉換就是在轉換前后參數及數據的文件化管理,用戶能夠將一種轉換作為另外文件進行保存,在下次使用之后通過文件菜單選擇打開此文件對已經有的轉換參數進行調用,還能夠選擇自己想要設置的文件格式[6-7]。
系統中的坐標轉換模塊主要包括不同的平面直角坐標系轉換、不同的大地坐標轉換、空間直角坐標系對大地坐標的轉換、不同坐標投影帶及不同高斯平面直角坐標系的轉換。
1)高斯平面直角對平面直角坐標轉換。基于參考的橢球及坐標轉換前后不變,在橢球出現變化的之后,要根據不同參考橢球及四參數轉換兩者的參數實現坐標的相互轉換[8]。
2)高斯平面直角坐標朝著空間指標坐標系轉換。在橢球不發生變化的時候,要使大地坐標朝著空間直角坐標進行轉換。如果參考橢球出現變化,那么就要將平面直角坐標轉換成為大地坐標,之后再轉換成為空間指標坐標,以參考橢球及七參數轉換兩者的參數為基礎,將空間直角坐標朝著目標參考橢球中的空間直角坐標進行轉換[9]。
3)高斯平面直角坐標朝著大地坐標轉換。在參考橢球不發生變化的時候,能夠通過高斯坐標反算公式實現轉換。如果參考橢球出現變化的時候,要以不同參考橢球及四參數為基礎,將高斯平面直角坐標轉換成為目標參考橢球中的平面直角坐標,之后通過高斯反算公式使其成為目標橢球中的大地坐標[10]。
此模塊首先要對參數進行設置,比如中央子午線經度、換帶前后基準緯度、換帶類型、參考橢球等。之后將原來的坐標通過高斯坐標反算函數轉換成為大地坐標,之后通過大地坐標緯度、全新中央子午線經度及經度和,通過坐標正算函數計算全新投影中的坐標,并且要對坐標是否為自然值和通用值進行全面的考慮[11]。
系統以克拉索夫斯基橢球體實現平面坐標朝著大地坐標進行轉換,在實現批量數據的處理,計算批量導入的數據,并且還能夠實現批量的輸出。單點數據及批量數據的反算具有較高且穩定的精度,并且還具有較高的可靠性[12],圖2~圖5為系統的處理界面。

圖2 單點正反算界面

圖3 批量坐標正方算界面

圖4 大地空間坐標轉換界面

圖5 坐標轉換界面
系統的轉換流程主要為:
1)準備數據。需要提供測試區域中原來坐標系和目標坐標系的公共點坐標,選擇具有較高精度,并且分布較為合理,能夠對整個測區都覆蓋的公共點有效實現參數的計算。如果為七參數轉換,那么就要具備大地高和經緯度。如果為四參數轉換,就要具備平面直角坐標。通過Excel表的形式實現編輯和保存,需要坐標轉換的數據要使用TXT文本文件的編輯模式進行保存[13]。
2)投影參數的設置,主要包括Y坐標加常數、中央子午線精度、投影高程。
3)對原來坐標系及目標坐標系進行全面的設置,對橢球基準進行選擇,實現轉換模型的確定。
4)對轉換參數計算公共點的坐標進行讀取,對轉換參數進行計算。
5)通過參數計算公共點對內符合精度進行計算,通過沒有參與轉換參數計算的公共點外符合進度進行計算,對在坐標轉換參數粗差公共點進行查找和剔除,使用可靠的公共點進行計算并且實現坐標轉換參數的計算,直到進度能夠有效滿足限差。
6)對坐標轉換的數據進行讀取,根據轉換的參數對坐標轉換進行執行,并且得到全部需要轉換點轉換的坐標[14]。
首先要實現不同坐標系結構體的定義:


以坐標轉換類型為基礎實現坐標轉換類的定義:

選擇某個礦區分布較為均勻,并且具有較高坐標精度,而且在整個礦區進行覆蓋的5個公共點對轉換參數進行計算,選擇8個沒有參與到轉換參數計算中的公共點,將其作為外部檢核點,通過2016年礦區大地水準面精化成果中的插高程異常值,分別使用平面四參數模型、莫洛金斯基模型及布爾莎模型實現北京坐標系到大地坐標系和西安坐標系到大地坐標系的相互轉換[15]。詳細數據見表1~表3。

表1 平面四參數模型比較表

表2 莫洛金斯基模型比較表

表3 布爾莎模型比較表
通過分析表示:
1)因為北京坐標系坐標是通過局部分區平差計算,西安坐標系坐標是通過整體平差實現,所以北京坐標系坐標沒有良好的內符合性,并且其中的內符合及外符合的精度都比較低,并且程序在運行過程中對這點進行了驗證。
2)此礦區通過本文所設計的測量坐標系統轉換程序在實現坐標系統轉換過程中點位中的誤差在5 cm之間,滿足國家相應的規定標準。通過程序能夠實現所有范圍中坐標系的快速轉換,如果具有較高的公共點進度并且范圍的分布比較合理,其轉換的誤差更小,能夠有效滿足測繪及生產的需求。
3)本文設計的程序通過驗證其運行比較穩定,并且運行的速度比較快,計算出來的結果比較可靠[16]。
文中根據不同及相同參考橢球坐標系的轉換原理通過VB語言定義相關結構體和不同類能夠滿足不同參考橢球情況中的計算,并且利用某礦山實際的案例進行了檢驗,表示本文所設計的系統程序可靠,能夠滿足實際的精度需求。