GPS定位信息处理及高斯变换

2009-02-11 10:02杨水根
新媒体研究 2009年1期
关键词:经度炮兵纬度

[摘要]介绍直接将GPS定位信息输入计算机进行高斯变换,以快速准确获取炮兵所需的定位信息的原理和方法。

[关键词]GPS定位 高斯变换

中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2009)0110067-01

一、引言

目前很多型号的GPS定位仪只接收和显示定位点的经纬度球面坐标信息,而很多实用场合需采用平面直角坐标,如

炮兵射击计算。这是一个球面坐标到平面坐标的非线性变换。利用计算机编程接收并提取GPS定位信息,经高斯变换求解比现行方法更快速准确。也为进一步直接在电子地图上定位导航、炮兵射击诸元的快速计算、作战方案标图等创造了条件。

二、实现原理

GPS定位仪通过RS-232接口电路接入笔记本电脑,由监控程序实时接收,经高斯变换程序求解,获取炮兵所需的定

位信息,再由后续程序在电子地图上定位导航、进行炮兵射击诸元[1]的快速计算、作战方案标图等其它操作。

三、GPS定位信息的接收与提取

根据GPS通信的NEMA0183协议,其中$GPRMC帧的数据结构为:

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,

结构中<3>和<5>即为纬度和经度数据,数据格式为ddmm..mmm和dddmm..mmm,通过MSComm控件可接收和提取纬度和经度数据,其程序为:

Private Sub MSComm1_OnComm()

Dim str1 As String

Dim ch As String

Dim j%,i%

Dim bi As Integer '对$GPRMC后逗号计数

Select Case MSComm1.CommEvent

Case comEvReceive

str1 = Trim(MSComm1.Input) '接收到的数据存入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 '第三个逗号后是纬度数据

If bi = 5 Then cj2 = cjd & ch '第五个逗号后是纬度数据

If bi = 6 Then Exit For

End If

Next i

MSComm1.InBufferCount = 0'清空缓冲区

End If

End Select

End Sub

四、高斯变换方法

从球面坐标转换到平面坐标,我国平面直角坐标地图采用的是经差60分带法,将全球分为60个带,按高斯克吕格投影绘制,每投影带的中央经线为纵轴(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 = "纵坐标x =" & x & ",横坐标=" &y

End Sub

程序中jd、wd为从GPS信息中提取到的经度和纬度数值,x、y为经投影变换得到的平面直角坐标值。以上程序操作只需按一键即可完成,再接入测角测距仪数据,配上相关图库和射表数据库,大大提高了迫击炮机动射击的精度与速度。

参考文献:

[1]总参兵种部,《陆军炮兵射击教程》,北京:解放军出版社,1995.

[2]总参炮兵部,《军事地形学》,北京:解放军出版社,1988.

作者简介:

杨水根,南昌陆军学院科文教研室教授。

猜你喜欢
经度炮兵纬度
对时差计算方法的探讨
浅谈朱瑞对炮兵建设的贡献
纬度
炮兵测地训练评估系统的研究与应用
关于正午太阳高度(角)公式的推导
模糊专家理论在炮兵指挥控制系统中的运用
巧用规律妙解“日期变更题”
如何计算地方时