劉邢巍,袁 鵬,姜衛平
(1.武漢大學測繪學院,湖北武漢 430079;2.武漢大學衛星導航定位技術研究中心,湖北武漢 430079)
自動分區坐標轉換算法及其軟件實現
劉邢巍1,袁 鵬2,姜衛平2
(1.武漢大學測繪學院,湖北武漢 430079;2.武漢大學衛星導航定位技術研究中心,湖北武漢 430079)
針對基于CORS的大區域整體測量與坐標分區域轉換之間的矛盾,提出自動分區坐標轉換方法,并研制了應用軟件,實現了批量坐標數據的自動分區轉換。測試結果表明,該軟件可以提高大區域坐標分區轉換的效率和可靠性,實用性強。
坐標轉換;自動化;CORS;CGCS2000
隨著CGCS2000坐標系的推廣應用,很多省份建立了CORS系統,使得作業人員可以方便地獲得大區域,如一個省內控制點統一的CGCS2000坐標系、1954北京坐標系和1980西安坐標系下的坐標。同時,為了控制邊長投影變形,不同地區還建立了各自的地方獨立坐標系,它們的中央子午線和投影高程面根據區域的具體情況而定,各不相同。這樣,同一個控制點就擁有不同坐標系下的多套成果,在實際應用中,常常需要進行坐標轉換工作。
對于較大區域(如一個省或大城市)而言,常常擁有多個地方獨立坐標系。轉換時,測量人員首先需要對待轉點所在區域進行判定,然后提取該區域的中央子午線和投影高程面等投影轉換參數、坐標轉換參數等信息,再進行坐標轉換。將大區域內整體測量的統一的坐標系下的坐標轉換到各地方獨立坐標系下的工作較為煩瑣,人工作業容易出錯。因此,如何快速準確地實現大區域自動化、智能化的分區坐標轉換是一個亟須解決的問題,其關鍵在于控制點所在區域的判定。
本文引入了點與多邊形包含關系中改進的線段法進行區域判斷,然后確定相應的地方獨立坐標系的中央子午線和投影高程面,再進行投影轉換和平面坐標轉換,并編制軟件實現了大區域坐標自動分區轉換,滿足了批量大區域坐標數據分區轉換的需求。
1.點與多邊形包含關系的判定
點與多邊形的判定算法有多種[1-4],如定邊算子法、遍歷角度法、柵格算法、Qi算子和法、定向射線法等。與其他方法相比,一般采用定向射線法,該方法是判定點與多邊形內外關系的通用方法,也是唯一能解決點與含有孔洞的復合多邊形的位置關系的算法。定向射線法根據從待定點引出的一條射線與多邊形邊界交點數的奇偶性來判定該點是否包含于多邊形中,其難點是對邊界點及邊界與射線共線等特殊情況的處理。本文采用了使用線段代替射線的新算法[5],該算法通過分析線段與多邊形的最小外接矩形的關系,能正確判定點與多邊形的內外關系,避免了其他算法在求交點運算及異常情況處理的缺陷,算法簡單,易實現,效率高。
2.投影轉換
為了減小邊長投影變形,區域獨立坐標系通常采用非標準國家參考橢球(即為經過橢球膨脹、變形或平移等變換之后的地球橢球)[6],它們的中央子午線和投影高程面根據區域的具體情況而定,如投影的中央子午線設在測區中央,采用抵償高程面作為投影高程面。本文采用橢球膨脹法[7]實現了基于非標準橢球的投影轉換工作,具體算法如下:
設橢球變換的基準點P0(B0,L0),投影面高程為H0。對于橢球膨脹法,膨脹前后橢球中心保持不動(dX0=dY0=dZ0=0),坐標軸指向不變(εX=εY=εZ=0),尺度參數和扁率均不變(dα=Δm=0),而僅橢球長軸變化值da滿足

首先,計算由于抬高投影高程面而引起的橢球長半軸的變化量da。
然后,計算大地坐標變化量dB,在新橢球下,可以重新計算新的(Bnew,Lnew),即

