朱向榮
(1. 武警黃金第八支隊(duì),新疆 烏魯木齊 830057)
手持式GPS儀點(diǎn)位數(shù)據(jù)的批量導(dǎo)入方法
朱向榮1
(1. 武警黃金第八支隊(duì),新疆 烏魯木齊 830057)
以Garmin's 72手持式GPS儀為例,討論了點(diǎn)位數(shù)據(jù)向GPS儀批量導(dǎo)入的原理,并給出了利用Excel表格進(jìn)行計(jì)算并輸出GPS交換格式文件的具體解決方案。本方法具有數(shù)據(jù)處理自動(dòng)化、精度可靠的特點(diǎn),適合物化探測(cè)量中大批量點(diǎn)位數(shù)據(jù)的處理。
GPS;點(diǎn)位數(shù)據(jù);導(dǎo)入;交換格式文件
目前,在地勘單位手持式GPS儀已成為標(biāo)準(zhǔn)配置,尤其在大面積物化探測(cè)量中利用其進(jìn)行測(cè)點(diǎn)的放樣定位具有相當(dāng)大的優(yōu)勢(shì)。但針對(duì)圖上設(shè)計(jì)點(diǎn)位如何快速導(dǎo)入GPS儀這個(gè)問(wèn)題,各個(gè)單位方法不盡相同。本人結(jié)合實(shí)際,總結(jié)出了利用Excel表格進(jìn)行計(jì)算并輸出Mapsource軟件的GPS交換格式文件的具體解決方案。
1.1 手持式GPS儀工作原理
利用手持式GPS儀進(jìn)行導(dǎo)航定位時(shí),其內(nèi)部對(duì)衛(wèi)星信號(hào)的解算采用的是WGS84坐標(biāo)系統(tǒng),成果是經(jīng)緯度及海拔高程,再通過(guò)用戶設(shè)置的改正參數(shù)將其反算至用戶坐標(biāo)系統(tǒng)進(jìn)行保存(一般地勘工作中均設(shè)置成高斯平面直角坐標(biāo)進(jìn)行保存)。在Garmin's 72配套軟件Mapsource中,設(shè)置好與手持GPS儀一致的參數(shù)后,就可進(jìn)行計(jì)算機(jī)與GPS儀的數(shù)據(jù)交換。通過(guò)對(duì)交換格式文件的分析,本人注意到,其中的點(diǎn)位坐標(biāo)數(shù)據(jù)均為GPS儀內(nèi)部運(yùn)算數(shù)據(jù),即以(°)為單位的WGS84經(jīng)緯度坐標(biāo)。這就意味著,用戶要將用戶坐標(biāo)系統(tǒng)中高斯平面直角坐標(biāo)導(dǎo)入GPS儀,除采用在GPS儀上手動(dòng)輸入坐標(biāo)外,必須先將其根據(jù)設(shè)置的改正參數(shù)換算到WGS84經(jīng)緯度坐標(biāo),然后編成交換文件導(dǎo)入GPS儀。前者速度慢、容易出錯(cuò),后者雖能批量導(dǎo)入數(shù)據(jù),但對(duì)不了解坐標(biāo)系統(tǒng)轉(zhuǎn)換原理的普通用戶來(lái)說(shuō)是一件很麻煩的事。
1.2 不同坐標(biāo)系統(tǒng)與WGS84的轉(zhuǎn)換原理[1]
當(dāng)前地質(zhì)工作中常用的地理底圖其坐標(biāo)系統(tǒng)基本有兩種:54北京坐標(biāo)系或80西安坐標(biāo)系。將WGS84坐標(biāo)系與這兩種坐標(biāo)系進(jìn)行轉(zhuǎn)換的標(biāo)準(zhǔn)程序一般需要5個(gè)環(huán)節(jié):①高斯平面直角坐標(biāo)系到大地坐標(biāo)系→②大地坐標(biāo)系到地心坐標(biāo)系→③地心坐標(biāo)系到地心坐標(biāo)系→④地心坐標(biāo)系到大地坐標(biāo)系→⑤大地坐標(biāo)系到高斯平面直角坐標(biāo)系(具體到本文所要解決的問(wèn)題,執(zhí)行到第④環(huán)節(jié)即可)[2-6]。
②環(huán)節(jié)的轉(zhuǎn)換公式如下[3,7]:
其中,(X,Y,Z)為地面點(diǎn)空間直角坐標(biāo);(B,L,H)為其大地坐標(biāo);N為卯酉圈曲率半徑;e為第一偏心率。
③環(huán)節(jié)的簡(jiǎn)化公式(不考慮旋轉(zhuǎn)及尺度因子變化)如下:
其中,(XS,YS,ZS)為地面點(diǎn)在WGS84坐標(biāo)系下的空間直角坐標(biāo);(XT,YT,ZT)為其在用戶坐標(biāo)系下的空間直角坐標(biāo);(dX,dY,dZ)為兩套空間直角坐標(biāo)之差(即GPS儀中所需設(shè)定的改正參數(shù))。
④環(huán)節(jié)的轉(zhuǎn)換公式如下[3]:
其中,a為參考橢球長(zhǎng)半軸;b為參考橢球短半軸;e'為第二偏心率,其他符號(hào)同②環(huán)節(jié)。
1.3 GPS交換格式文件
GPS交換格式文件是Mapsource所能識(shí)別的一種擴(kuò)展名為“.gpx”的文本文件,可將其分為兩部分:第一部分可不作改動(dòng),在所有交換文件中均可直接利用;第二部分才是具體測(cè)點(diǎn)信息,須根據(jù)具體測(cè)點(diǎn)數(shù)據(jù)編制。
第一部分內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="MapSource 6.5" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"><metadata><link href="http:// www.garmin.com"><text>Garmin International</text></ link><time>2013-05-17T13:24:00Z</time><bounds maxlat="48.15" maxlon="88.05" minlat="48.14" minlon="88.05"/></metadata>
第二部分格式如下:
<wpt lat="北 緯" lon="東 經(jīng)" ><ele>高 程</ ele><name>點(diǎn)號(hào)</name><sym>Waypoint</sym></wpt>
<wpt lat="北緯" lon="東經(jīng)"><name>點(diǎn)號(hào)</ name><sym>Waypoint</sym></wpt>
分析GPS交換格式文件結(jié)構(gòu)發(fā)現(xiàn),只要算出測(cè)點(diǎn)的經(jīng)緯度坐標(biāo),然后按其第二部分格式進(jìn)行排列輸出即可,而這樣的功能在Excel表格中利用VBA編程可輕松實(shí)現(xiàn)。如圖1所示,在Excel表格中建立起固定格式的模板,將以上交換文件的第一部分內(nèi)容復(fù)制到“K3”單元格中;在“L2”至“L5”中依次輸入以下內(nèi)容:CGCS2000、西安80、北京54、WGS84;在“M2”、“M3”中分別輸入:是、否;在“K1”中輸入:=IF(J3="是",1,2);在“K2”中輸入:=COUNT(B4:B65536);在“K4”中輸入:";在“L1”中輸入:=IF(B2="CGCS2000",1,IF(B2="西安80",2,IF(B2="北京54",4,5)));對(duì)“B2”設(shè)置數(shù)據(jù)有效性為:來(lái)源于“L2:L5”的序列;對(duì)“J3”設(shè)置數(shù)據(jù)有效性為:來(lái)源于“M2:M3”的序列;賦予表中按鈕相應(yīng)代碼。至此模板制作完成。
圖1 GPS儀上傳數(shù)據(jù)輸出表
將確定好的相關(guān)改正參數(shù)輸入表中,然后將用戶坐標(biāo)系內(nèi)的測(cè)點(diǎn)設(shè)計(jì)數(shù)據(jù)復(fù)制到從“A4”開始的相應(yīng)單元格,按動(dòng)“輸出”按鈕即可批量完成從用戶直角坐標(biāo)到WGS84經(jīng)緯度的計(jì)算及GPS交換格式文件的生成。
按鈕代碼如下:
Private Sub 清空()
Range("A4:D65536").Select
Selection.ClearContents
Range("A3").Select
MsgBox "計(jì)算數(shù)據(jù)已清空!", 48
End Sub
Private Sub輸出()
Dim M1 As Double,M2 As Double,M5 As Double,M6 As Double,M7 As Double
Dim M8 As Double,M9 As Double,M10 As Double, F3 As Integer
Dim N As Double, N2 As Double
Q = Range("G3")
T = Range("H3")
P = Range("I3")
S = Range("K2")
N = Range("F3")
F1 = Range("K4")
F2 = Range("K1")
F3 = Range("L1")
Dim Path1 As String, Path2 As String
Path1 = ActiveWorkbook.FullName
Path2 = Range("E3") & "號(hào)GPS儀上傳數(shù)據(jù).gpx"
Open Path2 For Output As #1
F = Range("K3")
Print #1, F
For I = 1 To S
Range("A3").Select
M = ActiveCell.Offset(I, 0).Range("A1")
M1 = ActiveCell.Offset(I, 1).Range("A1")
M2 = ActiveCell.Offset(I, 2).Range("A1")
M5 = ActiveCell.Offset(I, 3).Range("A1")
M6 = B(M1, M2, N, F3, 0, 0)
M7 = L(M1, M2, N, F3, 0, 0)
If F3 = 5 Then
M3=Round(WorksheetFunction.Degrees(HD(M6)), 8)
M4=Round(WorksheetFunction.Degrees(HD(M7)), 8)
Else
M8 = KX(M6, M7, M5, F3) + Q
M9 = KY(M6, M7, M5, F3) + T
M10 = KZ(M6, M7, M5, F3) + P
M3=Round(WorksheetFunction.Degrees (HD(DB(M8, M9, M10, 5))), 8)
M4=Round(WorksheetFunction.Degrees (HD(DL(M8, M9, M10, 5))), 8)
End If
If M5 = 0 Then
If F2 = 1 Then
F = "<wpt lat=" & F1 & M3 & F1 & " lon=" & F1 & M4 & F1 & "><name>" & "s" & M & "</name>" & "<sym>Waypoint</sym></wpt>"
Else
F = "<wpt lat=" & F1 & M3 & F1 & " lon=" & F1 & M4 & F1 & "><name>" & M & "</name>" & "<sym>Waypoint</sym></wpt>"
End If
Else
If F2 = 1 Then
F = "<wpt lat=" & F1 & M3 & F1 & " lon=" & F1 & M4 & F1 & " ><ele> " & M5 & "</ele><name>" & "s" & M & "</name>" & "<sym>Waypoint</sym></wpt>"
Else
F = "<wpt lat=" & F1 & M3 & F1 & " lon=" & F1 & M4 & F1 & " ><ele> " & M5 & "</ele><name>" & M & "</name>" & "<sym>Waypoint</sym></wpt>"
End If
End If
Print #1, F
Next I
F = "</gpx>"
Print #1, F
Close #1
MsgBox "恭喜您,GPS儀上傳數(shù)據(jù)已成功導(dǎo)出至默認(rèn)文件位置!", 48
End Sub
本法在我部某區(qū)礦調(diào)任務(wù)中得到了驗(yàn)證。該項(xiàng)任務(wù)共設(shè)計(jì)水系沉積物測(cè)量采樣點(diǎn)位4 000多點(diǎn)。每天每個(gè)作業(yè)組在MapGIS圖上劃分作業(yè)范圍后,將該范圍內(nèi)的設(shè)計(jì)點(diǎn)位的點(diǎn)號(hào)、平面坐標(biāo)等屬性輸出為文本并導(dǎo)入Excel表格,然后利用此模板轉(zhuǎn)換成GPS交換格式文件導(dǎo)入GPS儀。此法極大地提高了工作效率,避免了外業(yè)人員手動(dòng)輸入坐標(biāo)容易出錯(cuò)的可能,減輕了作業(yè)人員的勞動(dòng)強(qiáng)度。從使用效果來(lái)說(shuō),本方法具有數(shù)據(jù)處理自動(dòng)化、精度可靠的特點(diǎn),對(duì)作業(yè)人員的要求不高、操作簡(jiǎn)易,適合地勘單位物化探測(cè)量中大批量點(diǎn)位數(shù)據(jù)的處理。
[1] 朱向榮.手持GPS儀改正參數(shù)的內(nèi)業(yè)確定方法[J].地理空間信息,2014,12(4):136-138
[2] 朱向榮.基于Excel VBA的高斯投影計(jì)算解決方案[J].礦山測(cè)量,2012(1):43-45
[3] 國(guó)家測(cè)繪局職業(yè)技能鑒定指導(dǎo)中心.測(cè)繪綜合能力[M].北京:測(cè)繪出版社,2009
[4] 崔明理.控制測(cè)量手冊(cè)[M].太原:山西科學(xué)技術(shù)出版社,1999
[5] 覃輝.測(cè)量程序與新型全站儀的應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006
[6] 羅冰.GPS手持機(jī)坐標(biāo)系統(tǒng)轉(zhuǎn)換參數(shù)的簡(jiǎn)易解算方法[J].地礦測(cè)繪,2003,19(2)∶37-38
[7] 朱向榮.基于Excel VBA的常用測(cè)量計(jì)算問(wèn)題解決方案[J].地理空間信息,2013,11(5):131-133
P245
B
1672-4623(2014)05-0107-03
10.3969/j.issn.1672-4623.2014.05.039
朱向榮 ,工程師,主要從事工程測(cè)量工作。
2013-07-30。