曹健,王晏彬,盧云輝
(1.大連市勘察測繪研究院有限公司,遼寧大連 116061;2.中國建筑第八工程局大連公司,遼寧大連 116061)
由于現(xiàn)階段我國測繪成果的坐標(biāo)系統(tǒng)不統(tǒng)一,有1954年北京坐標(biāo)系、1980西安坐標(biāo)系、地方獨(dú)立坐標(biāo)系,同時(shí)2000國家大地坐標(biāo)系也于2008年7月正式啟用。所以在勘察測繪行業(yè),我們不可避免地要進(jìn)行測繪成果的坐標(biāo)系轉(zhuǎn)換。常用的轉(zhuǎn)換方法主要有四參數(shù)轉(zhuǎn)換和七參數(shù)轉(zhuǎn)換兩種。如果地面兩點(diǎn)的距離小于10 km,幾乎可以忽略因?yàn)椴捎貌煌臋E球參數(shù)對于轉(zhuǎn)換精度的影響;如果地面兩點(diǎn)的距離超過15 km,必須考慮兩種不同坐標(biāo)系所采用的橢球參數(shù),避免因橢球參數(shù)的差異,導(dǎo)致點(diǎn)位換算后精度過低。換言之,七參數(shù)是一種空間直角坐標(biāo)系的轉(zhuǎn)換模型,而四參數(shù)是一種平面直角坐標(biāo)系的轉(zhuǎn)換模型。所以,采用七參數(shù)轉(zhuǎn)換方法能夠很好地保證轉(zhuǎn)換的精度,而在面積較大區(qū)域,四參數(shù)轉(zhuǎn)換不能滿足精度要求。
我們知道,很多軟件都有利用七參數(shù)將一個(gè)或多個(gè)點(diǎn)進(jìn)行轉(zhuǎn)換的功能,如在ESRI公司的ArcCatalog軟件中,有利用七參數(shù)將GIS格式數(shù)據(jù)進(jìn)行全庫轉(zhuǎn)換的功能,十分方便。但是對于整個(gè)AutoCAD數(shù)據(jù)文件,進(jìn)行坐標(biāo)系統(tǒng)轉(zhuǎn)換,生成另一個(gè)坐標(biāo)系統(tǒng)的AutoCAD文件的軟件卻十分罕見。基于此,筆者對于這一課題進(jìn)行了嘗試,并且獲得了很好的效果。
首先選取要進(jìn)行坐標(biāo)轉(zhuǎn)換區(qū)域的公共點(diǎn),獲得公共點(diǎn)在原坐標(biāo)系統(tǒng)下和目標(biāo)坐標(biāo)系統(tǒng)下的三維坐標(biāo);根據(jù)控制點(diǎn)的坐標(biāo),通過間接平差的方法解求七參數(shù);然后用公共點(diǎn)的坐標(biāo)檢驗(yàn)七參數(shù)的可靠性,如果不滿足要求,則需重新計(jì)算七參數(shù)。七參數(shù)滿足要求以后,轉(zhuǎn)換程序打開每一個(gè)需要轉(zhuǎn)換的AutoCAD數(shù)據(jù)文件,獲取每一個(gè)數(shù)據(jù)文件中的每一個(gè)元素的圖形坐標(biāo)串以及其屬性數(shù)據(jù),然后新建一個(gè)AutoCAD數(shù)據(jù)文件,將每一個(gè)元素在原始坐標(biāo)系統(tǒng)中的坐標(biāo)串?dāng)?shù)組,經(jīng)過七參數(shù)轉(zhuǎn)換生成新坐標(biāo)系統(tǒng)下的坐標(biāo)串?dāng)?shù)組,附帶屬性數(shù)據(jù)生成新的元素,保存在新的AutoCAD數(shù)據(jù)文件中,完成坐標(biāo)系統(tǒng)的轉(zhuǎn)換。

