劉邢巍,袁 鵬,姜衛(wèi)平
(1.武漢大學(xué)測繪學(xué)院,湖北武漢 430079;2.武漢大學(xué)衛(wèi)星導(dǎo)航定位技術(shù)研究中心,湖北武漢 430079)
自動(dòng)分區(qū)坐標(biāo)轉(zhuǎn)換算法及其軟件實(shí)現(xiàn)
劉邢巍1,袁 鵬2,姜衛(wèi)平2
(1.武漢大學(xué)測繪學(xué)院,湖北武漢 430079;2.武漢大學(xué)衛(wèi)星導(dǎo)航定位技術(shù)研究中心,湖北武漢 430079)
針對基于CORS的大區(qū)域整體測量與坐標(biāo)分區(qū)域轉(zhuǎn)換之間的矛盾,提出自動(dòng)分區(qū)坐標(biāo)轉(zhuǎn)換方法,并研制了應(yīng)用軟件,實(shí)現(xiàn)了批量坐標(biāo)數(shù)據(jù)的自動(dòng)分區(qū)轉(zhuǎn)換。測試結(jié)果表明,該軟件可以提高大區(qū)域坐標(biāo)分區(qū)轉(zhuǎn)換的效率和可靠性,實(shí)用性強(qiáng)。
坐標(biāo)轉(zhuǎn)換;自動(dòng)化;CORS;CGCS2000
隨著CGCS2000坐標(biāo)系的推廣應(yīng)用,很多省份建立了CORS系統(tǒng),使得作業(yè)人員可以方便地獲得大區(qū)域,如一個(gè)省內(nèi)控制點(diǎn)統(tǒng)一的CGCS2000坐標(biāo)系、1954北京坐標(biāo)系和1980西安坐標(biāo)系下的坐標(biāo)。同時(shí),為了控制邊長投影變形,不同地區(qū)還建立了各自的地方獨(dú)立坐標(biāo)系,它們的中央子午線和投影高程面根據(jù)區(qū)域的具體情況而定,各不相同。這樣,同一個(gè)控制點(diǎn)就擁有不同坐標(biāo)系下的多套成果,在實(shí)際應(yīng)用中,常常需要進(jìn)行坐標(biāo)轉(zhuǎn)換工作。
對于較大區(qū)域(如一個(gè)省或大城市)而言,常常擁有多個(gè)地方獨(dú)立坐標(biāo)系。轉(zhuǎn)換時(shí),測量人員首先需要對待轉(zhuǎn)點(diǎn)所在區(qū)域進(jìn)行判定,然后提取該區(qū)域的中央子午線和投影高程面等投影轉(zhuǎn)換參數(shù)、坐標(biāo)轉(zhuǎn)換參數(shù)等信息,再進(jìn)行坐標(biāo)轉(zhuǎn)換。將大區(qū)域內(nèi)整體測量的統(tǒng)一的坐標(biāo)系下的坐標(biāo)轉(zhuǎn)換到各地方獨(dú)立坐標(biāo)系下的工作較為煩瑣,人工作業(yè)容易出錯(cuò)。因此,如何快速準(zhǔn)確地實(shí)現(xiàn)大區(qū)域自動(dòng)化、智能化的分區(qū)坐標(biāo)轉(zhuǎn)換是一個(gè)亟須解決的問題,其關(guān)鍵在于控制點(diǎn)所在區(qū)域的判定。
本文引入了點(diǎn)與多邊形包含關(guān)系中改進(jìn)的線段法進(jìn)行區(qū)域判斷,然后確定相應(yīng)的地方獨(dú)立坐標(biāo)系的中央子午線和投影高程面,再進(jìn)行投影轉(zhuǎn)換和平面坐標(biāo)轉(zhuǎn)換,并編制軟件實(shí)現(xiàn)了大區(qū)域坐標(biāo)自動(dòng)分區(qū)轉(zhuǎn)換,滿足了批量大區(qū)域坐標(biāo)數(shù)據(jù)分區(qū)轉(zhuǎn)換的需求。
1.點(diǎn)與多邊形包含關(guān)系的判定
點(diǎn)與多邊形的判定算法有多種[1-4],如定邊算子法、遍歷角度法、柵格算法、Qi算子和法、定向射線法等。與其他方法相比,一般采用定向射線法,該方法是判定點(diǎn)與多邊形內(nèi)外關(guān)系的通用方法,也是唯一能解決點(diǎn)與含有孔洞的復(fù)合多邊形的位置關(guān)系的算法。定向射線法根據(jù)從待定點(diǎn)引出的一條射線與多邊形邊界交點(diǎn)數(shù)的奇偶性來判定該點(diǎn)是否包含于多邊形中,其難點(diǎn)是對邊界點(diǎn)及邊界與射線共線等特殊情況的處理。本文采用了使用線段代替射線的新算法[5],該算法通過分析線段與多邊形的最小外接矩形的關(guān)系,能正確判定點(diǎn)與多邊形的內(nèi)外關(guān)系,避免了其他算法在求交點(diǎn)運(yùn)算及異常情況處理的缺陷,算法簡單,易實(shí)現(xiàn),效率高。
2.投影轉(zhuǎn)換
為了減小邊長投影變形,區(qū)域獨(dú)立坐標(biāo)系通常采用非標(biāo)準(zhǔn)國家參考橢球(即為經(jīng)過橢球膨脹、變形或平移等變換之后的地球橢球)[6],它們的中央子午線和投影高程面根據(jù)區(qū)域的具體情況而定,如投影的中央子午線設(shè)在測區(qū)中央,采用抵償高程面作為投影高程面。本文采用橢球膨脹法[7]實(shí)現(xiàn)了基于非標(biāo)準(zhǔn)橢球的投影轉(zhuǎn)換工作,具體算法如下:
設(shè)橢球變換的基準(zhǔn)點(diǎn)P0(B0,L0),投影面高程為H0。對于橢球膨脹法,膨脹前后橢球中心保持不動(dòng)(dX0=dY0=dZ0=0),坐標(biāo)軸指向不變(εX=εY=εZ=0),尺度參數(shù)和扁率均不變(dα=Δm=0),而僅橢球長軸變化值da滿足
首先,計(jì)算由于抬高投影高程面而引起的橢球長半軸的變化量da。
然后,計(jì)算大地坐標(biāo)變化量dB,在新橢球下,可以重新計(jì)算新的(Bnew,Lnew),即
最后,依據(jù)新橢球的參數(shù)和改正后的大地坐標(biāo)進(jìn)行高斯(或UTM)投影,計(jì)算新的(x,y),即為最終橢球變換后的正算結(jié)果。
3.坐標(biāo)轉(zhuǎn)換
經(jīng)過投影轉(zhuǎn)換后,得到了點(diǎn)的平面坐標(biāo),利用平面四參數(shù)轉(zhuǎn)換模型[8]可以得到點(diǎn)在目的坐標(biāo)系下的坐標(biāo),即
式中,(x0,y0)為平移參數(shù),單位為 m;α為旋轉(zhuǎn)參數(shù),單位為″;m為尺度參數(shù);(x1,y1)為源坐標(biāo)系下的平面直角坐標(biāo),單位為m;(x2,y2)為轉(zhuǎn)換后目的坐標(biāo)系下的平面直角坐標(biāo),單位為m。
4.算法流程
本文設(shè)計(jì)的算法流程(如圖1所示)如下:
1)構(gòu)建區(qū)域邊界數(shù)據(jù)庫。數(shù)據(jù)庫中存儲(chǔ)每個(gè)閉合區(qū)域邊界點(diǎn)大地坐標(biāo)(B,L)數(shù)據(jù)、投影轉(zhuǎn)換參數(shù)(如投影中央子午線和投影高程面),以及平面坐標(biāo)轉(zhuǎn)換參數(shù)等信息。
2)獲取每個(gè)待轉(zhuǎn)點(diǎn)對應(yīng)的區(qū)域編號(hào)信息。導(dǎo)入待轉(zhuǎn)點(diǎn)(B,L)坐標(biāo),對于任意一點(diǎn)坐標(biāo),調(diào)用點(diǎn)與多邊形關(guān)系判定算法,如果該點(diǎn)落在某個(gè)區(qū)域多邊形內(nèi),那么獲取該區(qū)域的編號(hào)信息,循環(huán)執(zhí)行下一個(gè)點(diǎn);如果該點(diǎn)落在某個(gè)區(qū)域多邊形外部,則繼續(xù)循環(huán)下一個(gè)區(qū)域多邊形。
3)自動(dòng)完成待轉(zhuǎn)點(diǎn)的投影轉(zhuǎn)換,得到平面坐標(biāo)。根據(jù)步驟2)的運(yùn)行結(jié)果,系統(tǒng)可以從數(shù)據(jù)庫中自動(dòng)調(diào)取每個(gè)點(diǎn)所在區(qū)域的投影轉(zhuǎn)換參數(shù),利用上述的投影轉(zhuǎn)換方法得到該點(diǎn)的平面坐標(biāo)。
4)自動(dòng)完成待轉(zhuǎn)點(diǎn)的平面坐標(biāo)轉(zhuǎn)換,得到所有待轉(zhuǎn)點(diǎn)目的坐標(biāo)系下的坐標(biāo)。根據(jù)步驟2)的運(yùn)行結(jié)果,系統(tǒng)可以從數(shù)據(jù)庫中自動(dòng)調(diào)取每個(gè)點(diǎn)所在區(qū)域的平面坐標(biāo)轉(zhuǎn)換參數(shù),同時(shí)利用平面四參數(shù)模型對每個(gè)點(diǎn)進(jìn)行平面坐標(biāo)轉(zhuǎn)換。
5)輸出待轉(zhuǎn)點(diǎn)所在區(qū)域的編號(hào)信息和平面坐標(biāo)轉(zhuǎn)換后的坐標(biāo)成果。
利用本文的算法思路和流程,筆者使用VC6.0編寫了坐標(biāo)自動(dòng)分區(qū)轉(zhuǎn)換軟件,如圖2所示。該軟件集成了點(diǎn)與多邊形判定模塊、投影轉(zhuǎn)換模塊及平面四參數(shù)轉(zhuǎn)換模塊,具備圖形顯示、轉(zhuǎn)換計(jì)算、成果輸出等功能。用戶只需導(dǎo)入?yún)^(qū)域邊界點(diǎn)(B,L)大地坐標(biāo)數(shù)據(jù),以及各區(qū)域?qū)?yīng)的區(qū)域名稱、中央子午線和投影高程面等參數(shù)信息,輸入待定點(diǎn)大地坐標(biāo)(B,L),選取相應(yīng)的投影方式(如高斯投影或UTM投影),系統(tǒng)可自動(dòng)進(jìn)行搜索、判斷與轉(zhuǎn)換。從點(diǎn)位判定到投影轉(zhuǎn)換,再到平面四參數(shù)轉(zhuǎn)換,全過程無須人工干預(yù),實(shí)現(xiàn)了大區(qū)域坐標(biāo)分區(qū)轉(zhuǎn)換的自動(dòng)化。
圖1 自動(dòng)分區(qū)轉(zhuǎn)換流程圖
圖2 軟件界面
試驗(yàn)對算法的可行性和軟件的實(shí)用性進(jìn)行了測試,選取了某3個(gè)閉合區(qū)域的邊界數(shù)據(jù),并且對每個(gè)區(qū)域設(shè)置不同的中央子午線、抬高投影面高及平面坐標(biāo)轉(zhuǎn)換參數(shù)(見表1和表2),同時(shí)在每個(gè)區(qū)域內(nèi)隨機(jī)選取了10個(gè)點(diǎn)用于測試,坐標(biāo)數(shù)據(jù)見表3,點(diǎn)位分布如圖2所示。
表1 各區(qū)域投影轉(zhuǎn)換參數(shù)
表2 各區(qū)域平面坐標(biāo)轉(zhuǎn)換四參數(shù)
表3 待轉(zhuǎn)點(diǎn)坐標(biāo)
1)人工轉(zhuǎn)換。首先,人工進(jìn)行點(diǎn)位區(qū)域的判定,根據(jù)該點(diǎn)的大地坐標(biāo)確定點(diǎn)所在區(qū)域;然后,查詢該區(qū)域的投影轉(zhuǎn)換參數(shù),進(jìn)行投影轉(zhuǎn)換,得到該點(diǎn)平面坐標(biāo);最后,查詢該區(qū)域的平面坐標(biāo)轉(zhuǎn)換四參數(shù),利用平面坐標(biāo)四參數(shù)轉(zhuǎn)換模型將投影后的平面坐標(biāo)轉(zhuǎn)換至目的坐標(biāo)系下。對于每個(gè)待轉(zhuǎn)點(diǎn)均需要經(jīng)過以上3步完成,最終得到了30個(gè)點(diǎn)的目的坐標(biāo)。
2)自動(dòng)分區(qū)轉(zhuǎn)換。利用本文研制的坐標(biāo)自動(dòng)分區(qū)轉(zhuǎn)換軟件,首先導(dǎo)入3個(gè)區(qū)域邊界數(shù)據(jù)和投影轉(zhuǎn)換參數(shù)、平面坐標(biāo)轉(zhuǎn)換參數(shù)信息(見表1和表2),再導(dǎo)入30個(gè)待轉(zhuǎn)點(diǎn)的大地坐標(biāo),即可自動(dòng)轉(zhuǎn)換得到這些待轉(zhuǎn)點(diǎn)所屬區(qū)域的名稱及其在各自目的坐標(biāo)系下的坐標(biāo)。
比較上述兩種方法得到的結(jié)果,自動(dòng)分區(qū)轉(zhuǎn)換和人工轉(zhuǎn)換計(jì)算結(jié)果完全一致,驗(yàn)證了軟件的可用性和準(zhǔn)確性。自動(dòng)分區(qū)坐標(biāo)轉(zhuǎn)換方法取代了人工對點(diǎn)位的判定工作,減少了大區(qū)域坐標(biāo)轉(zhuǎn)換的工作量,避免了人工轉(zhuǎn)換易發(fā)生錯(cuò)誤的缺點(diǎn),提高了大區(qū)域坐標(biāo)轉(zhuǎn)換的效率和可靠性。
隨著CGCS2000坐標(biāo)系的推廣和CORS的快速發(fā)展,用戶能夠快速獲得CGCS2000坐標(biāo),但同一省內(nèi)各縣市的投影參數(shù)和轉(zhuǎn)換參數(shù)并不一致,坐標(biāo)轉(zhuǎn)換過程煩瑣。針對目前大區(qū)域統(tǒng)一測量的數(shù)據(jù)量大、子區(qū)域多、轉(zhuǎn)換參數(shù)不一的情況,本文引入了點(diǎn)與多邊形關(guān)系的判定算法,編制了大區(qū)域坐標(biāo)自動(dòng)分區(qū)轉(zhuǎn)換軟件,實(shí)現(xiàn)了坐標(biāo)轉(zhuǎn)換的自動(dòng)化,提高了坐標(biāo)轉(zhuǎn)換效率,為今后的坐標(biāo)轉(zhuǎn)換工作提供了極大的便利。試驗(yàn)表明該軟件實(shí)用、可靠、效率高,具有很高的推廣價(jià)值。
[1] 張鵬程.基于點(diǎn)與多邊形關(guān)系的地形圖圖幅查詢系統(tǒng)實(shí)現(xiàn)[J].測繪通報(bào),2008(10):68-69,75.
[2] 王澤根.射線法判定點(diǎn)與多邊形包含關(guān)系的改進(jìn)[J].解放軍測繪學(xué)院學(xué)報(bào),1999,16(2):130-132.
[3] 王杰臣.多邊形拓?fù)潢P(guān)系構(gòu)建的柵格算法[J].測繪學(xué)報(bào),2002,31(3):249-254.
[4] 丁健,江南,芮挺.GIS中統(tǒng)一于Qi算子的多邊形基本問題新算法[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2006,31(3):247-251.
[5] 劉民士,王春.射線法判斷點(diǎn)與多邊形內(nèi)外關(guān)系的改進(jìn)算法[J].滁州學(xué)院學(xué)報(bào),2010,12(2):14-16.
[6] 鄧興升,湯仲安,花向紅,等.橢球變換后的高斯正反算算法[J].大地測量與地球動(dòng)力學(xué),2010,30(2):49-52.
[7] 李世安,劉經(jīng)南,施闖.應(yīng)用GPS建立區(qū)域獨(dú)立坐標(biāo)系中橢球變換的研究[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2005,30(10):888-891.
[8] 程鵬飛,成英燕,文漢江,等.2000國家大地坐標(biāo)系實(shí)用寶典[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—),男,河北邢臺(tái)人,碩士生,主要從事大地測量方面的研究。
劉邢巍,袁鵬,姜衛(wèi)平.自動(dòng)分區(qū)坐標(biāo)轉(zhuǎn)換算法及其軟件實(shí)現(xiàn)[J].測繪通報(bào),2014(7):55-57.
10.13474/j.cnki.11-2246.2014.0225