一种车辆行驶里程处理系统及其处理方法
技术领域
本发明涉及一种车辆行驶里程的处理系统及其处理方法,特别是一种适用于车辆远程管理信息服务中,基于MapX、地图匹配算法程序和最短路径算法程序的车辆行驶里程的处理系统及其处理方法。
背景技术
随着GPS定位技术在现实生活中应用越来越广泛,对GPS车载定位系统的准确性要求相应就越来越高。目前,在很多车辆导航定位系统中,定位的功能不是很完善,准备率也不是很高,经常在道路左右偏移,甚至由于障碍物的影响,定位的根本就不准确,从而基于这样的定位数据计算出的车辆行驶里程准确率也不是很高。
目前的测量采用GPS 测量,是通过地面接收设备接收卫星传送来的信息,计算同一时刻地面接收设备到多颗卫星之间的伪距离,采用空间距离后方交会方法,来确定地面点的三维坐标。因此,对于GPS卫星、卫星信号传播过程和地面接收设备都会对GPS 测量产生误差。主要误差来源可分为:与GPS卫星有关的误差;与信号传播有关的误差;与接收设备有关的误差。
发明内容
本发明一种车辆行驶里程处理系统及其处理方法的目的是针对目前GPS卫星定位测量精度差的问题,提供一种结合数字地图和GPS车辆上传数据计算车辆的行驶里程的处理系统及其处理方法,是一种基于Mapinfo制作的电子地图,结合Mapinfo的二次开发控件和VC++开发技术,采用地图匹配算法程序、最短路径算法程序和里程计算方法来灵活有效地计算车辆行驶里程的方法,能够提高GPS车载定位系统的准确性。该方法在分析GPS误差来源的基础上,针对与GPS接收机有关的误差,对车辆数据进行滤波处理,然后与电子地图道路数据相比较、匹配,从而找到车辆所在的道路,并且处理出道路上的实际数据,在此基础上进行里程处理,从而提高了里程数据的精确度,也为基于里程数据的油耗分析提供了更精确的依据。
本发明一种车辆行驶里程处理系统及其处理方法是采取以下技术方案实现的:一种车辆行驶里程处理系统包括数字地图和GPS定位信息接收系统,GPS定位信息接收系统包括GPS接收机、通信电台和监控中心,监控中心具有监控中心服务器,数字地图安装在监控中心服务器上,GPS接收机实时定位并将定位信息通过通信电台发向监控中心,在监控服务器上安装有地理信息系统和数据库,监控中心结合地理信息系统对车辆进行管理,即从串口接收数据并将其放置于缓存中,再将各个字段的信息从缓存字节流中提取出来,将其转化成有实际意义的、供高层决策使用的定位信息数据,存放在数据库中,然后结合数字地图、地图匹配算法程序和最短路径算法程序处理得到车辆的行驶里程并存储到数据库。
所述的GPS接收机包括GPS接收天线、变频器、信号通道、微处理器、存储器和电源。
所述的数字地图采用市售的数字地图。
所述的GPS接收机采用市售的GPS接收机。
一种车辆行驶里程处理系统的处理方法包括以下步骤:
1)提取GPS定位数据,由于GPS定位信息内容较少,通过RS-232串口将定位信息(NEMA0183语句)从GPS接收机传送到计算机中进行信息提取处理,即从串口接收数据并将其放置于缓存中,再将各个字段的信息从缓存字节流中提取出来,将其转化成有实际意义的、供高层决策使用的定位信息数据,存放在数据库中;然后采用滤波算法程序对从数据库中导出的车辆GPS定位数据进行滤波处理,过滤掉无效数据。
2)在监控中心服务器内安装地理信息系统程序MapX5,用Geoset Manager生成中国地图的gst文件,注册中国地图的tab文件。
3)在Visual Studio2008中创建基于对话框类的VC++项目,并在项目中导入MapX控件相关的头文件MAPX.H和主文件MAPX.CPP, 这两个文件包含用于对MapX控件进行访问的类定义和方法实现。
4)在上步中的对话框类的对话框窗口中添加Mapinfo MapX V5控件,与中国地图进行绑定。
5)判断时间间隔参数dateTimeSpan,如果小于180s,则转入下一步,否则,先进行步骤6)对传入的GPS定位点进行匹配,然后进行步骤7)采用最短路径算法程序找出电子地图中前后两个车辆GPS定位点匹配位置点之间的最短路径以及距离。
6)GPS定位点匹配程序
在这个程序中,根据电子地图中线图元的节点个数,将道路分成三种类型:一是直线型,即道路线图元只有两个节点;二是非直线型,即道路线图元节点数大于2,小于20;三是弧型,即道路线图元节点数大于19;
该程序包括以下步骤:
6-1)接收定位点位置值,所述的定位点位置值包括经纬度、方向、速度和状态位等;
6-2)判断定位数据是否无效,若无效,则根据历史定位数据进行推测匹配,然后转步骤6-8);若有效,则进入步骤6-3);
6-3)判断车辆当前是否处于停止或低速滑行状态,若处于停止或低速滑行状态则对其作相应处理,然后转步骤6-8);若处于正常行驶状态,则进入6-4);
6-4)由定位点位置点设计对应的移动窗口,进而获取其中的路段;若路段数量为0,则根据历史定位数据进行推测匹配,然后转步骤6-8);若路段数量大于0,则进入步骤6-5);
6-5)对步骤6-4)得到的路段进行连接性拓扑检查,将通过拓扑检查的路段为匹配候选路段;
6-6)判断匹配候选路段的数量,若唯一,则直接将其作为匹配路段,由定位点向其作投影,然后转步骤6-8);若定位点在上一匹配道路上,则直接将定位点作为匹配后的点,然后转步骤6-8);否则,处理所有候选路段匹配度度量值comJudge[i](i=1,2,.,N);
6-7)对comJudge[i]运用最小规则,选出一条匹配路段,或者按匹配失败处理;
6-8)结束本次匹配;
7)最短路径算法程序
该算法程序包括以下步骤:
7-1)生成最短路径寻找区域的矩形面图元
将前后两个车辆GPS定位点匹配位置点作为矩形的两个对角点,再将矩形的上下左右分别扩展一个可变λ,直到这个矩形能找到一条满足要求的最短路径,然后根据这个矩形生成一个面图元;
7-2)处理中国路网图层中上面面图元包含的道路线图元,将这些道路线图元克隆到临时图层中;
7-3)处理临时图层中线图元之间的邻接点,构造邻接点矩阵;
7-4)采用迪科斯彻(Dijkstra)方法程序处理起止点之间的最短路径以及距离;
8)判断当前定位点的匹配道路是不是与上一条数据的匹配道路相同,若是,则利用前后两个匹配点之间分段距离和作为最终的里程;否则,转入下一步;
9)判断前后匹配道路是否相交,若相交,则求出交点,再分别处理交点和前后两个匹配点之间的距离,将距离相加之后的和作为最终的里程;否则,转入下一步;
10)处理前后匹配道路相连的道路,并得到出交点,再分别处理起点到交点、交点到交点、交点到终点的距离,然后相加之后作为最终的里程;
11)输出里程。
步骤1)中所述的无效数据包括重复数据、状态位为0的数据和没有搜索路径的数据。
地图匹配算法程序定位原理是:将其他定位方法得到的车辆位置或行驶轨迹与车载的电子地图道路数据相比较、匹配,从而找到车辆所在的道路,并且显示出车辆的实时位置。地图匹配过程可分为两个相对独立的过程:一是寻找车辆当前行驶的道路;二是将当前定位点投影到车辆行驶的道路上。
最短路径算法程序用于处理GPS信号中断,根据信号中断前后的两点经纬度数据,将中断前的经纬度匹配值赋给起始点,判断终止点是不是有效数据以及是不是在道路上;如果不是有效数据,则取下一条有效GPS数据;如果不是在道路上,则对终止点进行匹配算法程序,将它匹配到道路上。再选择包含起止点的矩形区域,判断该区域是否有包含起始点的道路,如果没有,则适当放宽区域。然后处理区域内道路的交点和交点之间的距离,使用迪科斯彻(Dijkstra)算法程序处理起始点之间的最短路径和距离。
对Mapinfo进行二次开发有三种常用方法,即利用MapBasic语言、Mapx组件、OLE技术等三种方法。MapX控件是Map Info公司向用户提供的具有强大地图分析功能的ActiveX控件,适用于大多数面向对象语言,可以无缝嵌入到各个领域的应用系统当中去。在Visual Studio2008平台上利用VC++开发,由于VC支持类继承和函数多态,故代码重复利用率高、扩展性强,具有编程的高效性,易于维护。
本发明一种车辆行驶里程处理系统及其处理方法的优点:提高了车辆的GPS定位精度和行驶里程的精度,解决了GPS信号中断带来的影响,也为GPS定位系统的研究工作提供了参考方法。该发明成果可以由终端用户直接使用,查询车辆的行驶里程数,也可以被GPS相关的车辆运营管理服务系统调用,如为车辆活动查询、车辆监控、运营费用计算、维修保养依据、报警服务和信息管理提供依据。
附图说明
以下将结合附图对本发明作进一步说明:
图1是一种车辆行驶里程处理系统的系统框图。
图2是地图匹配算法程序前和后的两种车辆行驶轨迹示意图。
图3是本发明一种车辆行驶里程处理系统的处理方法的步骤流程图。
具体实施方式
参照附图1~3,本发明一种车辆行驶里程处理系统包括数字地图和GPS定位信息接收系统,GPS定位信息接收系统包括GPS接收机、通信电台和监控中心,监控中心具有监控中心服务器,数字地图安装在监控中心服务器上,GPS接收机实时定位并将定位信息通过通信电台发向监控中心,在监控服务器上安装有地理信息系统和数据库,监控中心结合地理信息系统对车辆进行管理,即从串口接收数据并将其放置于缓存中,再将各个字段的信息从缓存字节流中提取出来,将其转化成有实际意义的、供高层决策使用的定位信息数据,存放在数据库中,然后结合数字地图、地图匹配算法程序和最短路径算法程序处理得到车辆的行驶里程并存储到数据库。
所述的GPS接收机包括GPS接收天线、变频器、信号通道、微处理器、存储器和电源。
所述的数字地图采用市售的数字地图。
所述的GPS接收机采用市售的GPS接收机。
一种车辆行驶里程处理系统的处理方法包括以下步骤:
1)提取GPS定位数据,由于GPS定位信息内容较少,通过RS-232串口将定位信息(NEMA0183语句)从GPS接收机传送到计算机中进行信息提取处理,即从串口接收数据并将其放置于缓存中,再将各个字段的信息从缓存字节流中提取出来,将其转化成有实际意义的、供高层决策使用的定位信息数据,存放在数据库中;然后采用滤波算法程序对从数据库中导出的车辆GPS定位数据进行滤波处理,过滤掉无效数据。
2)在监控中心服务器内安装地理信息系统程序MapX5,用Geoset Manager生成中国地图的gst文件,注册中国地图的tab文件。
3)在Visual Studio2008中创建基于对话框类的VC++项目,并在项目中导入MapX控件相关的头文件MAPX.H和主文件MAPX.CPP, 这两个文件包含用于对MapX控件进行访问的类定义和方法实现。
4)在上步中的对话框类的对话框窗口中添加Mapinfo MapX V5控件,与中国地图进行绑定。
5)判断时间间隔参数dateTimeSpan,如果小于180s,则转入下一步,否则,先进行步骤6)对传入的GPS定位点进行匹配,然后进行步骤7)采用最短路径算法程序找出电子地图中前后两个车辆GPS定位点匹配位置点之间的最短路径以及距离。
6)GPS定位点匹配程序
在这个程序中,根据电子地图中线图元的节点个数,将道路分成三种类型:一是直线型,即道路线图元只有两个节点;二是非直线型,即道路线图元节点数大于2,小于20;三是弧型,即道路线图元节点数大于19;
该程序包括以下步骤:
6-1)接收定位点位置值,所述的定位点位置值包括经纬度、方向、速度和状态位等;
6-2)判断定位数据是否无效,若无效,则根据历史定位数据进行推测匹配,然后转步骤6-8);若有效,则进入步骤6-3);
6-3)判断车辆当前是否处于停止或低速滑行状态,若处于停止或低速滑行状态则对其作相应处理,然后转步骤6-8);否则,则进入6-4);
6-4)由定位点位置点设计对应的移动窗口,进而获取其中的路段;若路段数量为0,则根据历史定位数据进行推测匹配,然后转步骤6-8);若路段数量大于0,则进入步骤6-5);
6-5)对步骤6-4)得到的路段进行连接性拓扑检查,将通过拓扑检查的路段为匹配候选路段;
6-6)判断匹配候选路段的数量,若唯一,则直接将其作为匹配路段,由定位点向其作投影,然后转步骤6-8);若定位点在上一匹配道路上,则直接将定位点作为匹配后的点,然后转步骤6-8);否则,计算所有候选路段匹配度度量值comJudge[i](i=1,2,.,N);
6-7)对comJudge[i]运用最小规则,选出一条匹配路段,或者按匹配失败处理;
6-8)结束本次匹配;
7)最短路径算法程序
该算法程序包括以下步骤:
7-1)生成最短路径寻找区域的矩形面图元
将前后两个车辆GPS定位点匹配位置点作为矩形的两个对角点,再将矩形的上下左右分别扩展一个可变λ,直到这个矩形能找到一条满足要求的最短路径,然后根据这个矩形生成一个面图元;
7-2)处理中国路网图层中上面面图元包含的道路线图元,将这些道路线图元克隆到临时图层中;
7-3)处理临时图层中线图元之间的邻接点,构造邻接点矩阵;
7-4)采用Dijkstra方法处理起止点之间的最短路径以及距离;
8)判断当前定位点的匹配道路是不是与上一条数据的匹配道路相同,若是,则利用前后两个匹配点之间分段距离和作为最终的里程;否则,转入下一步;
9)判断前后匹配道路是否相交,若相交,则求出交点,再分别处理交点和前后两个匹配点之间的距离,将距离相加之后的和作为最终的里程;否则,转入下一步;
10)处理前后匹配道路相连的道路,并得到交点,再分别处理起点到交点、交点到交点、交点到终点的距离,然后相加之后作为最终的里程;
11)输出里程。
步骤1)中所述的无效数据包括重复数据、状态位为0的数据和没有搜索路径的数据。