您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 车辆监控系统中监控台的应用设计
车辆监控系统中监控台的应用设计(南开大学信息技术科学学院天津市300071)【摘要】本文基于MapObjects控件,开发了车辆监控系统的监控台应用软件,实现了电子地图显示、GPS定位与跟踪、GSM短消息通信等功能;最后探讨了利用MapObjects构建WebGIS的问题。关键词:车辆监控系统监控台GIS0引言车辆监控系统(Vehiclesuperviseandcontrolsystem,简称VSCS),是把全球卫星定位技术、地理信息技术(GIS)和现代通信技术综合在一起的高科技系统。其主要功能是将装有GPS接收机的移动目标的动态位置(经度、纬度)、时间、状态等信息,实时地通过无线通讯链路传送至监控中心站,而后在具有强大的地理信息查询功能的电子地图上进行移动目标运动轨迹的显示,并对目标的准确位置、速度、运动方向、车辆状态等用户感兴趣的参数进行监控和查询,为调度管理提供可视化依据,提高车辆的运营效率,并确保车辆的安全。监控台主要由GSM通信模块、通信控制器、计算机、声光控制器及控制电路组成。该单元的物理结构如下图1所示:图1监控台物理结构图监控台的主要功能:(1)数据处理能力。监控台通信控制器可以实现车载移动单元上行数据的接收、转译并向监控计算机传送,同时能接收监控计算机下行命令并向车载移动单元转发。(2)矢量电子地图显示。监控台具有形象、直观的电子地图显示,并可对电子地图进行任意放大、缩小、漫游、开窗等功能。(3)车辆定位跟踪能力。能够将移动车辆的定位信息在矢量电子地图背景上复合显示出来。并具有对移动车辆进行跟踪、查询、轨迹回放等操作。同时,利用多窗口功能可对多目标进行跟踪,并有越区处理能力。1监控台系统软件设计1.1软件结构监控台软件系统结构设计如图2所示。图2监控中心软件系统结构1.2软件开发环境1.2.1操作系统与开发平台监控台操作系统:MicrosoftWindows2000operatingsystemwithServicePack2orWindowsXP,128MBRAM(196MBrecommended)。系统软件开发平台选择微软推出的VisualC++6.0。1.2.2组件式GIS开发工具GIS功能实现利用美国环境系统研究所(ESRI-EnvironmentalSystemsResearchInstituteInc.)的嵌入式组件MapObjects(以后简称MO);MO是一组基于COM技术的MapObjects2.3控件数据接收与处理矢量电子地图定位与跟踪显示通信控制器GSM模块大屏幕显示GSM模块通信控制器监控台地图应用组件,由一个名为MapControl的Active控件和46个功能对象组成。在标准的Windows编程环境下,能够与其他图形、多媒体、数据库开发技术组成完全独立的综合性应用软件,是基于前端应用业务的良好的地图开发环境。由于MO支持多种数据源,用一个动态跟踪层来动态显示实时数据,具有地址匹配、强大的专题地图绘制功能,因此非常适合于车辆监控系统中GIS功能实现。本系统采用的是MapObjects2.3版本。1.2.3电子地图数据电子地图数据组织采用了适合于中小型地图数据的Shape文件,而对于大型电子地图数据,可采用空间数据引擎(SpatialDatabaseEngine)中间件技术来组织管理。本系统采用的是大连市1:1万Shape格式的电子地图数据。2监控台系统功能实现监控台系统软件包括:地图显示模块、GPS定位模块、GSM通信模块等。2.1地图显示模块(1)控制MapControl控件在窗口中的显示范围利用类向导向CEasyMapView类中添加WM-SIZE事件,在其OnSize方法中添加如下几行代码:voidCEasyMapView::OnSize(UINTnType,intcx,intcy){CFormView::OnSize(nType,cx,cy);if(m-map.m-hWnd)m-map.SetWindowPos(0,0,0,cx,cy,SWP.NO2ZORDER);}(2)重画窗口时出现明显的闪烁现象问题的解决这个问题,只要在工程初始化实例函数InitInstance()中调用WindowsAPI函数SystemParametersInfo(⋯)就可以解决。BOOLCEasyMapApp::InitInstance(){//othercodealreadyinthisfunctionSystemParametersInfo(SPI-SETDRAGFULLWINDOWS,false,NULL,0);}(3)地图放大、缩小、漫游等功能的实现,如图3。图3监控台应用软件界面::OnMouseDownMap1(shortButton,shortShift,longx,longy){switch(m_curTool){caseID_MAP_ZOOMIN:{CMoRectangler(m_map.TrackRectangle());if(LPDISPATCH(r))m_map.SetExtent(r);break;}caseID_MAP_ZOOMOUT:{CMoRectangler(m_map.GetExtent());r.ScaleRectangle(1.5);m_map.SetExtent(r);break;}caseID_MAP_PAN:m_map.Pan();break;caseID_MAP_QUERY:break;caseID_MAP_ADDEVENT:break;}//endswitch}2.2GPS定位模块目前许多GPS厂商遵循NMEA0813协议。NMEA0813是美国国家海洋电子协会(NationalMarineElectronicsAssociation)制定的GPS接口协议标准。根据协议NMEA0813Ver2.0的协议标准,并从中挑选出我们需要的那部分定位数据,将其进行解析得到地理坐标,换算后即可在电子地图上定位显示,具体工作流程如图4所示:图4GPS数据读取程序框图在实际应用中往往需要对其做进一步的运算处理,例如将GPS接收机获得格林尼治时间转换为我国标准时间,将GPS使用的WGS-84坐标系转换为我国采用的坐标系等。下面给出简单的例程:::strcpy(buf,m_sTime);str.Format(%c%c,buf[0],buff[1]);GPSParam[m_nNumber].m_nHour=(atoi(str)+8)%24;//提取出小时并转化为24小时制北京时间//buf第2、3字节为分钟,4、5字节为秒,提取方法同上::strcpy(buf,m_sDate);str.Format(%c%c,buf[0],buf[l]);//提取出月份//buf第2、3字节为天,4、5字节为年,提取方法同上::strcpy(buf,m_sPositionY);str.Format(%c%c,buf[0],buff[l]);PositionValue=atoi(str);str.Format(%c%c%c%c%c%c%c,buf[2],buf[3],buf[4],buf[5],buf[6],buf[7],buf[8]);GPSParam[m_nNumber].m_dPositionY=PositionValue*60+atof(str);//提取出纬度…………………………………………::strcpy(buf,m_sPositionX);if(m_sPositionX.GetLength()==10)//经度超过90度(如东经125度)str.Format(%c%c%c,buf[0],buf[1],buf[2]);PositionValue=atoi(str);str.Format(%c%c0loc%c%c%c%c,buf[3],buf[4],buf[5],buf[6],buf[7],buf[8],buf[9]);GPSParam[m_nNumber].m_dPositionX=PositionUalue*60+atof(str);//提取出经度(单位为分)}2.3GSM通信模块车辆监控系统的通信采用了GSM的短消息业务。GSM的短消息业务是利用信令信道传输的,是GSM通信网所特有的,它不用拨号建立连接,直接把要发的信息加上目的地址发到短消息服务巾心,由短消息服务中心再发给最终用户。短消息每次限制在116个字符以内,但足以用来传输每一车辆的定位信息。GSM规范对短消息传输定义了三种控制协议:即二进制协议(块模式),基于字符的使用AT命令接口协议(文本模式)和基于字符的使用十六进制编码的二进制传输消息块接口协议(PDU模式)。PDU模式相当于计算机网络中的分组交换接口协议。这种传送方式可以平稳地过渡到GPRS,因此本系统使用PDU模式处理短消息。本系统通信控制的软件主要由以下几个模块组成:(1)主模块主要用来设置初值及循环调用子程序,其主循环程序为:MAINLOOP:LCALLRECEIVEGPS;接收GPS信息LCALLRESOLVEGPS;解析GPS信息JNBTENMINS,MAINLOOP;检验是否需要发送信息LCALLSENDSMS;发送短消息SJMPMAINLOOP;重新循环打开串口读取GPS数据有$GPRMC标志解析出GPS数据,得出经纬度转换为屏幕坐标值,屏幕显示有终止符吗关闭串口成功NONOYESYES(2)接收GPS信息子程序用来处理单片机系统和GPS接收板之间的串行通信。(3)解析GPS信息子程序RESOLVEGPS(4)发送短消息子程序(使用串口1)SENDSMS用来控制GSM模块发送含有定位信息的短信息。(5)接收GSM模块回复子程序RECEIVEGSM用来处理单片机系统和GSM模块之间的握手信号。(6)定时器中断响应子程序TIMER。3监控台系统软件向WebGIS的移植3.1WebGIS简介WebGIS又称万维网地理信息系统,是建立在Web技术上的一种特殊环境下的地理信息系统。WebGIS在Internet或Intranet网络环境下存储、处理和应用地理信息。它的基本思想就是在互联网上提供地理信息,让用户通过浏览器浏览和获得一个地理信息系统中的数据和功能服务。WebGIS是GIS与的有机结合,也是实现GIS互操作的一个有效解决途径。GIS通过功能得到了扩展,从的任意一个节点,人们可以浏览和获取Web上的各种地理空间数据及属性数据、图像、文件以及进行地理空间分析,地理数据的概念已扩展为分布式的、超媒体特性的、相互关联的数据。WebGIS可以为各种与空间位置有关的行业提供强有力的空间信息支持和服务。车辆监控系统的监控台系统软件由组件式GIS向WebGIS的移植,是未来发展趋势。3.2利用MapObjects构建WebGIS所谓利用MapObjects构建WebGIS,实际上就是利用MapObjects控件来实现WebGIS的应用。MapObjects控件既可以是客户端控件,它被嵌在HTML中,随主页一同下载,在客户端执行相应的操作;也可以作为服务器端控件,客户端不需要下载任何的控件和插件,有很好的兼容性。由于此ActiveX控件要应用于HTML页面中,有一点是不能忽视的,那就是在HTML页面中的控件不能调用标准Windows对话框,这就要求开发人员要尽可能地将所有GIS功能在一个窗体中实现,或者应用COM/DCOM技术建立控件间的无缝集成。3.2.1MapObjects控件作为客户端控件的WebGIS应用的实现实现步骤(1)使用微软的可视化编程工具将MapObjects控件打包,重新包装成一个Map对象,该对象对外提供了绑定数据源、选择数据图层、放大与缩小、空间数据查询等方法。(2)在MicrosoftInterDev(或其它编辑工具)中生成一个新的HTML页面。(3)将打包文件、控件所存储的目录在HTML页面中说明,便于客户端下载。这样一来,当用户打开GIS网站时,WebGIS主页会自动下载并注册。之后,呈现在用户
本文标题:车辆监控系统中监控台的应用设计
链接地址:https://www.777doc.com/doc-2010354 .html