蘇鐵柱,宋奇海,王見兵
(1.湖南省勘察測繪院,湖南株洲412007;2.南京農(nóng)業(yè)大學(xué),江蘇南京210095)
基于AutoCAD的動態(tài)坐標(biāo)轉(zhuǎn)換的快速實(shí)現(xiàn)
蘇鐵柱1,宋奇海2,王見兵1
(1.湖南省勘察測繪院,湖南株洲412007;2.南京農(nóng)業(yè)大學(xué),江蘇南京210095)
在AutoCAD制圖軟件中,如何快速展示電子地圖的大地坐標(biāo),是一個亟須解決的問題。通過對坐標(biāo)正反算和AutoCAD制圖技術(shù)的疊加運(yùn)用,以數(shù)字珠海電力為例,詳細(xì)說明基于AutoCAD動態(tài)坐標(biāo)轉(zhuǎn)換的快速實(shí)現(xiàn)。
AutoCAD;大地坐標(biāo);迭代算法;VBA編程
坐標(biāo)是空間實(shí)體的位置描述,坐標(biāo)轉(zhuǎn)換是從一種坐標(biāo)系統(tǒng)變換到另一種坐標(biāo)系統(tǒng)的過程,通過建立兩個坐標(biāo)系統(tǒng)之間的一一對應(yīng)關(guān)系來實(shí)現(xiàn)。筆者所在單位承擔(dān)了珠海電網(wǎng)的定位測量,需要提交90珠海坐標(biāo)系(AutoCAD DWG圖形)和WGS-84坐標(biāo)系(地理坐標(biāo))下的兩套成果。按以往坐標(biāo)轉(zhuǎn)換,工作量非常大且容易出錯。通過開發(fā)坐標(biāo)轉(zhuǎn)換軟件掛接在AutoCAD程序中,實(shí)現(xiàn)了在90珠海坐標(biāo)系地形圖中用鼠標(biāo)捕捉任意一點(diǎn),馬上顯示90珠海坐標(biāo)系X、Y值和WGS-84坐標(biāo)系經(jīng)緯度的功能。實(shí)現(xiàn)了在一套地形圖上同時體現(xiàn)兩套坐標(biāo)成果的功能。
坐標(biāo)轉(zhuǎn)換的過程就是轉(zhuǎn)換參數(shù)的求解過程。常用方法有三參數(shù)法、四參數(shù)法和七參數(shù)法。
1.大地坐標(biāo)(B,L,H)到平面直角
坐標(biāo)(X,Y,Z)的轉(zhuǎn)換
常規(guī)坐標(biāo)轉(zhuǎn)換時,首先確定轉(zhuǎn)換參數(shù),即橢球參數(shù),分帶標(biāo)準(zhǔn)(1.5°、3°、6°帶等)和中央子午線的經(jīng)度。其中,橢球參數(shù)就是指平面直角坐標(biāo)系采用什么樣的橢球基準(zhǔn),對應(yīng)有不同的長短軸及扁率。一般工程中3°帶應(yīng)用的較為廣泛。對于中央子午線的確定有兩種方法:①取平面直角坐標(biāo)系中Y坐標(biāo)的前兩位數(shù)乘以3,即可得到對應(yīng)的中央子午線的經(jīng)度,如X=3 250 212 m,Y=395 121 123 m,則中央子午線的經(jīng)度=39×3°=117°;②根據(jù)大地坐標(biāo)經(jīng)度,如經(jīng)度是在155.5°~185.5°之間,那么對應(yīng)的中央子午線經(jīng)度=(155.5+185.5)÷2=117°,其他情況可以據(jù)此3°帶類推。
另外一些工程采用自身特殊的分帶標(biāo)準(zhǔn),則對應(yīng)的參數(shù)確定不在上述之列。確定參數(shù)之后,可以用軟件進(jìn)行轉(zhuǎn)換。
2.1954 北京坐標(biāo)系、1980西安坐標(biāo)系
和WGS-84坐標(biāo)系的相互轉(zhuǎn)換
這三個坐標(biāo)系統(tǒng)是當(dāng)前國內(nèi)較為常用的,均采用不同的橢球基準(zhǔn),基本系數(shù)見表1。
表1
由于采用的橢球基準(zhǔn)不同及投影的局限性,全國各地并不存在一致的轉(zhuǎn)換參數(shù)。這種轉(zhuǎn)換由于工作量大,條件許可時,一般都采用GPS聯(lián)測已知點(diǎn),應(yīng)用GPS軟件自動完成坐標(biāo)轉(zhuǎn)換。若條件不許可,且有足夠的重合點(diǎn),也可以進(jìn)行人工解算。詳細(xì)方法見第3節(jié)。
3.任意兩空間坐標(biāo)系的轉(zhuǎn)換
由于測量坐標(biāo)系和施工坐標(biāo)系采用不同的標(biāo)準(zhǔn),要進(jìn)行精確轉(zhuǎn)換,必須知道3個以上重合點(diǎn)(即在兩個坐標(biāo)系中坐標(biāo)均為已知),采用布爾莎模型進(jìn)行求解。
其中,m為尺度比參數(shù);εx、εy、εz為旋轉(zhuǎn)參數(shù);ΔX0、ΔY0、ΔZ0為平移參數(shù)。
解算這7個參數(shù),至少要用到3個已知點(diǎn),采用間接平差模型進(jìn)行解算。
解得七參數(shù)后,利用布爾莎公式就可以進(jìn)行未知點(diǎn)的坐標(biāo)轉(zhuǎn)換了,每輸入一組坐標(biāo)值,就能求出它在新坐標(biāo)系中的坐標(biāo)。但是要想GPS觀測成果用于工程或者測繪,還需要將地方直角坐標(biāo)轉(zhuǎn)換為大地坐標(biāo),最后還要轉(zhuǎn)換為平面高斯坐標(biāo)。
4.空間直角坐標(biāo)到大地坐標(biāo)的轉(zhuǎn)換
由文獻(xiàn)[1]可知
根據(jù)式(2),通過解方程計(jì)算大地經(jīng)度L、緯度B和大地高H(點(diǎn)沿法線到橢球面的距離),但整個計(jì)算方法比較復(fù)雜,通常采用迭代法,具體公式如下
90珠海坐標(biāo)系屬地方直角坐標(biāo)系,中央子午線113°21',采用3°帶高斯投影,地球的橢球參數(shù)與1980西安坐標(biāo)系一致。
首先開發(fā)坐標(biāo)轉(zhuǎn)換軟件,掛接到AutoCAD程序中,打開90珠海坐標(biāo)系A(chǔ)utoCAD圖,用鼠標(biāo)捕捉地形圖上任意點(diǎn),立即顯示90珠海坐標(biāo)X、Y值和WGS-84經(jīng)緯度坐標(biāo)值。成果精確到毫米并自動填入設(shè)計(jì)好的Excel表格中。技術(shù)框圖如圖1所示。
AutoCAD支持多種形式的編程,比較常見的是AutoLisp、AutoCAD VBA和ObjectARX。針對坐標(biāo)轉(zhuǎn)換程序的功能單一和復(fù)雜度不大的情況,考慮采用AutoCAD VBA編程實(shí)現(xiàn)。
圖1
程序基本代碼和基本計(jì)算流程如下:
筆者所在單位于2009年10月—12月承擔(dān)了珠海市香洲和金灣兩個區(qū)中壓電網(wǎng)的定位測量,采集中壓電網(wǎng)部件點(diǎn)123 696個、線路總長3 215.433 km,采用廣州南方測繪儀器公司開發(fā)的CASS7.0數(shù)字化測繪軟件編輯生成90珠海坐標(biāo)系電網(wǎng)圖,按實(shí)際情況編輯連接方式等。使用開發(fā)的坐標(biāo)轉(zhuǎn)換軟件掛接在AutoCAD程序中,打開90珠海坐標(biāo)系電網(wǎng)圖(DWG格式),用鼠標(biāo)點(diǎn)擊各測點(diǎn),自動計(jì)算出各測點(diǎn)的90珠海坐標(biāo)系平面坐標(biāo)和WGS-84坐標(biāo)成果。并自動填入《珠海市中低壓電網(wǎng)部件測量成果表》中,最終提交了90珠海坐標(biāo)和WGS-84經(jīng)緯度兩套坐標(biāo)成果。
本文采用自主開發(fā)的坐標(biāo)轉(zhuǎn)換軟件,實(shí)現(xiàn)了在一套地形圖上同時展現(xiàn)兩套坐標(biāo)成果,并能自動填入到《珠海市中低壓電網(wǎng)部件測量成果表》等功能,大大降低了勞動強(qiáng)度,工作效率得到了較大提高。坐標(biāo)成果精度達(dá)到了厘米級,具有較高的應(yīng)用價值。
[1] 孔祥元,郭際明.控制測量學(xué)[M].3版.武漢:武漢大學(xué)出版社,2007.
[2] 武漢大學(xué)測繪學(xué)院測量平差學(xué)科組.誤差理論與測量平差基礎(chǔ)[M].武漢:武漢大學(xué)出版社,2004.
[3] 趙長勝.勒讓德級數(shù)計(jì)算大地坐標(biāo)主題反解的迭代算法[J].測繪通報,2004(8):7-8.
Quick Achievement of Dynamic Coordinate Conversion Based on AutoCAD
SU Tiezhu,SONG Qihai,WANG Jianbing
0494-0911(2010)11-0046-02
P282.2
B
2010-07-22
蘇鐵柱(1956—),男,湖南茶陵人,高級工程師,主要從事測繪應(yīng)用技術(shù)研究。