王靠省 郭 平
(中鐵二局集團(tuán)有限公司,四川 成都 610031)
地方獨(dú)立坐標(biāo)轉(zhuǎn)換WGS84大地坐標(biāo)方法及程序設(shè)計(jì)
王靠省 郭 平
(中鐵二局集團(tuán)有限公司,四川 成都 610031)
介紹了一種地方獨(dú)立坐標(biāo)轉(zhuǎn)換為WGS84大地坐標(biāo)的方法,并利用C#語(yǔ)言進(jìn)行了程序設(shè)計(jì)開(kāi)發(fā),解決了地方獨(dú)立坐標(biāo)使用手持GPS或奧維互動(dòng)地圖瀏覽器進(jìn)行導(dǎo)航尋找測(cè)量點(diǎn)位的問(wèn)題。
地方獨(dú)立坐標(biāo),大地坐標(biāo),坐標(biāo)轉(zhuǎn)換
在工程建設(shè)初期,由于點(diǎn)之記描述不準(zhǔn)確,或在山區(qū),即使點(diǎn)之記描述準(zhǔn)確也很難準(zhǔn)確找到去往測(cè)量樁點(diǎn)位置的道路。目前科技的飛速發(fā)展,手持GPS、手機(jī)均可以實(shí)時(shí)定位當(dāng)前位置,并據(jù)經(jīng)緯度進(jìn)行導(dǎo)航至目的地,被應(yīng)用于尋找測(cè)量樁點(diǎn)位置。某些手持GPS可輸入平面坐標(biāo)在測(cè)量點(diǎn)上進(jìn)行校正,使用很不方便。將WGS84大地坐標(biāo)導(dǎo)入手持GPS或奧維互動(dòng)地圖瀏覽器中進(jìn)行導(dǎo)航快捷、方便。由此,則需將平面坐標(biāo)轉(zhuǎn)換為WGS84大地坐標(biāo)。目前,大多工程建設(shè)采用國(guó)家統(tǒng)一坐標(biāo)系,國(guó)家統(tǒng)一坐標(biāo)系轉(zhuǎn)換WGS84大地坐標(biāo),目前有很多軟件工具都能實(shí)現(xiàn),本文開(kāi)發(fā)的導(dǎo)航坐標(biāo)轉(zhuǎn)換軟件也能實(shí)現(xiàn)此功能。但在有些工程中,如鐵路既有線改造、某些地方公路等工程中,仍沿用地方獨(dú)立坐標(biāo)系。本文提出一種將地方坐標(biāo)轉(zhuǎn)換WGS84大地坐標(biāo)的方法,并利用C#語(yǔ)言進(jìn)行程序設(shè)計(jì),進(jìn)行轉(zhuǎn)換并導(dǎo)出谷歌KML格式和奧維互動(dòng)地圖瀏覽器格式,可導(dǎo)入手持GPS和奧維互動(dòng)地圖瀏覽器中進(jìn)行導(dǎo)航。
1.1 公共點(diǎn)轉(zhuǎn)換至WGS84高斯坐標(biāo)
采集多個(gè)公共點(diǎn)(不少于2個(gè))的WGS84大地坐標(biāo),手持GPS、手機(jī)版奧維互動(dòng)地圖瀏覽器均可采集。 將采集的公共點(diǎn)經(jīng)高斯投影坐標(biāo)正算轉(zhuǎn)換至WGS84高斯坐標(biāo),高斯投影坐標(biāo)正算公式見(jiàn)式(1)~式(3)。此步目的是獲取WGS84國(guó)家坐標(biāo)系下的平面坐標(biāo),為將原地方獨(dú)立坐標(biāo)系與國(guó)家坐標(biāo)系統(tǒng)一提供轉(zhuǎn)換基準(zhǔn)。
(1)
(2)
(3)
式中:B——點(diǎn)的緯度;L——點(diǎn)的經(jīng)度;L0——中央子午線經(jīng)度;N——卯酉圈曲率半徑。
1.2 坐標(biāo)相似變換
基于重心的坐標(biāo)相似變換的方法進(jìn)行坐標(biāo)相似變換計(jì)算,將地方獨(dú)立坐標(biāo)系轉(zhuǎn)換至采集的公共點(diǎn)的WGS84高斯坐標(biāo)系,使其與公共點(diǎn)的WGS84坐標(biāo)統(tǒng)一在同一個(gè)坐標(biāo)系統(tǒng)下,此步的目的,是將原地方獨(dú)立坐標(biāo)轉(zhuǎn)換為WGS84的國(guó)家統(tǒng)一坐標(biāo),可按相關(guān)參數(shù)進(jìn)行高斯投影坐標(biāo)反算WGS84大地坐標(biāo)。假設(shè)采集了n個(gè)公共點(diǎn),其在地方獨(dú)立坐標(biāo)系和WGS84坐標(biāo)系中的坐標(biāo)分別為(Xi,Yi)和(xi,yi),其中i=1,2,3,…,n,對(duì)應(yīng)的兩個(gè)坐標(biāo)系的重心坐標(biāo)計(jì)算公式見(jiàn)式(4)。
(4)
轉(zhuǎn)換參數(shù)計(jì)算公式見(jiàn)式(5):
(5)
坐標(biāo)轉(zhuǎn)換關(guān)系式見(jiàn)式(6):
(6)
1.3 高斯坐標(biāo)反算轉(zhuǎn)換WGS84大地坐標(biāo)
將經(jīng)過(guò)相似變換的高斯坐標(biāo),經(jīng)高斯投影坐標(biāo)反算轉(zhuǎn)換至WGS84大地坐標(biāo),進(jìn)而導(dǎo)入手持GPS、奧維互動(dòng)地圖瀏覽器進(jìn)行導(dǎo)航。
高斯投影坐標(biāo)反算公式見(jiàn)式(7),式(8)。
(7)
(8)
其中,L0為中央子午線經(jīng)度;Bf為底點(diǎn)緯度,當(dāng)x=X時(shí)的子午線弧長(zhǎng)所對(duì)應(yīng)的緯度。
坐標(biāo)轉(zhuǎn)換計(jì)算過(guò)程復(fù)雜,計(jì)算量大,很難通過(guò)人工計(jì)算實(shí)現(xiàn)。利用程序能快速準(zhǔn)確的進(jìn)行數(shù)據(jù)處理計(jì)算,本文采用C#語(yǔ)言進(jìn)行程序設(shè)計(jì)開(kāi)發(fā),并具有輸出谷歌KML格式、奧維互動(dòng)地圖瀏覽器格式,能方便的導(dǎo)入到手持GPS、奧維互動(dòng)地圖中,進(jìn)行導(dǎo)航。
2.1 流程設(shè)計(jì)
根據(jù)以上坐標(biāo)轉(zhuǎn)換方法,進(jìn)行地方獨(dú)立坐標(biāo)轉(zhuǎn)換為大地坐標(biāo),數(shù)據(jù)處理流程設(shè)計(jì)見(jiàn)圖1。
2.2 類模塊設(shè)計(jì)
主要分為以下四個(gè)類模塊:1)角度轉(zhuǎn)換類(AngleCoversion),為了讀取、輸入方便,程序中經(jīng)緯度均采用“度.分秒”格式顯示角度。此類則主要實(shí)現(xiàn)從“度.分秒”到度、弧度的互轉(zhuǎn)。2)坐標(biāo)轉(zhuǎn)換類(CoordinatesCoversion),此類主要實(shí)現(xiàn)高斯正反算、空間直角坐標(biāo)系到大地坐標(biāo)系的互轉(zhuǎn)。3)數(shù)據(jù)輸出類(DataOut),主要實(shí)現(xiàn)Excel格式、谷歌Kml格式、奧維互動(dòng)地圖瀏覽器格式文件的輸出。
2.3 主要程序代碼設(shè)計(jì)
本文采用基于坐標(biāo)重心的坐標(biāo)相似變換的計(jì)算方法,此方法計(jì)算簡(jiǎn)單,程序?qū)崿F(xiàn)較為便捷,轉(zhuǎn)換精度完全滿足需要,以下為坐標(biāo)相似變換的主要代碼:
double yX = 0, xY = 0, xX = 0, yY = 0, XX = 0, YY = 0;//定義轉(zhuǎn)換參數(shù)元素
foreach (var v in OldCorrectionPoint)
{
foreach (var ov in CorrectionPoint)
{
if (ov.id == v.id)
{
yX += (ov.Y - y0) * (v.X - X0); xY += (ov.X - x0) * (v.Y - Y0);
xX += (ov.X - x0) * (v.X - X0); yY += (ov.Y - y0) * (v.Y - Y0); XX += (v.X - X0) * (v.X - X0); YY += (v.Y - Y0) * (v.Y - Y0);
}
}
}
double Ka = (xX + yY) / (XX + YY);//計(jì)算轉(zhuǎn)換參數(shù)Ka double Kb = (yX - xY) / (XX + YY);//計(jì)算轉(zhuǎn)換參數(shù)Kb double X1 = x0 - Ka * X0 + Kb * Y0;//計(jì)算X平移量 double Y1 = y0 - Ka * Y0 - Kb * X0;//計(jì)算Y平移量 foreach (var v in OldPoint)
{
double NewX = X1 + Ka * v.X - Kb * v.Y;// X1 + Ka * v.X - Kb* v.Y; double NewY = Y1 + Ka * v.Y + Kb * v.X;//Y1 + Ka * v.Y + Kb * v.X; p.id = v.id; p.X = NewX; p.Y = NewY; NewPoint.Add(p);
}
表1 轉(zhuǎn)換比較結(jié)果
以某鐵路增建二線工程為例,標(biāo)段長(zhǎng)度約為47 km。此工程由于老線采用的是地方獨(dú)立坐標(biāo)系,是由國(guó)家坐標(biāo)系通過(guò)旋轉(zhuǎn)、平移而得到。增建二線施工為了與老線更好的銜接,沿用原地方獨(dú)立坐標(biāo)系。此工程線路起伏較大,或山高坡陡、峽谷深切、懸崖峭壁;或山嶺連綿、峰巒疊嶂、溝深壑險(xiǎn)、道路崎嶇。山路岔路較多,找點(diǎn)較困難,借助手持GPS或奧維互動(dòng)地圖瀏覽器進(jìn)行導(dǎo)航能方便快速到達(dá)測(cè)量樁點(diǎn)點(diǎn)位。則需將設(shè)計(jì)單位提交的地方獨(dú)立坐標(biāo)轉(zhuǎn)換為WGS84大地坐標(biāo)。
采用分布在標(biāo)段首尾2個(gè)公共點(diǎn)(CPI31,CPI48)的靜態(tài)GPS觀測(cè)的WGS84大地坐標(biāo)進(jìn)行轉(zhuǎn)換后,與靜態(tài)觀測(cè)的WGS84大地坐標(biāo)進(jìn)行比較,見(jiàn)表1。
由表1可見(jiàn),與靜態(tài)觀測(cè)的WGS84大地坐標(biāo)較差很小,說(shuō)明轉(zhuǎn)換后精度很高。由于本文是為了測(cè)試轉(zhuǎn)換精度,公共點(diǎn)的WGS84坐標(biāo)采用的也是靜態(tài)觀測(cè)數(shù)據(jù)中的WGS84大地坐標(biāo)進(jìn)行轉(zhuǎn)換。實(shí)際使用中使用手持GPS或手機(jī)版奧維地圖瀏覽器采集的WGS84大地坐標(biāo)較低,轉(zhuǎn)換精度自然稍差,但是用于導(dǎo)航尋找測(cè)量點(diǎn)位,精度完全可以滿足需要。
本文提出的地方獨(dú)立坐標(biāo)轉(zhuǎn)換WGS84坐標(biāo)轉(zhuǎn)換的方法精度高,最終轉(zhuǎn)換精度取決于公共點(diǎn)的WGS84大地坐標(biāo)的精度。使用手持GPS、手機(jī)版奧維地圖采集公共點(diǎn)的WGS84大地坐標(biāo)進(jìn)行轉(zhuǎn)換的精度可滿足導(dǎo)航尋找測(cè)量點(diǎn)位的需要,公共點(diǎn)個(gè)數(shù)不應(yīng)少于2個(gè)。C#程序設(shè)計(jì)能免于手工進(jìn)行復(fù)雜的計(jì)算,大大提高測(cè)量計(jì)算的效率。本文設(shè)計(jì)的導(dǎo)航坐標(biāo)轉(zhuǎn)換軟件具有國(guó)家統(tǒng)一坐標(biāo)、地方獨(dú)立坐標(biāo)轉(zhuǎn)換WGS84大地坐標(biāo),并輸出谷歌Kml格式、奧維互動(dòng)地圖瀏覽器格式的功能,使用快捷、方便。
[1] 孔祥元,梅是義.控制測(cè)量學(xué)(下冊(cè))[M].第2版.武漢:武漢大學(xué)出版社,2006.
[2] 聶國(guó)富,張金榮.基于赫爾模特模型坐標(biāo)轉(zhuǎn)換的計(jì)算及精度評(píng)價(jià)方法[J].西部探礦工程,2011(1):159-164.
[3] 李青岳,陳永奇.工程測(cè)量學(xué)[M].北京:測(cè)繪出版社,1995.
[4] 蔣小軍,宋占峰,吳清華.地方獨(dú)立坐標(biāo)系與WGS-84坐標(biāo)系轉(zhuǎn)換方法及應(yīng)用[J].鐵道勘察,2010(4):8-13.
[5] 李連偉,榮燕妮.WGS84和BJ54坐標(biāo)轉(zhuǎn)換問(wèn)題探討[J].測(cè)繪與空間地理信息,2004(2):43-45.
[6] 徐仕琪,張曉帆,周可法,等.關(guān)于利用七參數(shù)法進(jìn)行WGS-84和BJ-54坐標(biāo)轉(zhuǎn)換問(wèn)題的探討[J].測(cè)繪與空間地理信息,2007(10):33-42.
[7] 廖超明,姜衛(wèi)平,覃允森.一種有效的WGS-84坐標(biāo)系與地方坐標(biāo)系轉(zhuǎn)換方法[J].測(cè)繪通報(bào),2008(3):18-21.
[8] 韓雪培,廖邦固.地方坐標(biāo)系與國(guó)家坐標(biāo)系轉(zhuǎn)換方法探討[J].測(cè)繪通報(bào),2004(10):20-22.
[9] 張麗娜,楊志強(qiáng),歐 龍,等.手持式GPS定位誤差的研究[J].工程地球物理學(xué)報(bào),2006(12):478-483.
[10] 張思祥,湯 濤,康東升,等.手持GPS和Google Earth軟件在線路選線中的應(yīng)用[J].電力建設(shè),2008(5):37-39.
Local independent coordinate transformation WGS84 geodetic coordinate method and program design
Wang Kaosheng Guo Ping
(ChinaRailwayNo.2BureauGroupCo.,Ltd,Chengdu610031,China)
Introduces the method of transforming WGS84 geodetic coordinate in the local independent coordinate, undertakes the program design and development with C# language, so as to solve the problem in navigating the measured points with GPS or Ovi interactive map explorer.
local independent coordinate, geodetic coordinate, coordinate transformation
1009-6825(2017)01-0215-03
2016-10-25
王靠省(1983- ),男,工程師
P258
A