导航型GPS在野外查验地形图中的应用

2014-04-17 08:56廖建昌王文杰覃泽颖
地理空间信息 2014年1期
关键词:字段控件串口

廖建昌,王文杰,黄 鹰,覃泽颖

(1. 融安县国土资源局,广西 融安 545400;2. 桂林理工大学 测绘地理信息学院,广西 桂林541004)

导航型GPS在野外查验地形图中的应用

廖建昌1,王文杰2,黄 鹰2,覃泽颖2

(1. 融安县国土资源局,广西 融安 545400;2. 桂林理工大学 测绘地理信息学院,广西 桂林541004)

在分析导航型GPS数据的基础上,针对其坐标在电子地形图中实时定位显示的方法及不同坐标系之间转换的问题,提出了一种外业采用导航型GPS接收机配合便携电脑进行野外查图的新方法。实践证明,该方法大大缩短了野外识图与判读时间,降低了查图成本,提高了工作效率。

导航型GPS;CAD开发;查图

传统查图工作往往是将编辑好的电子图利用绘图仪打印出来,然后带到实地进行逐一对照检查。当测区范围较大时,不仅需要打印大量的图纸初稿,而且在较空旷的野外或较隐蔽的区域查图巡视时,判读与识图相对较为困难,实时性较差,甚至有时会发生错误。因此,在验收时常见的做法是:检查人员需测制该区域内地形图的测量人员陪同前往,以尽可能避免上述情况的发生。

1 导航型GPS数据接收

1.1 导航型GPS数据格式

为了在不同的GPS导航设备中建立统一的标准,美国国家海洋电子协会(NMEA)制定了NMEA协议,其中NMEA-0183协议是目前使用最为广泛的一种[1]。导航型GPS具有蓝牙功能,能输出采用ASCII码的NMEA 0183格式的定位数据。本文采用其中的“$GPGGA”信息语句。该数据典型的格式如下:

$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04 ,24.4,19.7,M,,,,0000*1F

具体的字段描述见表1。

1.2 通过蓝牙接收数据

蓝牙通信作为一种短距离的无线通信技术标准已非常普及,完全适合于蓝牙GPS接收机与笔记本电脑之间进行数据通信。笔记本电脑的蓝牙通信一般是通过虚拟串口与GPS连接的。其主要工作是找出电脑蓝牙模块模拟出的对应串口,并在找到对应的串口后,从中读取GPS数据。其具体步骤为:

1)建立蓝牙GPS与电脑蓝牙之间的连接,此时电脑的蓝牙管理器把蓝牙GPS与电脑之间的连接虚拟成一个串口;

2)利用vb.net开发平台提供的串口通信控件,设置串口号、波特率、数据位等参数;

3)使用串行口通信控件打开串口,并依次读入GPS定位数据,通过电脑与蓝牙GPS的通信,电脑能接收到实时的定位信息,即WGS84坐标系的经纬度坐标。

表1 GPGGA数据描述表

2 坐标变换

要利用GPS进行定位,首先从$GPGGA数据中提取经纬度信息,通过大地坐标正算转换为高斯平面直角坐标。当测图坐标系为国家80坐标系时,因为导航定位要求精度不高,可无需转换直接定位;但对于测图坐标系是独立坐标系或者其他情况,需将WGS84坐标转换为地方独立坐标后进行定位,以避免导航结果与实测电子图偏离过大而达不到导航效果。

3 在AutoCAD 中的定位应用

定位的实现方法是移动图形中的指定点(定位点)到CAD屏幕区域的中心,具体实现步骤如下:

1)连接CAD。

AcadApp = GetObject(, "AutoCAD.Application")

If Err.Number Then

Err.Clear()

AcadApp = CreateObject("AutoCAD.Application")

If Err.Number Then

MsgBox("不能运行AutoCAD,请检查是否安装了AutoCAD")

Exit Sub

End If

End If

AcadApp.Visible = True ′界面可视

AcadApp.WindowState = Autodesk.AutoCAD.Interop.Common.AcWindowState.acMax ′界面最大化

AppActivate(AcadApp.Caption) ′显示AutoCAD界面

创建一个新图层,名为“行走轨迹”:

Dim layerObj As Common.AcadLayer

layerObj = AcadApp.ActiveDocument.Layers.Add("行走轨迹")

将“行走轨迹”图层的颜色指定为红色

layerObj.color = Common.ACAD_COLOR.acRed

��定位数据。在串口控件的Data

事件中实现数据的读取计算及定位。

str = Me.SerialPort.ReadLine() ‘读取串口数据

If InStr(str, "GPGGA") <> 0 Then ‘读取GPGGA数据

Dim strSplit() As String = str.Split(",")

dblLatitude = strSplit(2) ‘读取字段2的纬度

dblLongitude =strSplit(4) ‘读取字段4的经度

intGSPstate = strSplit(6) ‘读取字段6的GPS状态

intSatelliteNumber =strSplit(7) ‘读取字段7的可用卫星数

end

xy = Prozs(intProZoom, lat, lon) ‘大地坐标正算函数

3)定位。CAD中的ZoomCenter方法可有效用于调整对象大小并将对象移动到视口的中心。

