一种基于网格划分的GPS定位与道路匹配方法与流程

文档序号:13758490阅读:434来源:国知局
一种基于网格划分的GPS定位与道路匹配方法与流程

本发明涉及交通信息采集处理技术领域,尤其涉及一种基于网格划分的GPS定位与道路匹配方法。



背景技术:

当前,大量营运车辆(如的士、公交车等)都装备了GPS定位设备,这类车辆统称为浮动车,浮动车上的车载GPS设备一方面可以用来监控营运车辆的合规运行,另一方面,可以根据其时间相关的GPS轨迹提取其在城区道路上的行进速度,进而为城市交通管理提供依据。

通过对城市中大量浮动车运行的速度和状态的实时分析,可以估计个路段的拥堵情况,从而实现实时调整交通控制参数,如对各路口的交通灯配时以改善拥堵区域的通行效率。在此过程中,首先需要将浮动车GPS点快速匹配到其所行驶的道路子集,然后再根据路网拓扑、车辆行进方向等判断其所在具体道路,其中如何快速找到浮动车位置附近的道路子集是影响计算效率的重要因素。

现有技术中主要通过两种方法获取车辆GPS轨迹匹配的道路子集,一种是基于分带索引的道路子集查找方法,通过对整个城市的道路网沿X方向(或Y方向)按照一定的间隔进行分带,带宽根据实际需要而定(例如100m或200m),然后将每带的起始位置从小到大或从大到小进行存储,同时将每条道路赋予一个唯一的道路标识号(ID号),将道路边界矩形(道路的最大最小坐标范围)落在带内道路ID号与该带的起始坐标对应存储在表中,基于这种存储结构的道路匹配算法主要通过二分法实现,但这种方式只能精确到某一分带,由于每一分带的道路集合不确定,可能存在道路集合较大的分带,使得后期精确匹配所需计算量大效率较低。另一种是基于指定搜索半径的查找方法,通常以浮动车GPS位置点为圆心指定一个最小搜索半径,将经过此范围之内的所有道路作为候选匹配道路子集,如果在指定最小搜索半径内没有道路,则进一步扩大搜索半径进行搜索,这种方式通常需要多次调整搜索半径进行搜索,此外,判断某条道路是否与某个圆的范围相交也是一个费时的运算。



技术实现要素:

本发明要解决的技术问题,在于提供一种基于网格划分的GPS定位与道路匹配方法,提高匹配道路候选子集的查询效率,并实现匹配道路候选子集的可控性,提高道路匹配的效率与灵活性。

本发明是这样实现的:一种基于网格划分的GPS定位与道路匹配方法,包括如下步骤:

步骤1、选取一区域地图,确定正方形网格的宽度w,将所述区域地图划分成复数个边长为w的正方形网格,并记录每一正方形网格对应的第一关联道路集合,所述第一关联道路集合为对应正方形网格中经过的道路集合;

步骤2、预先设置合并参数,根据所述合并参数对正方形网格进行合并,得到矩形网格,并记录合并后的每一矩形网格对应的第二关联道路集合,所述第二关联道路集合为对应矩形网格中经过的道路集合,所述合并参数包括第二关联道路集合阈值;

步骤3、为每一矩形网格创建一条记录,存储到关系数据库的网格表中,所述记录的字段内容包括网格编号、最大纬度、最小纬度、最大经度、最小经度和第二关联道路集合;

步骤4、获取一浮动车的GPS轨迹点数据,根据所述GPS轨迹点的经纬度位置信息,通过关系数据库查询语句从关系数据库中查询所述浮动车所在矩形网格对应的第二关联道路集合作为匹配道路候选子集。

进一步的,所述步骤1中“确定正方形网格的宽度”的具体步骤为:

步骤a1、预先设定一最小正方形网格宽度w0、增长步长ws、第一关联道路集合阈值Rt和第一关联道路集合元素个数高于Rt的正方形网格数量的比例约束Pt

步骤a2、将正方形网格的宽度w初始化为w0

步骤a3、将所述区域地图划分成复数个边长为w的正方形网格,并记录正方形网格总个数num以及每一正方形网格对应的第一关联道路集合,所述第一关联道路集合为对应正方形网格中经过的道路集合;

