欢迎来到天天文库
浏览记录
ID:6342973
大小:323.00 KB
页数:10页
时间:2018-01-10
《关于mapxmobile的gps自动导播系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于MapXMobile的GPS自动导播系统作者:凌鲲马晓东指导老师:王震宇摘要文章以EmbeddedVisualC++4.0为开发环境,将Maplnfo公司提供的地图控件MapXMobile嵌入其中,开发了以信息工程学院校园为背景的GPS自动导播系统。文中重点介绍了应用MapXMobile实现校园地图的嵌入、显示、缩放、漫游的方法,以及GPS实时定位、路线回放和自动导播的方法。关键词EVC++MapXMobileGPS导航自动导播1.引言基于位置信息来提供个性化信息服务在当前社会生活中起着越来越大的作用。目前市场上已
2、出现大量不带视频显示的自动导播系统,其成本低,但仅凭语音服务已不能满足人们越来越高的需求。结合位置信息提供音视频等多媒体信息服务,提供定位、路线咨询等个性化服务的自动导播机已是市场所趋。GPS自动导播系统正是为了解决上述问题而产生的。GPS自动导播系统是一个可随身携带的嵌入式系统软件,以PDA为应用平台,能根据当前位置的GPS定位信息来播放解说视频资料。结合电子地图对使用者提供位置查询和旅游线路回放等功能。本文以信息工程学院校园为背景,利用EmbeddedVisualC++的开发环境,将Maplnfo公司提供的嵌入式地
3、图控件MapXMobile嵌入其中,设计了一套基于信息工程学院校园为背景的自动导播软件。它可以进行GPS实时定位,实现游览路线回放,景点自动导播等功能。2.MapXMobile简介MapX是国际地理信息系统软件公司MapInfo的主要产品之一,是一个功能强大的ActiveX控件,它基于MapInfo的地图化技术,以控件的方式提供了对象连接与嵌入式的开发方案。MapX支持Windows下绝大多数标准的可视化开发环境,如VisualBasic、VisualC++、Delphi等。编程人员可以选用自己所熟悉的开发语言,将地图
4、应用功能嵌入到应用软件中。MapInfoMapXMobile是MapX的嵌入式版本,是一个可以用在PocketPC系统上的MapX控件库平台。可以让开发人员开发移动软件,能够和PocketPC的WinCE操作系统兼容,单独在设备上运行。3.软件功能模块设计GPS自动导播系统软件的功能模块结构如图1所示:图1功能模块图地图显示:通过MapXMobile控件将校园图嵌入到系统界面中,并可实现地图的放大、缩小、漫游等功能。数据处理:通过串口从GPS模块读取字符流数据,并依照NMEA0183标准协议对数据进行解析,得出当前经纬
5、度坐标等信息。信息反馈:依据数据处理中得出的经纬度坐标在地图上图形化显示当前位置和经过路线,并根据当前位置判断是否进行自动播报以及实现路线回放。4.地图生成首先,在MapInfo环境下对位图格式的地图进行数字化。以校园图为例,在校园内实地测量并记录若干点的经纬度坐标,而后在MapInfo软件平台上载入jpg格式的校园图,并在此校园图上进行坐标定点,将先前测量的坐标值录入地图,生成若干图层文件,从而实现地图的数字化。操作界面如图2所示:图2地图数字化地图经过数字化之后,运行MapXMobile下的GeosetManage
6、r应用程序.新建一个Geoset文件,将上述图层添加进去。组成一个后缀为gst的地图文件:school.gst,然后把此地图文件复制到PDA的“MyDocumentsMyPictures”目录下,以便程序进行调用。4.软件功能模块实现5.1地图的显示按以下步骤实现地图的显示:(1)在CMapxmobile01View.h头文件中加入MapX.h,并声明CMapX类型的变量m_ctrlMapX,如下:#include"MAPX.H"classCMapxmobile01View:publicCView{protecte
7、d:CMapxmobile01View();DECLARE_DYNCREATE(CMapxmobile01View)virtual~CMapxmobile01View();CMapXm_ctrlMapX;//mapx对象……}(2)通过类向导创建消息映射函数WM_CREATE,然后添加函数OnCreate(),创建mapX对象,并调用自定义的OnMapOpen()函数打开缺省校园图。部分代码如下:intCMapxmobile01View::OnCreate(LPCREATESTRUCTlpCreateStruct){i
8、f(CView::OnCreate(lpCreateStruct)==-1)return-1;……BOOLb=m_ctrlMapX.Create(NULL,WS_VISIBLE,CRect(0,0,100,100),this,IDC_MAP,NULL,FALSE,NULL);//创建地图对象……m_ctrlMapX.GetTitl
此文档下载收益归作者所有