圖1 坐標(biāo)系轉(zhuǎn)換流程圖
七參數(shù),即兩個(gè)空間直角坐標(biāo)系之間轉(zhuǎn)換的7個(gè)參數(shù),包括3個(gè)軸的旋轉(zhuǎn)角、3個(gè)坐標(biāo)增量和1個(gè)尺度因子。要解求七參數(shù),就要至少知道3個(gè)及以上公共點(diǎn)的空間直角坐標(biāo)(X,Y,Z)。常用的七參數(shù)解求方法主要有三種:三點(diǎn)法、多點(diǎn)法和嚴(yán)密平差法。當(dāng)對坐標(biāo)轉(zhuǎn)換的精度要求不高,或者只有3個(gè)點(diǎn)時(shí),可以采用三點(diǎn)法。當(dāng)對轉(zhuǎn)換的精度要求較高,而且又能提供3個(gè)以上的公共點(diǎn)時(shí),可以采用多點(diǎn)法。當(dāng)對轉(zhuǎn)換的精度要求非常高時(shí),需要采用嚴(yán)密平差法。由參考文獻(xiàn)[1]可知,三點(diǎn)法是一種近似的七參數(shù)求解方法,對于3個(gè)公共點(diǎn),按某種轉(zhuǎn)換模型可以列出9個(gè)方程,取其中7個(gè)方程就能求得七參數(shù)。而多點(diǎn)法則利用了更多的公共點(diǎn),進(jìn)行平差之后可以得到更好的解算結(jié)果。設(shè)兩個(gè)空間直角坐標(biāo)系中有n個(gè)公共點(diǎn)(n〉3),它們在兩個(gè)坐標(biāo)系中的坐標(biāo)分別為(Xi,Yi,Zi)和(),記△Xi=-Xi,△Yi=-Yi,△Zi=-Zi,認(rèn)為△Xi,△Yi,△Zi是含有隨機(jī)誤差的觀測值,并且視其為同等精度觀測值,將七參數(shù) Xi,Yi,Zi,rx,ry,rz,s作為未知數(shù),采用W模型,按最小二乘法求解即可得七參數(shù)。但采用此法求解時(shí)是將(△Xi,△Yi,△Zi)當(dāng)作等權(quán)觀測值,沒有考慮它們的相關(guān)性和精度差異,因而也是一種近似的求法。
嚴(yán)密平差法考慮(Xi,Yi,Zi)和()會受到不同的誤差影響,因此它們不是等精度的觀測值,也就是要將它們當(dāng)作不等精度的觀測值來處理。在這種情況下,轉(zhuǎn)換模型除了要將七參數(shù)作為未知數(shù)外,還應(yīng)取公共點(diǎn)在某個(gè)空間直角坐標(biāo)系統(tǒng)中的坐標(biāo)作為未知參數(shù),然后利用轉(zhuǎn)換模型建立誤差方程,按照相關(guān)平差方法求解,即可得到七參數(shù)。這種方法在理論上最嚴(yán)密,求解精度最高,但數(shù)學(xué)模型也最復(fù)雜。上述七參數(shù)求解數(shù)學(xué)模型的計(jì)算公式,可以參照參考文獻(xiàn)[1]。
在本項(xiàng)目中,筆者將一批地方獨(dú)立坐標(biāo)系的Auto-CAD數(shù)據(jù)文件轉(zhuǎn)換成為1980西安坐標(biāo)系下的成果,選擇了一定數(shù)目的公共點(diǎn)以后,利用多點(diǎn)法求得七參數(shù)。為了驗(yàn)證該套七參數(shù)的正確性,筆者將部分公共點(diǎn)在地方獨(dú)立坐標(biāo)系中的坐標(biāo)利用該套七參數(shù),求得1980西安坐標(biāo)系中的坐標(biāo),并與該公共點(diǎn)的已知的坐標(biāo)進(jìn)行比對。從下表可以看出,精度符合要求,能夠作為該區(qū)域的轉(zhuǎn)換七參數(shù)來使用。