步骤a4、依次遍历所述第一关联道路集合,计算元素个数大于Rt的第一关联道路集合的个数cnt,若cnt/num>Pt,则进入步骤a5,否则将正方形网格的宽度w增加一个增长步长ws,即w=w+ws,返回步骤a3;

步骤a5、判断正方形网格的宽度w是否等于w0,若是,则将w0作为正方形网格的宽度,否则,将正方形网格的宽度w减去一个增长步长ws后得到新的宽度作为正方形网格的宽度,即w=w-ws

进一步的,所述步骤2进一步包括:

步骤b1、确定第二关联道路集合阈值α;

步骤b2、设置标志位flag为0,即flag=0;

步骤b3、判断网络集合Src是否为空,若是,则进入步骤b7,否则进入步骤b4;

步骤b4、依次从网格集合Src中获取一个网格g;

步骤b5、查找网格集合中与所述网格g共用一条边的相邻网格组成一个集合G,依次获取集合G中的一个网格g1,若存在网格g1的第一关联道路集合s(g1)和网格g的第一关联道路集合s(g)的并集中的道路数|s(g1)+s(g)|不大于α,则合并g1和g为一网格g2,将g2添加到集合Sd中,并从网格集合Src中删除g1和g,将标志位flag置为1,即flag=1,返回步骤b3,否则,进入步骤b6;

步骤b6、若不存在可与网格g合并的相邻网格,则直接将网格g从网格集合Src中移到集合Sd中,返回步骤b3;

步骤b7、若标志位flag=1,则移动Sd中所有网格到Src中,返回步骤b2,否则结束网格合并。

进一步的,所述步骤3还包括:在所述网格表的最大纬度、最小纬度、最大经度和最小经度上建立索引。

进一步的,所述步骤4中“通过关系数据库查询语句从关系数据库中查询所述浮动车所在矩形网格的第二关联道路集合”具体为:假设GPS轨迹点的经纬度位置信息为P(x,y),其中x、y分别为P的经度坐标和纬度坐标,则通过关系数据库查询语句“select第二关联道路集合from网格表where x>=最小经度and x<=最大经度and y>=最小纬度andy<=最大纬度”从关系数据库中查询所述浮动车所在矩形网格对应的第二关联道路集合作为匹配道路候选子集。

进一步的,所述方法还包括步骤5、根据所述匹配道路候选子集中各道路的行车方向、浮动车行进方向及浮动车至各道路的距离定位所述浮动车所在具体道路。

本发明具有如下优点:

1、通过预先对所选取的一区域的城市地图进行网格划分,并通过设置道路个数的最大值,即第二关联道路集合阈值,对正方形网格进行合并,使得矩形网格内的道路数控制在一定数量内,不会出现匹配道路候选子集过大的情况,大大降低了后期精确匹配具体道路的计算量;

2、通过设计关系数据库存储结构,将每一网格相关内容存储于数据表中,在需要对车辆进行道路匹配时,只需要通过一条查询语句即可快速查询到数据表中对应的矩形网格的第二关联道路集合,即车辆轨迹点附近的道路集合,无需多次查找,大大降低查询匹配道路候选子集的工作量,提高浮动车轨迹道路匹配的总体速度。

3、根据需要设置第二关联道路集合阈值,实现匹配道路候选子集的可控性,提高道路匹配灵活性。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明一种基于网格划分的GPS定位与道路匹配方法执行流程图。

图2为本发明确定正方形网格宽度的算法流程图。

图3为本发明步骤2网格合并的算法流程图。

具体实施方式

如图1至图3所示,一种基于网格划分的GPS定位与道路匹配方法,包括如下步骤:

步骤1、选取一区域地图,确定正方形网格的宽度w(例如50m),将所述区域地图划分成复数个边长为w的正方形网格,并记录每一正方形网格对应的第一关联道路集合,所述第一关联道路集合为对应正方形网格中经过的道路集合;其中,“确定正方形网格的宽度”的具体步骤包括步骤a1至步骤a5:

步骤a1、预先设定一最小正方形网格宽度w0(例如20m)、增长步长ws(例如10m)、第一关联道路集合阈值Rt(例如3)和第一关联道路集合元素个数高于Rt的正方形网格数量的比例约束Pt(例如0.01);

步骤a2、将正方形网格的宽度w初始化为w0