最后,依據新橢球的參數和改正后的大地坐標進行高斯(或UTM)投影,計算新的(x,y),即為最終橢球變換后的正算結果。
3.坐標轉換
經過投影轉換后,得到了點的平面坐標,利用平面四參數轉換模型[8]可以得到點在目的坐標系下的坐標,即
式中,(x0,y0)為平移參數,單位為 m;α為旋轉參數,單位為″;m為尺度參數;(x1,y1)為源坐標系下的平面直角坐標,單位為m;(x2,y2)為轉換后目的坐標系下的平面直角坐標,單位為m。
4.算法流程
本文設計的算法流程(如圖1所示)如下:
1)構建區域邊界數據庫。數據庫中存儲每個閉合區域邊界點大地坐標(B,L)數據、投影轉換參數(如投影中央子午線和投影高程面),以及平面坐標轉換參數等信息。
2)獲取每個待轉點對應的區域編號信息。導入待轉點(B,L)坐標,對于任意一點坐標,調用點與多邊形關系判定算法,如果該點落在某個區域多邊形內,那么獲取該區域的編號信息,循環執行下一個點;如果該點落在某個區域多邊形外部,則繼續循環下一個區域多邊形。
3)自動完成待轉點的投影轉換,得到平面坐標。根據步驟2)的運行結果,系統可以從數據庫中自動調取每個點所在區域的投影轉換參數,利用上述的投影轉換方法得到該點的平面坐標。
4)自動完成待轉點的平面坐標轉換,得到所有待轉點目的坐標系下的坐標。根據步驟2)的運行結果,系統可以從數據庫中自動調取每個點所在區域的平面坐標轉換參數,同時利用平面四參數模型對每個點進行平面坐標轉換。
5)輸出待轉點所在區域的編號信息和平面坐標轉換后的坐標成果。
利用本文的算法思路和流程,筆者使用VC6.0編寫了坐標自動分區轉換軟件,如圖2所示。該軟件集成了點與多邊形判定模塊、投影轉換模塊及平面四參數轉換模塊,具備圖形顯示、轉換計算、成果輸出等功能。用戶只需導入區域邊界點(B,L)大地坐標數據,以及各區域對應的區域名稱、中央子午線和投影高程面等參數信息,輸入待定點大地坐標(B,L),選取相應的投影方式(如高斯投影或UTM投影),系統可自動進行搜索、判斷與轉換。從點位判定到投影轉換,再到平面四參數轉換,全過程無須人工干預,實現了大區域坐標分區轉換的自動化。

圖1 自動分區轉換流程圖

圖2 軟件界面
試驗對算法的可行性和軟件的實用性進行了測試,選取了某3個閉合區域的邊界數據,并且對每個區域設置不同的中央子午線、抬高投影面高及平面坐標轉換參數(見表1和表2),同時在每個區域內隨機選取了10個點用于測試,坐標數據見表3,點位分布如圖2所示。

表1 各區域投影轉換參數

表2 各區域平面坐標轉換四參數

表3 待轉點坐標
1)人工轉換。首先,人工進行點位區域的判定,根據該點的大地坐標確定點所在區域;然后,查詢該區域的投影轉換參數,進行投影轉換,得到該點平面坐標;最后,查詢該區域的平面坐標轉換四參數,利用平面坐標四參數轉換模型將投影后的平面坐標轉換至目的坐標系下。對于每個待轉點均需要經過以上3步完成,最終得到了30個點的目的坐標。
2)自動分區轉換。利用本文研制的坐標自動分區轉換軟件,首先導入3個區域邊界數據和投影轉換參數、平面坐標轉換參數信息(見表1和表2),再導入30個待轉點的大地坐標,即可自動轉換得到這些待轉點所屬區域的名稱及其在各自目的坐標系下的坐標。
比較上述兩種方法得到的結果,自動分區轉換和人工轉換計算結果完全一致,驗證了軟件的可用性和準確性。自動分區坐標轉換方法取代了人工對點位的判定工作,減少了大區域坐標轉換的工作量,避免了人工轉換易發生錯誤的缺點,提高了大區域坐標轉換的效率和可靠性。
隨著CGCS2000坐標系的推廣和CORS的快速發展,用戶能夠快速獲得CGCS2000坐標,但同一省內各縣市的投影參數和轉換參數并不一致,坐標轉換過程煩瑣。針對目前大區域統一測量的數據量大、子區域多、轉換參數不一的情況,本文引入了點與多邊形關系的判定算法,編制了大區域坐標自動分區轉換軟件,實現了坐標轉換的自動化,提高了坐標轉換效率,為今后的坐標轉換工作提供了極大的便利。試驗表明該軟件實用、可靠、效率高,具有很高的推廣價值。
[1] 張鵬程.基于點與多邊形關系的地形圖圖幅查詢系統實現[J].測繪通報,2008(10):68-69,75.
[2] 王澤根.射線法判定點與多邊形包含關系的改進[J].解放軍測繪學院學報,1999,16(2):130-132.
[3] 王杰臣.多邊形拓撲關系構建的柵格算法[J].測繪學報,2002,31(3):249-254.
[4] 丁健,江南,芮挺.GIS中統一于Qi算子的多邊形基本問題新算法[J].武漢大學學報:信息科學版,2006,31(3):247-251.
[5] 劉民士,王春.射線法判斷點與多邊形內外關系的改進算法[J].滁州學院學報,2010,12(2):14-16.
[6] 鄧興升,湯仲安,花向紅,等.橢球變換后的高斯正反算算法[J].大地測量與地球動力學,2010,30(2):49-52.
[7] 李世安,劉經南,施闖.應用GPS建立區域獨立坐標系中橢球變換的研究[J].武漢大學學報:信息科學版,2005,30(10):888-891.
[8] 程鵬飛,成英燕,文漢江,等.2000國家大地坐標系實用寶典[M].北京:測繪出版社,2008.
The Algorithm of Coordinate Automatic Regional Transformation and Its Software Realization
LIU Xingwei,YUAN Peng,JIANG Weiping
P226
B
0494-0911(2014)07-0055-03
2013-06-03
劉邢巍(1988—),男,河北邢臺人,碩士生,主要從事大地測量方面的研究。
劉邢巍,袁鵬,姜衛平.自動分區坐標轉換算法及其軟件實現[J].測繪通報,2014(7):55-57.
10.13474/j.cnki.11-2246.2014.0225