利用七參數(shù)解求坐標(biāo)與已知坐標(biāo)對照表 表1
在Visual Studio開發(fā)環(huán)境中,加載AutoCAD提供的類庫,利用C#進(jìn)行二次開發(fā),來完成AutoCAD數(shù)據(jù)的坐標(biāo)系統(tǒng)轉(zhuǎn)換。創(chuàng)建 AcadApplication、AcadDocument對象,并初始化AcadModelSpace。利用其 SelectionSet獲得選擇集,進(jìn)入第一個(gè)循環(huán),遍歷AutoCAD數(shù)據(jù)中的每一個(gè)圖形,獲得其屬性信息。進(jìn)入第二個(gè)循環(huán),遍歷該圖形的每一個(gè)點(diǎn),獲得其在原始坐標(biāo)系下的三維坐標(biāo)值(X,Y,Z)original;利用七參數(shù),即3個(gè)軸的旋轉(zhuǎn)角(rx,ry,rz)、3 個(gè)坐標(biāo)增量(△X,△Y,△Z)、1 個(gè)尺度因子(s)和坐標(biāo)轉(zhuǎn)換公式,生成該點(diǎn)在新坐標(biāo)系統(tǒng)下的三維坐標(biāo)值(X,Y,Z)new,完成該循環(huán)并最終形成該圖形在新坐標(biāo)系統(tǒng)下的三維坐標(biāo)串?dāng)?shù)組。

創(chuàng)建一個(gè)新的AutoCAD數(shù)據(jù)文件,根據(jù)在新坐標(biāo)系統(tǒng)下的三維坐標(biāo)串?dāng)?shù)組以及該對象在原AutoCAD數(shù)據(jù)中的線型、顏色、圖層、字體文件、字高、傾斜角、塊名、插入比例等屬性信息,利用AcadModelSpace對象的 AddCircle、Add3DPoly、AddArc、InsertBlock、AddEllipse、AddLine 、AddPoint 、AddPolyline 、AddText、AddMText、AddMLine等方法[3]在新建的 AutoCAD 數(shù)據(jù)文件中生成對應(yīng)的圖形,即完成數(shù)據(jù)的轉(zhuǎn)化[2],由于該方案的獨(dú)特轉(zhuǎn)換方式,屬性數(shù)據(jù)無丟失,能夠最大限度地保證數(shù)據(jù)的原樣。
將要轉(zhuǎn)換的AutoCAD原始數(shù)據(jù)文件存放到一個(gè)文件夾中,并選擇該文件夾;設(shè)置目標(biāo)數(shù)據(jù)文件夾,即經(jīng)坐標(biāo)系轉(zhuǎn)換后的AutoCAD數(shù)據(jù)文件存儲的位置。在系統(tǒng)界面中輸入七參數(shù),點(diǎn)擊確定,如圖2所示,即可完成轉(zhuǎn)換。由此可見,該程序操作非常簡便,沒有多余的人工干預(yù),對用戶的要求低,取得了很好的效果。

圖2 系統(tǒng)操作界面
(1)該方案利用公共點(diǎn)解求七參數(shù),然后利用七參數(shù)進(jìn)行坐標(biāo)系統(tǒng)轉(zhuǎn)換,直接將原坐標(biāo)系統(tǒng)的Auto-CAD文件轉(zhuǎn)換成目標(biāo)坐標(biāo)系統(tǒng)的AutoCAD文件,中間過程沒有數(shù)據(jù)格式轉(zhuǎn)換,數(shù)據(jù)屬性信息無丟失,操作方便,轉(zhuǎn)換效率高。
(2)該方案經(jīng)過了項(xiàng)目的測試,應(yīng)用在第二次土地調(diào)查、土地利用規(guī)劃等多個(gè)項(xiàng)目中,經(jīng)多次使用驗(yàn)證,轉(zhuǎn)換結(jié)果精確,操作非常簡便。
[1]劉大杰,施一民,過靜.全球定位系統(tǒng)(GPS)的原理與數(shù)據(jù)處理[M].上海:同濟(jì)大學(xué)出版社,1996.
[2]曹健,李國忠,徐效波等.Microstation到AutoCAD的數(shù)據(jù)轉(zhuǎn)換解決方案研究[J].城市勘測,2009(1).
[3]Autodesk公司.AutoCAD2010 Develop Help.
[4]張廣蔚,付新雷,肖先華等.一種三維直角坐標(biāo)轉(zhuǎn)換7參數(shù)模型的改進(jìn)方法[J].黑龍江科技信息,2011(4).
[5]李征航,黃勁松.GPS測量與數(shù)據(jù)處理[M].武漢:武漢大學(xué)出版社,2005.
[6]GB/T 18314-2009.全球定位系統(tǒng)(GPS)測量規(guī)范[S].