绘制一个圆形,显示定位的位置:

Dim circleObj As Common.AcadCircle

circleObj.Delete() 圆根据定位坐标实时移动,删除上一次所绘

circleObj = AcadApp.ActiveDocument.ModelSpace.AddCircle(Center, radius) 重绘圆

circleObj.Layer = "行走轨迹" 将指示圆放在行走轨迹图层

AcadApp.ZoomCenter(Center, magnification) Center为定位点坐标数组,magnification为缩放比例.

4)行走轨迹绘制。

动态定义一个轨迹坐标数组:

ReDim Preserve dblRouteXY(intRoutenum * 2 + 1)

dblRouteXY(intRoutenum * 2) = x

dblRouteXY(intRoutenum * 2 + 1) = y

绘制一条多段线作为行走轨迹:

lwpolyObj =

AcadApp.ActiveDocument.ModelSpace.AddLightWei ghtPolyline(dblRouteXY)

lwpolyObj.Layer = "行走轨迹"

lwpolyObj.color = Common.ACAD_COLOR.acByLayer ‘轨迹线颜色为随层

lwpolyObj.Lineweight = 50 ‘设置线宽

5)在CAD中创建自定义菜单与工具条。

自定义菜单:

Dim currMenuGroup As Autodesk.AutoCAD.Interop.AcadMenuGroup

currMenuGroup = AcadApp.Application.MenuGroups.Item(0)

Dim newMenu As Autodesk.AutoCAD.Interop.AcadPopupMenu

newMenu = currMenuGroup.Menus.Add("GPS定位(&B)")

Dim newMenuItem1 As Autodesk.AutoCAD.Interop.AcadPopupMenuItem

Dim openMacro1 As String

定义菜单宏:

openMacro1 = Chr(3) & Chr(3) & "shell" & Chr(13) & "导航查图.exe" & Chr(13)

4 系统的运行与实现

4.1 软硬件平台

系统开发时使用的测试平台是松下CF-18型军用笔记本,如图1所示,其优点是可触屏操作,在阳光条件下屏幕依然显示较为清晰;系统采用基于.NET平台对AutoCAD进行二次开发,可充分利用.NET 的各种优势,在保证功能强大的前提下大大提高开发速度,并且vb.net的串口控件SerialPort使串口操作变得简单。

4.2 系统运行

启动AutoCAD, 打开所需查图范围内的电子地图,加载开发的软件模块,在CAD下拉菜单中自动添加上GPS菜单、工具条如图2所示。

图1 F-18型军用笔记本

图2 GPS菜单、工具条

串口通信部分的参数在连接设置页面上选择,见图3,在定位信息界面显示经纬度等信息,可选择是否显示行走轨迹,如图4所示。

图3 连接设置

图4 定位信息显示

对于独立坐标系,本系统提供了坐标转换功能(见图5),可直接输入坐标转换参数;或用现场测量的数据求解出四参数,测量界面如图6。

图5 坐标转换设置

图6 点位测量

图7为定位的效果,蓝线为行走轨迹,蓝色圆表示当前所在位置。根据测试,蓝牙GPS适配器定位精度一般在5 m左右,此精度可满足查图的概略定位。

图7 行走轨迹绘制及定位点显示图

5 结 语

利用导航型GPS配合便携电脑在野外实时定位查图,既节省了打印图纸的开支又避免了使用图纸查图在野外确定所处位置困难的麻烦。本方法在几个测区的实际查图应用表明,在野外能够快速确定当前所在位置,行走轨迹能够记录且清晰表明已查图的行走路径,避免了重复检查与遗漏现象发生。通过该方法还可应用于外业调绘等其他需要实时识图领域,对外业快速识图与判读均有较好的效果。

[1] 胡辉.GPS数据采集软件的实现[J].全球定位系统, 2008(1): 25-30

[2] 曹婷婷,高玉. GPS中NMEA-0183协议的应用[J].电子工程师,2006,32(10):8-11

[3] 秦永.遥感影像支持的实时导航应用研究[J].测绘科学,2008,33(5):164-165

[4] 张晋西.Visual Basic.NET二次开发AutoCAD范例精解[M].北京:清华大学出版社,2004

[5] 陈明,郭际明,叶岚.利用蓝牙技术传输GPS数据[J].测绘信息与工程,2008,33(2):8-9

[6] 付晓玲,吴洁明,佃来.基于蓝牙GPS 的移动GIS系统解决方案[J].计算机工程与设计,2009,30(2):299-301

[7] 张增华,程明霄.基于Windows Mobile 的蓝牙GPS 数据采集方法的改进[J].微计算机信息,2007,23(6):197-199

P228.42

B

1672-4623(2014)01-0137-03

10.11709/j.issn.1672-4623.2014.01.047

廖建昌,研究方向为工程测量。

2012-04-24。

猜你喜欢
字段控件串口
图书馆中文图书编目外包数据质量控制分析
浅谈AB PLC串口跟RFID传感器的通讯应用
基于.net的用户定义验证控件的应用分析
关于.net控件数组的探讨
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述
关于CNMARC的3--字段改革的必要性与可行性研究