1、基于VC的GPS信息处理摘 要全球定位系统(GPS)是20世纪70年代由美国陆、海、空三军联合研制的空间卫星导航定位系统,其目的是为美国军方提供实时精确的定位、导航和授时等服务。GPS系统由空间星座、地面监控系统、用户接收机三大部分组成。用户通过接收机接收卫星信号,经信号处理而获得三维位置、速度和时间信息,进而实现导航和定位的目的。具有高精度、全天候和全球性的特点,目前这一技术已遍及国民经济各种部门,并开始逐步深入人们的日常生活1。对于用户来说,关键的设备就是用户接收机(GPS接收机)。通常情况下,用户都是用计算机和GPSOEM通信,将GPS定位信息导入计算机然后再处理。而 VC+由于在和GP
2、S接收机的通信及后面的数据处理应用方面的强大功能,成为许多用户开发GPS应用程序的首选开发语言。本文介绍的GPS数据采集程序采用GPS的异步串行传送方式,通过RS-232串行口采集遵循NMEA0183协议的GPS数据。关键词:GPS;导航;MFC;VCBased On VC GPS Information ProcessingAbstractGlobal positioning system (GPS) is in the 1970s by the American land, sea and air forces joint development space satellite navig
3、ation and positioning system, which is designed for the U.S. military to provide real-time accurate positioning, navigation and GPS clock and other services. GPS system by space stellation, ground monitoring system, composed of three most user receiver. The user through receiver, satellite reception
4、 by the signal processing and acquired three-dimensional position, velocity and time information, and achieve the purpose of navigation and positioning. With high precision, all-weather and global characteristics, at present, the technology has been spread all over the national economy various depar
5、tments, and began to develop Peoples Daily life For users, key equipment that the user receiver (GPS receiver). Normally, the user is using computer and GPS - OEM GPS positioning information communication, computer and then deal with imported. And in vc + + because the communications and GPS receive
6、r and the data processing applications behind the powerful functions, become many users of GPS application development first development language. This paper introduces GPS data collection procedures using GPS asynchronous serial transmission of ways, through RS - 232 serial port NMEA0183 agreement
7、followed the collected GPS data Keywords: GPS ;Navigation ;MFC ;VC 28目 录摘 要IAbstractII1前言11.1背景介绍11.1.1研究背景11.1.2面临的问题11.2需求分析21.3研究过程与可行性分析31.3.1研究思路31.3.2可行性分析52 GPS系统概述62.1 GPS系统简介62.2 GPS技术的作用和应用73系统核心技术介绍103.1 MFC技术介绍103.2 NEMA协议113.3 MySql数据库133.4 后续要用到的技术154设计与实现174.1 MFC的相关编辑174.2 串口初始化184.3
8、 OnComm函数194.3.1数据接收194.3.2数据的基础处理194.4数据库224.4.1数据库的连接224.4.2数据库表的设计254.5加载Mapinfo地图265结语与展望275.1结语275.2展望27参考文献28致 谢29基于VC的GPS信息处理1前言1.1背景介绍1.1.1研究背景全球定位系统(Global Positioning System,GPS)是美国国防部于1973年提出,历时20年,耗资200多亿美元建立起来的,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。目前,以GPS为代表的卫星导航应用产业已成为当今国际公认的八大无线产业之一。
9、随着技术的进步、应用需求的增加,GPS以全天候、高精度、自动化、高效率等显著特点及其所独具的定位导航、授时校频、精密测量等多方面的强大功能,已涉足众多的应用领域,使GPS成为继蜂窝移动通信和互联网之后的全球第三个IT经济新增长点。GPS开始进入民用之后,使用者终端的GPS产品便成了当前GPS主要的市场内容。一般来说,GPS的使用者终端主要是指各种用途的GPS接收机,例如用于航空和航海的接收机、汽车导航设备、用于登山和休闲的手持式接收机等类型的终端产品,而一般手持式GPS产品的组成部分,就如同移动电话或个人数字助理(PDA)的结构一样,也包括了内部的天线、芯片组和电池等,以及外部的按键和LCD面
10、板等相关零组件。随着应用范围的扩展,GPS产品也逐渐成为全球无线通信终端市场一项重要的产品,推动GPS产品市场高度成长的主要因素是汽车导航系统和结合无线通信的GPS产品的普及化。市场发展现状GPS卫星导航定位技术于上世纪80年代末引入中国,目前主要在大地测量(测绘、勘探)、海上渔业和车辆定位监控等领域得到了比较广泛的应用。在全球GPS应用领域中,车辆应用所占的比重最大,目前约占总数的40%以上。1.1.2面临的问题目前虽然GPS定位系统在我国发展较快,但还是受到技术、市场规范程度以及价格等方面因素的影响,主要还存在以下几个问题:(1)跟踪系统中存在一些技术上的问题,通信问题一直是个瓶颈问题,包
11、括集群网、GSM公众网以及目前流行的GPRS和CDMA等;另外,在导航系统中,电子地图至今还是一个尚未解决的瓶颈问题,由于这个问题牵涉面很宽,可能还要有个相当长的时间方可完善解决。(2)市场运作存在偏面性,产品力度深度不够。再好的GPS产品也不可能做承担全部的功能。实际需要依据应用场合不同而不同,分门别类地做成系列产品方符合市场客观需求。(3)各家的产品使用不同的通讯协议,产品之间兼容性差,没有建立一个行业性的规范;(4)价格因素车辆定位监控系统的车台售价已经有了大幅度的下调,但是对于最终用户来说,价格问题还是一个制约GPS行业发展的脖颈。1.2需求分析GISGPS目前已被广泛应用于消费与专业
12、领域,应用已从军方领域走向了大众化领域。庞大市场需求推动GISGPS应用产业高速发展,随着社会经济发展,各行各业对地理空间信息的需求日益增加,GISGPS更深入渗透进国土资源、物流以及城市管理等领域,人们出行对于精确导航与定位的需求也使得卫星导航定位技术成为必须。GISGPS技术的出现和发展,正深刻地改变人类的出行方式与对空间的认识。消费领域的GISGPS市场需求旺盛。这一领域应用主要包括消费电子、汽车导航、位置服务。1)消费电子领域:移动终端导航是增长最快的细分市场,手机主频和内存的飞速发展以及移动互联网的普及带动智能手机、GPS手机销量快速增长,预计2010年GPS手机将达到2120万部,
13、同比增长187%,渗透率达到10%。2)汽车导航领域:国内车载导航市场受到汽车销量增长和新车装配率的提升双重驱动,正处于高速增长阶段,预计2012年国内车载导航装配率将达到18.5%。3)位置服务(LBS):LBS被称为移动互联网时代的又一杀手级应用,在手机厂商、LBS软件厂商和运营商的共同推动下将进入快速成长期,未来三年用户数量预计将保持60%以上的增速。GISGPS在专业领域的应用不断深入,伴随电子政务、物流等行业快速发展。今后五年政府领域的GISGPS应用将围绕以数字城市管理为代表的电子政务建设展开,而GISGPS技术是数字城市的重要技术支撑,为城市的综合管理提供高效平台。未来3-5年,
14、数字化城市管理平台的市场容量约为120亿元,基于数字化城市管理平台的数字社区管理和服务系统的市场容量至少达到20亿元。此外,在物流管理领域,利用GISGPS信息系统可实时收集车辆、船只、集装箱及所运货物的动态信息,实现追踪管理;随着全球经济的复苏,当前我国公路货运,水路航运的运量以平均每月10%的速度增加,物流领域对地理信息和位置服务的需求不断提升。GISGPS产业链复杂,涉及基础软件与部件厂商、终端厂商,以及应用开发与系统集成商等。在基础平台软件开发、电子地图、终端、集成应用等领域均存在着巨大市场空间,而在这一产业链中各个环节也存在着优质投资标的。1.3研究过程与可行性分析1.3.1研究思路
15、本课题研究基于的思想是实际问题的调查分析与解决建议方案,所以本课题研究的逻辑顺序概括地说就是:首先通过调查分析,确认目前GPS导航系统的需求与问题,然后在调查的结果上设想所做系统的大概方案,并且试图从理论上分析设想方案的可行性和效用性,接下来就用实验法实际设计实现导航系统,最后进行总结并提出进一步的看法。图1.1 研究思路研究方法在开展论文研究过程中,笔者主要采用了调查、文献、实验等研究方法,简要说明如下:文献研究法:文献研究法是根据一定的研究目的或课题,通过调查文献来获得资料,从而全面地、正确地了解掌握所要研究问题的一种方法。文献研究法被子广泛用于各种学科研究中。其作用有:能了解有关问题的历
16、史和现状,帮助确定研究课题。能形成关于研究对象的一般印象,有助于观察和访问。能得到现实资料的比较资料。有助于了解事物的全貌。调查法:调查法是科学研究中最常用的方法之一。它是有目的、有计划、有系统地搜集有关研究对象现实状况或历史状况的材料的方法。调查方法是科学研究中常用的基本研究方法,它综合运用历史法、观察法等方法以及谈话、问卷、个案研究、测验等科学方式,对GPS需求与现状进行有计划的、周密的和系统的了解,并对调查搜集到的大量资料进行分析、综合、比较、归纳,从而为人们提供规律性的知识。 2010年中国导航电子地图市场趋势预测根据水清木华研究中心2010年2月的调查,35.4%的人认为汽车必须配备
17、导航,34.6%的人认为汽车导航对自己比较重要,说明GPS导航的需求已经很大,而现在受访者中仍有54.52%的人还未装导航,所以GPS导航系统的市场潜力巨大。图1.2 2010年中国导航电子地图市场趋势预测动态交通信息需求动态交通信息成为导航地图功能的需求非常迫切,目前各城市交通拥堵问题越来越严重,日常的上下班或市内出行,几乎不用导航仪帮助寻找道路规划路线,大部分人切实需要的是导航仪可以显示出哪条路更顺畅。当然,除了动态交通信息、上网等功能,导航地图与救援、交通调度等方面的结合也有非常好的前景。图1.3动态交通信息需求2009年便携导航(PND)市场状况2009年中国PND市场销售总量继续呈现
18、快速增长势态。 全年PND使用正版电子地图达到74万套。PND硬件总销售量达到221多万台。图1.4 20042009年PDN市场状况1.3.2可行性分析通过研究发现:在这个信息化的时代,消费电子、汽车导航领域、位置服务(LBS)等领域对GPS导航需求量很大。GPS设备操作简单,价格适中,能为客户提供不可替代的服务,且GPS技术已经很成熟,所以GPS导航系统是可行的。技术可行性 以WindowsXP为操作系统,采用VC+的MFC 框架,运用SQL的数据库技术,设计与开发GPS导航系统。新系统的运行硬件环境PC机,利用GPS接收仪进行GPS信号的采集与处理。经济可行性 系统开发成本低,现有PC机
19、与学校提供的GPS接收仪即可提供该系统开发工作需要的所有硬件设备环境;在GPS接收机和计算机通讯方面,虽然有一些商用软件,但是对于普通用户来说,这些软件的使用费用太高,所以我们选择自主开发接收和处理GPS数据的软件,这样既可以节省开支,又可以根据我们的期望开发软件。操作可行性 使用前只要对用户进行简单的说明或阅读帮助文件即可使用该系统。2 GPS系统概述2.1 GPS系统简介全球定位系统(Global Positioning System,GPS)是美国国防部于1973年提出,历时20年,耗资200多亿美元建立起来的,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。
20、图2.1GPS系统结构GPS导航系统的基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据得到接收机的具体位置。要达到这一目的,卫星的位置可以根据星载时钟所记录的时间在卫星星历中查出GPS定位系统由以下三个部分组成:(1)GPS卫星星座(空间部分)(2)地面监控系统(地面控制部分)(3)GPS信号接收机(用户设备部分)目前共有24颗卫星,由21颗工作卫星和3颗在轨备用卫星组成GPS卫星星座,记作(21+3)GPS星座。位于地平线以上的卫星颗数随着时间和地点的不同而不同,最少可见到4颗,最多可见到11颗。在用GPS信号导航定位时,为了结算测站的三维坐标,必须观测4颗GPS
21、卫星,称为定位星座。GPS的地面监控部分由分布在全球的9个地面站组成,其中包括卫星监测站(5个)、主控站(1个)和注入站(3个)。1、监测站:是主控站直接控制下的数据自动采集中心。观测资料由计算机进行初步处理,存储并传输到主控站,以确定卫星精密轨道。2、主控站:除协调和管理地面监控系统外,3、注入站:主要设备为1台直径3.6m的天线、1台c波段发射机和1台计算机。主要任务是在主控站的控制下,将主控站的卫星星历、钟差、导航电文和其它控制指令等注入到相应卫星的存储系统,并监测注入信息的正确性。GPS接收机接收GPS卫星发射的无线电信号,以获得必要的定位信息和观测量,并经过数据处理而完成定位工作。
22、GPS能为用户提供连续实时、高精度的三维位置、三维速度和时间基准,是一种全球性、全天候、连续的卫星无线电导航系统。在目前世界上所有的卫星定位系统中,GPS是技术最成熟,应用最为广泛的。GPS卫星的基本功能:1 接收和存储由地面监控站发来的导航信息,接收并执行监控站的控制指令。2 利用卫星上的微处理机,对部分必要的数据进行处理。3 通过星载的原子钟提供精密的时间标准。4 向用户发送定位信息。5 在地面监控站的指令下,通过推进器调整卫星姿态和启用备用卫星。NMEA是“National Marine Electronics Association”(国际海洋电子协会)缩写,同时也是数据传输标准工业协
23、会。NMEA实际上已成为GPS接收机最通用的数据输出格式,同时也被用于GPS接收机接口的大多数软件包里。 NMEA-0183是一套定义接收机输出的标准信息 ,该协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。 2.2 GPS技术的作用和应用1、GPS在大地控制测量中的应用GPS定位技术以其精度高、速度快、费用省、操作简便等优良特性被广泛应用于大地控制测量中。我们一般将应用GPS卫星定位技术建立的控制网叫GPS网。归纳起来,大致可以将GPS网分为两大类,一类是全球或全国性的高精度GPS网。另一类是区域
24、性的GPS网,包括城市或矿区GPS网,GPS工程网等。2、GPS在精密工程测量及变形监测中的应用(1)隔河岩水库大坝外观变形GPS自动化监测系统隔河岩水库位于湖北省长阳县境内,是清江中游的一个水利水电工程隔河岩水电站。隔河岩大坝外观变形GPS自动化监测系统于1998年3月投入运行,系统由数据采集、数据传输、数据处理三大部分组成。(2)GPS在机场轴线定位中的应用机场跑道中心轴线方位的精度,按机场等级不同而不同,最高精度应低于1。自1992年开始,国内各城市建立的新机场,其跑道的定向都已采用GPS来施测,如武汉天河国际机场,南京绿口国际机场,济南国际机场,贵阳国际机场等。今年来,GPS还普遍用于
25、电子加速器的工程施工测量,大桥施工控制网建立,海上勘探平台沉降监测,大桥动态实时形变监测,高层建筑实时变形监测。3、GPS在海洋测绘中的应用 a 用GPS技术进行高精度海洋定位 b 中国沿海RBN/DGPS系统 c GPS技术用于建立海洋大地控制网 d GPS在水下地形测绘中的应用GPS在交通系统中的应用随着我国城市建设规模的扩大,车辆日益增多,交通运输的经营管理和合理调度,警用车辆的指挥和安全管理已称为公安、交通系统的一个重要问题。GPS导航定位技术的出现给车辆、轮船等交通工具的导航定位提供了具体的实时的定位能力。目前,用于公安、交通系统的主要有:车辆GPS定位与无线电通信系统相结合的指挥管
26、理系统;应用GPS差分技术的指挥管理系统。4、GPS在地球动力学及地震研究中的应用GPS在地球动力学中的应用,主要是用GPS来监测全球和区域板块运动,监测区域和局部地壳运动,从而进行地球成因及动力机制的研究。武汉测绘科技大学,利用云南滇西两期GPS监测资料,反演红河断裂带低下断层活动模式,对1996年云南丽江地震作了较为准确地中期预报,其位置误差为27km,震源深度误差为06km,震级完全准确。揭示了用GPS监测资料做中期地震预报可能性。5、GPS在气象中的应用GPS的一个重要的应用领域就是气象学研究。利用GPS理论和技术来遥测地球大气,进行气象学的理论和方法研究,如测定大气温度及水汽含量,监
27、测气候变化等,叫GPS气象学(GPS/MET)。GPS/MET探测数据具有覆盖范围广(全球)、高垂直分辨率、高精度和高长期稳定的特点。对它的研究将给天气预报、气候和全球变化监测等领域产生深刻的影响。6、军事上的应用协同作战方面,GPS可为各级指挥系统提供各种目标及事件所发生的时间和地点。导弹的制导,提高命中目标的精度。美伊战争70%左右使用GPS辅助制导,使战斧式巡航导弹从1600公里的地方准确打击一个小房子的目标。搜索、救援人员野外定位,在茫茫的沙漠上,没有任何标志,主要靠导航卫星进行定位,知道自己在什么地方。3系统核心技术介绍本文介绍了以VC+为开发平台,MapX控件为图形平台,以MSCo
28、mm控件为通信平台,开发研制具有GPS信号接收与处理、GPS信息地图显示、数据存储等基本功能的一个小型GPS导航信息系统。在实际应用中,可以在此基础上进行完善和扩充,来满足不同的需求。GPS接收机的所有数据都可以在框架中显示出来,并且通过对这些数据的特定处理可以满足用户的定的要求3.1 MFC技术介绍MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法
29、,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C+提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。1、封装 构成MFC框架的是MFC类库。MFC类库是C+类库。这些类或者封装了Win32应用程序编程接口,或者封装了应用程序的概念,或者封装了OLE(对象连接和嵌入)特性,或者封装了ODBC(Open Database Connectivity,开放式数据库
30、连接性)和DAO数据访问的功能,等等,2、继承 首先,MFC抽象出众多类的共同特性,设计出一些基类作为实现其他类的基础。这些类中,最重要的类是CObject和CCmdTarget。CObject是MFC的根类,绝大多数MFC类是其派生的,包括CCmdTarget。CObject 实现了一些重要的特性,包括动态类信息、动态创建、对象序列化、对程序调试的支持,等等。3、虚拟函数和动态约束 MFC以“C+”为基础,自然支持虚拟函数和动态约束。但是作为一个编程框架,有一个问题必须解决:如果仅仅通过虚拟函数来支持动态约束,必然导致虚拟函数表过于臃肿,消耗内存,效率低下。例如,CWnd封装 Windows
31、窗口对象时,每一条Windows消息对应一个成员函数,这些成员函数为派生类所继承。如果这些函数都设计成虚拟函数,由于数量太多,实现起来不现实。于是,MFC建立了消息映射机制,以一种富有效率、便于使用的手段解决消息处理函数的动态约束问题。4、MFC的宏观框架体系 如前所述,MFC实现了对应用程序概念的封装,把类、类的继承、动态约束、类的关系和相互作用等封装起来。这样封装的结果对程序员来说,是一套开发模板(或者说模式)。针对不同的应用和目的,程序员采用不同的模板。例如,SDI应用程序的模板,MDI应用程序的模板,规则DLL应用程序的模板,扩展DLL应用程序的模板,OLE/ACTIVEX应用程序的模
32、板,等等。5、MSComm控件Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。MSComm控件提供下列两种处理通讯的方式:事件驱动方式和查询方式。事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如,在串口接收缓冲区中有字符,或者 Carrier
33、 Detect (CD) 或 Request To Send (RTS) 线上一个字符到达或一个变化发生时。在这些情况下,可以利用 MSComm 控件的 OnComm 事件捕获并处理这些通讯事件。OnComm 事件还可以检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅 CommEvent 属性。在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。这种方法的优点是程序响应及时,可靠性高。每个MSComm 控件对应着一个串行端口。如果应用程序需要访问多个串行端口,必须使用多个 MSComm 控件。3.2 NEMA协议NMEA是“National Marine Electron
34、ics Association”(国际海洋电子协会)缩写,同时也是数据传输标准工业协会。NMEA实际上已成为GPS接收机最通用的数据输出格式,同时也被用于GPS接收机接口的大多数软件包里。NMEA-0183是一套定义接收机输出的标准信息 ,该协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。图3.1 NEMA协议中各字段简介例如:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,0000*1F 字段0:$GPGGA,语句ID,表明该
35、语句为GPS定位信息 字段1:UTC 时间,hhmmss.sss,时分秒格式 字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0) 字段3:纬度N(北纬)或S(南纬) 字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0) 字段5:经度E(东经)或W(西经) 字段6:GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算 字段7:正在使用的卫星数量(00 - 12)(前导位数不足则补0) 字段8:HDOP水平精度因子(0.5 - 99.9) 字段9:海拔高度(-9999.9 - 99999.9) 字段10:地球椭球面相对大地水准面的高度 字段11
36、:差分时间字段12:差分站ID号0000 1023字段13:校验值 例如:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,A*50 字段0:$GPRMC,语句ID,表明该语句为推荐最小定位信息 字段1:UTC时间,hhmmss.sss格式 字段2:状态,A=定位,V=未定位 字段3:纬度ddmm.mmmm,度分格式(前导位数不足则补0) 字段4:纬度N(北纬)或S(南纬) 字段5:经度dddmm.mmmm,度分格式(前导位数不足则补0) 字段6:经度E(东经)或W(西经) 字段7:速度,节,Knots 字段8:方
37、位角,度 字段9:UTC日期,DDMMYY格式 字段10:磁偏角,(000 - 180)度(前导位数不足则补0) 字段11:磁偏角方向,E=东W=西 字段16:校验值 3.3 MySql数据库系统需要连接数据库以存储有效信息。MySQL是一个真正的多用户、多线程、开放源代码的关系型数据库管理系统(RDBMS)。SQL是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构实现的,是有一个服务器守护程序mysqld和很多不同的客户程序和库组成的。SQL是一种标准化语言,它使得存储、更新和存取信息更容易。如果您想用SQL语言为一个网站检索产品信息及存储顾客信息,那么,MySQL能
38、够以足够快的速度和灵活来允许您存储纪录文件和图像。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。MySQL 具有许多吸引人之处:1、速度。MySQL 运行速度很快。开发者声称 MySQL 可能是目前能得到的最快的数据库。可访问 忽略:/忽略此处 (MySQL Web 站点上的性能比较页),调查一下这
39、个性能。2、容易使用。MySQL 是一个高性能且相对简单的数据库系统,与一些更大系统的设置和管理相比,其复杂程度较低。3、价格。MySQL 对多数个人用户来说是免费的。详细的信息请参阅本前言后面的 “MySQL是否免费”一节。4、支持查询语言。MySQL 可以利用 SQL(结构化查询语言),SQL 是一种所有现代数据库系统都选用的语言。也可以利用支持 ODBC(开放式数据库连接)的应用程序,ODBC 是 Microsoft 开发的一种数据库通信协议。5、性能。许多客户机可同时连接到服务器。多个客户机可同时使用多个数据库。可利用几个输入查询并查看结果的界面来交互式地访问 MySQL。这些界面为:
40、命令行客户机程序、Web 浏览器或 X Window System 客户机程序。此外,还有由各种语言(如 C、Perl、Java、PHP 和 Python)编写的界面。因此,可以选择使用已编好的客户机程序或编写自己的客户机应用程序。6、连接性和安全性。MySQL 是完全网络化的,其数据库可在因特网上的任何地方访问,因此,可以和任何地方的任何人共享数据库。而且 MySQL 还能进行访问控制,可以控制哪些人不能看到您的数据。7、可移植性。MySQL 可运行在各种版本的 UNIX 以及其他非 UNIX 的系统(如 Windows 和 OS/2)上。MySQL 可运行在从家用 PC 到高级的服务器上。
41、尽管MySQL还在不断的开发中,但它已经提供了一个丰富的和极其有用的功能集。本系统通过ODBC API连接Mysql。ODBC(开放数据库互联)是微软公司开放服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。他的基本思想是为用户提供简单、标准、透明、统一的数据库联接的公共编程接口,在各个厂家的支持下能为用户提供一致的应用开发界面,使应用程序独立于数据库产品。开发商根据ODBC的标准去实现底层的驱动程序,它对用户透明。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL发送给ODBC。一
42、个完整的ODBC由下列几个部件组成:(1)应用程序ODBC管理器。位于控制面板的32为ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。(2)驱动程序管理器。包含在ODBC32.DLL中,对用户透明。其任务是管理ODBC驱动程序,是ODBC中最重要的部分。(3)ODBC API是一些DLL,提供ODBC和数据库之间的接口。(4)数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。图3.2ODBC结构 应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据员提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的
43、联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的链接。在ODBC中,ODBC API不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。3.4 后续要用到的技术Mapinfo 是由美国Map Info 公司推出的一套桌面地理信息系统、具有GIS 的功能。Mapinfo 本身带有类Basic 的Mapbasic 系统开发语言,Map2basic 具有强大的地理信息数据操作处理功能, 可实现对Mapinfo 的编
44、程,为用户提供了扩充系统功能的能力,提供了开放的结构,可实现Mapinfo 与其他程序之间的连接。但是要实现美观的用户界面及较好功能的客户端应用程序,和对网络数据进行计算就非常困难。而可视化的编程工具弥补Mapbasic 的不足,更好的开发用户所需要的系统。Mapinfo 与其他程连接的方法有:OL E (Object Linking and Embedding) 自动化技术、回调(CallBack) 。(3) 动态数据交换DDE (Dynamic Data Exchange) 技术。(4) 调用动态连接库(DLL) 。在本文中将通过自动化技术集成Mapinfo 的地图。OL E 自动化是一种
45、为WINDOWS 设计的交互进程通信机制,它让一个应用程序驱动或自动完成另一个应用程序,如在C + + 中创建EXCEL 中的表格等。它克服了链接和嵌套中存在的缺点,即无法用编程手段对对象进行控制。实现了对OL E 组件的编程式控制。OL E 自动化包括两部分应用程序:一个是把OL E 组件暴露出来使之可控制的应用程序,叫做OL E 自动化服务器;另一个是利用OL E 服务器提供的组件,对该对象进行控制操作的应用程序,叫做OL E 客户。每个OL E 对象都有属性( Property) 和方法(Method) ,OL E 自动化服务器的编写者决定哪些属性和方法将通过OL E 自动化暴露出来,而
46、私有对象对于外部用户来说是不可见的。OL E 客户编程人员只需知道包含对象的应用程序的名称、对象的类的名称和想要使用的属性和方法的名称,就可以使用自动化服务器了。使用类型库,在实现自动化对象的IDispatch 接口时,可以利用类型库乡客户程序提供的类型信息,从而避免了繁琐的类型处理。Mapinfo 软件包中提供了一个类型库文件MAPINFOW.TLB ,可以从中派生出COleDispatchDriver 的派生类DMap2BasicApplication、DMapinfo 等接口类,通过这些派生类可以访问自动化服务器(Mapinfo) 提供的对象属性和方法。4设计与实现本系统定位为简单的GP
47、S定位系统,具有GPS信息采集与处理的功能,能够为用户提供简单的定位信息。为了进一步的开发,本系统连接了数据库并简单的加载了地图,这样就可以在此基础上来分析定位信息和建立详细的地图信息库。4.1 MFC的相关编辑使用MFC框架建立基本的界面。如下图4.1系统界面图4.2存储数据显示界面添加MSComm控件。利用类向导工具Classwizard建立新类、进行消息映射、修改类成员、为控件在所属对话框类中映射控件对象,通过控件对象调用控件类的方法,可以方便的对控件对象进行操作。4.3参数设置一4.4参数设置二4.2 串口初始化设置串口的基本属性:串口打开、接收缓冲区打小、串行端口号、发送缓冲区大小、Setting属性、接收缓冲区触发OnComm事件的阀值。图4.5 初始化成功消息框显示初始化成功。4.3 OnComm函数4.3.1数据接收接受原始信息,转换格式后完全显示。图4.6原始信息的接受