[摘要]介紹直接將GPS定位信息輸入計(jì)算機(jī)進(jìn)行高斯變換,以快速準(zhǔn)確獲取炮兵所需的定位信息的原理和方法。
[關(guān)鍵詞]GPS定位 高斯變換
中圖分類號:TP2 文獻(xiàn)標(biāo)識碼:A 文章編號:1671-7597(2009)0110067-01
一、引言
目前很多型號的GPS定位儀只接收和顯示定位點(diǎn)的經(jīng)緯度球面坐標(biāo)信息,而很多實(shí)用場合需采用平面直角坐標(biāo),如
炮兵射擊計(jì)算。這是一個(gè)球面坐標(biāo)到平面坐標(biāo)的非線性變換。利用計(jì)算機(jī)編程接收并提取GPS定位信息,經(jīng)高斯變換求解比現(xiàn)行方法更快速準(zhǔn)確。也為進(jìn)一步直接在電子地圖上定位導(dǎo)航、炮兵射擊諸元的快速計(jì)算、作戰(zhàn)方案標(biāo)圖等創(chuàng)造了條件。
二、實(shí)現(xiàn)原理
GPS定位儀通過RS-232接口電路接入筆記本電腦,由監(jiān)控程序?qū)崟r(shí)接收,經(jīng)高斯變換程序求解,獲取炮兵所需的定
位信息,再由后續(xù)程序在電子地圖上定位導(dǎo)航、進(jìn)行炮兵射擊諸元[1]的快速計(jì)算、作戰(zhàn)方案標(biāo)圖等其它操作。
三、GPS定位信息的接收與提取
根據(jù)GPS通信的NEMA0183協(xié)議,其中$GPRMC幀的數(shù)據(jù)結(jié)構(gòu)為:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,
結(jié)構(gòu)中<3>和<5>即為緯度和經(jīng)度數(shù)據(jù),數(shù)據(jù)格式為ddmm..mmm和dddmm..mmm,通過MSComm控件可接收和提取緯度和經(jīng)度數(shù)據(jù),其程序?yàn)椋?/p>
Private Sub MSComm1_OnComm()
Dim str1 As String
Dim ch As String
Dim j%,i%
Dim bi As Integer '對$GPRMC后逗號計(jì)數(shù)
Select Case MSComm1.CommEvent
Case comEvReceive
str1 = Trim(MSComm1.Input) '接收到的數(shù)據(jù)存入str1串
j = InStr(1, str1, "$GPRMC")'從str1串中查找串"$GPRMC"
If j < 1 Then
Text1.Text = "此次讀失敗"
Else
str1 = Right(str1, Len(str1) - j + 1)
j = Len(str1)
For i = 1 To j
ch = Mid(str1, i, 1)
If ch = "," Then bi = bi + 1
Else
If bi = 3 Then cw2 = cwd & ch '第三個(gè)逗號后是緯度數(shù)據(jù)
If bi = 5 Then cj2 = cjd & ch '第五個(gè)逗號后是緯度數(shù)據(jù)
If bi = 6 Then Exit For
End If
Next i
MSComm1.InBufferCount = 0'清空緩沖區(qū)
End If
End Select
End Sub
四、高斯變換方法
從球面坐標(biāo)轉(zhuǎn)換到平面坐標(biāo),我國平面直角坐標(biāo)地圖采用的是經(jīng)差60分帶法,將全球分為60個(gè)帶,按高斯克呂格投影繪制,每投影帶的中央經(jīng)線為縱軸(X軸),赤道為橫軸(Y軸),其投影變換的主要程序如下[2]:
Private Sub getxy()
b = Len(cwd)
wd = Val(Left(cwd, 2)) + Val(Right(cwd, b - 2)) / 60
b = Len(cjd)
jd = Val(Left(cjd, 3)) + Val(Right(cjd, b - 3)) / 60
wd = wd * 3.141592654 / 180
co = Cos(wd)
si = Sin(wd)
jd = jd * 3.141592654 / 180
m1 = jd * co
m = m1 ^ 2
t = Tan(wd)
n = 0.0067395018195 * co ^ 2
k = 6399596.65198801 / Sqr(1 + n)
z = 6367554* wd - (32009.8575 * si + 133.9602 * si ^ 3
+ 0.6976 * si ^ 5 + 0.0039 * si ^ 7) * co
x = z + k * t * (0.5 + (5 - t ^ 2 + 9 * n + 4 * n^ 2) * m/24
+ (61 - 58 * t ^ 2 + t ^ 4) * m ^ 2 / 720) * m
y = 500000 + k * (m1 + (1 - t ^ 2 + n) * m1 ^ 3 / 6 + (5 - 18 * t ^ 2 + t ^ 4 + 14 * n - 58 * n * t ^ 2) * m1 ^ 5 / 120)
Text2.Text = "縱坐標(biāo)x =" & x & ",橫坐標(biāo)=" &y
End Sub
程序中jd、wd為從GPS信息中提取到的經(jīng)度和緯度數(shù)值,x、y為經(jīng)投影變換得到的平面直角坐標(biāo)值。以上程序操作只需按一鍵即可完成,再接入測角測距儀數(shù)據(jù),配上相關(guān)圖庫和射表數(shù)據(jù)庫,大大提高了迫擊炮機(jī)動射擊的精度與速度。
參考文獻(xiàn):
[1]總參兵種部,《陸軍炮兵射擊教程》,北京:解放軍出版社,1995.
[2]總參炮兵部,《軍事地形學(xué)》,北京:解放軍出版社,1988.
作者簡介:
楊水根,南昌陸軍學(xué)院科文教研室教授。