步骤a3、将所述区域地图划分成复数个边长为w的正方形网格,并记录正方形网格总个数num以及每一正方形网格对应的第一关联道路集合,所述第一关联道路集合为对应正方形网格中经过的道路集合;

步骤a4、依次遍历所述第一关联道路集合,计算元素个数大于Rt的第一关联道路集合的个数cnt,若cnt/num>Pt,则进入步骤a5,否则将正方形网格的宽度w增加一个增长步长ws,即w=w+ws,返回步骤a3;

步骤a5、判断正方形网格的宽度w是否等于w0,若是,则将w0作为正方形网格的宽度,否则,将正方形网格的宽度w减去一个增长步长ws后得到新的宽度作为正方形网格的宽度,即w=w-ws

步骤2、预先设置合并参数,根据所述合并参数对正方形网格进行合并,得到矩形网格,并记录合并后的每一矩形网格对应的第二关联道路集合,所述第二关联道路集合为对应矩形网格中经过的道路集合,所述合并参数包括第二关联道路集合阈值;所述步骤2进一步包括步骤b1至步骤b7:

步骤b1、确定第二关联道路集合阈值α;

步骤b2、设置标志位flag为0,即flag=0;

步骤b3、判断网络集合Src是否为空,若是,则进入步骤b7,否则进入步骤b4;

步骤b4、依次从网格集合Src中获取一个网格g;

步骤b5、查找网格集合中与所述网格g共用一条边的相邻网格组成一个集合G,依次获取集合G中的一个网格g1,若存在网格g1的第一关联道路集合s(g1)和网格g的第一关联道路集合s(g)的并集中的道路数|s(g1)+s(g)|不大于α,则合并g1和g为一网格g2,将g2添加到集合Sd中,并从网格集合Src中删除g1和g,将标志位flag置为1,即flag=1,返回步骤b3,否则,进入步骤b6;

步骤b6、若不存在可与网格g合并的相邻网格,则直接将网格g从网格集合Src中移到集合Sd中,返回步骤b3;

步骤b7、若标志位flag=1,则移动Sd中所有网格到Src中,返回步骤b2,否则结束网格合并。

步骤3、为每一矩形网格创建一条记录,存储到关系数据库的网格表中,所述记录的字段内容包括网格编号、最大纬度、最小纬度、最大经度、最小经度和第二关联道路集合;所述步骤3还包括:在所述网格表的最大纬度、最小纬度、最大经度和最小经度上建立索引。

步骤4、获取一浮动车的GPS轨迹点数据,根据所述GPS轨迹点的经纬度位置信息,通过关系数据库查询语句从关系数据库中查询所述浮动车所在矩形网格对应的第二关联道路集合作为匹配道路候选子集;其中,“通过关系数据库查询语句从关系数据库中查询所述浮动车所在矩形网格的第二关联道路集合”具体为:假设GPS轨迹点的经纬度位置信息为P(x,y),其中x、y分别为P的经度坐标和纬度坐标,则通过关系数据库查询语句“select第二关联道路集合from网格表where x>=最小经度and x<=最大经度andy>=最小纬度andy<=最大纬度”从关系数据库中查询所述浮动车所在矩形网格对应的第二关联道路集合作为匹配道路候选子集。

步骤5、根据所述匹配道路候选子集中各道路的行车方向、浮动车行进方向及浮动车至各道路的距离定位所述浮动车所在具体道路,首先根据浮动车当前GPS轨迹点及历史轨迹点确定浮动车行进方向,然后从匹配道路候选子集中找出行车方向与浮动车行进方向一致的道路集合,再计算浮动车当前轨迹点与此道路集合中每条道路的距离,取距离最小者为匹配道路。

本发明通过预先对选定的城市地图进行网格划分,并且控制每一网格内的道路数量,使得在进行后期车辆道路匹配时,可以得到匹配道路候选子集中的道路数不会太大,提高了后期精确匹配道路计算的效率,且可根据需要设置第二关联道路集合阈值,实现匹配道路候选子集的可控性,提高道路匹配灵活性;另外通过关系数据库进行存储数据,使得对需要匹配道路的车辆GPS轨迹点能够通过查询语句快速定位到一个矩形网格内,从而得到对应的第二关联道路集合,即匹配道路候选子集,大大提高匹配道路候选子集的查询效率。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1