【技术实现步骤摘要】
一种基于路段密度的地图网格划分方法
本专利技术涉及地图匹配领域,具体涉及一种基于路段密度来划分地图网格的方法。
技术介绍
数字地图基于网格的划分,就是将大比例尺的地图,根据不同的地理环境、城市属性用更小的网格来划分。现有的数字地图网格划分方法通常是以等面积的网格来划分的,即每个网格的长、宽相同,这种网格的长、宽划分通常是根据数字地图的制作人员的经验来划分的,这种划分方法划分出来的网格里面的路段数量差异非常大,对于那些路段稀疏的地区,网格里面包含的路段数量非常少,甚至有的网格里面没有路段数据,而对于路段密集的地区,网格里面包含的路段数量非常多。对于在那些路段密集的网格内进行复杂的操作时会极大的降低处理的效率。
技术实现思路
针对现有技术中存在的均匀划分网格使得网格内路段数量有极大的差异,从而导致地图匹配时处理效率低下的问题,本专利技术提供了一种基于路段密度来划分地图网格的方法,采用以下技术方案实现:一种基于路段密度划分地图网格的方法,包括如下步骤:步骤1:获得所有路段的路段数据,在地图上得到能包含所有路段数据的外包矩形,将能包含所有路段数据的外包矩形设置为根节点,所述根节点为最大的网格;步骤2:设置所划分网格中的路段数目最大值MaxNumber,将步骤1中所有的路段数据分别作为节点,逐个插入根节点中,对于插入的每个路段数据有如下判断:若插入当前的路段数据后,该路段数据所属网格中的路段数目不大于MaxNumber,则继续插入下一路段数据;若插入当前的路段数据后,该路段数据所属网格中的路段数目大于MaxNumber,则对所属网格利用网格分割方法进行分割,使得分割后的 ...
【技术保护点】
1.一种基于路段密度划分地图网格的方法,其特征在于,包括如下步骤:步骤1:获得所有路段的路段数据,在地图上得到能包含所有路段数据的外包矩形,将能包含所有路段数据的外包矩形设置为根节点,所述根节点为最大的网格;步骤2:设置所划分网格中的路段数目最大值MaxNumber,将步骤1中所有的路段数据分别作为节点,逐个插入根节点中,对于插入的每个路段数据有如下判断:若插入当前的路段数据后,该路段数据所属网格中的路段数目不大于MaxNumber,则继续插入下一路段数据;若插入当前的路段数据后,该路段数据所属网格中的路段数目大于MaxNumber,则对所属网格利用网格分割方法进行分割,使得分割后的每个网格都满足网格中的路段数目不大于MaxNumber,然后继续插入下一路段数据;步骤3:判断步骤1中所有路段数据是否全部使用完毕,若全部使用完毕则网格构建完毕,若还有路段数据剩余则继续执行步骤2。
【技术特征摘要】
1.一种基于路段密度划分地图网格的方法,其特征在于,包括如下步骤:步骤1:获得所有路段的路段数据,在地图上得到能包含所有路段数据的外包矩形,将能包含所有路段数据的外包矩形设置为根节点,所述根节点为最大的网格;步骤2:设置所划分网格中的路段数目最大值MaxNumber,将步骤1中所有的路段数据分别作为节点,逐个插入根节点中,对于插入的每个路段数据有如下判断:若插入当前的路段数据后,该路段数据所属网格中的路段数目不大于MaxNumber,则继续插入下一路段数据;若插入当前的路段数据后,该路段数据所属网格中的路段数目大于MaxNumber,则对所属网格利用网格分割方法进行分割,使得分割后的每个网格都满足网格中的路段数目不大于MaxNumber,然后继续插入下一路段数据;步骤3:判断步骤1中所有路段数据是否全部使用完毕,若全部使用完毕则网格构建完毕,若还有路段数据剩余则继续执行步骤2。2.如权利要求1所述的基于路段密度划分地图网格的方法,其特征在于,所述节点包含以下属性:外包矩形左下角坐标、外包矩形右上角坐标、父亲节点、孩子节点序列、原始路段数据、是否包含原始路段数据的标签Flag,其中,当Flag的值为“True”时表示该节点只包含原始路段数据,当Flag的值为“Flase”时表示该节点包含网格且网格内包含原始路段数据。3.如权利要求2所述的基于路段密度划分地图网格的方法,其特征在于,所述步骤2包括如下子步骤:步骤2.1:从步骤1中所有的路段数据中随机抽取一条路段数据,以这条路段数据创建节点Node1,根据Node1的原始路段数据得到该路段两个端点,以这两个端点构建线段line1,并创建存储Node型数据的列表List;步骤2.2:创建节点CurrentNode,将根节点赋值给CurrentNode,判断CurrentNode节点的外包矩形与步骤2.1中Node1的外包矩形是否相交,若相交则进一步判断CurrentNode节点的Flag值,若Flag值为True,则将CurrentNode节点添加进所述List中,并执行步骤2.3;若Flag值为Flase,将CurrentNode节点的孩子节点依次赋值给CurrentNode,并返回执行步骤2.2;步骤2.3:判断List列表是否为空,若List列表为空则执行步骤2.1,若List列表不为空,则从步骤2.1构建的List中取出第一个元素记为Node2,并将List中的第一个元素删除,计算Node2构成的矩形和line1相交部分记为线段line2,将line2插入到Node2的孩子节点序列中,执行步骤2.4;步骤2.4:判断Node2的孩子节点数量是否大于MaxNumber,所述Node2的孩子节点序列的孩子数量等于Node2所对应网格的路段数量,若不大于MaxNumber则继续执行步骤2.3,若是大于MaxNumber则利用网格分割方法进行分割,直至插入最后一个路段数据。4.如权利要求3所述的基于路段密度划分地图网格的方法,其特征在于,步骤2.4中Node2的孩子节点数量若是大于MaxNumber,则所述网格分割方法包括如下步骤:步骤2.4.1:将Node2的所有孩子节点利用计算Hausdorff距离的方式进行分配,直到Node2的所有孩子节点都分配到新构建的两个列表List1和List2中;步骤2.4.2:分别计算两个列表内所有节点的外包矩形,然后依次遍历两个列表中所有的外包矩形的左下角端点和右上角端点的经纬度坐标,分别向坐标轴作垂线,获得能将List1中的所有元素和List2中的所有元素分别列在两侧且与外包矩形中的路段数据的相交次数最少的垂线,将该垂线存入List3;步骤2.4.3:根据List3中存入的垂线将Node2的外包矩形沿垂线进行分割,保存Node2的所有孩子节点所代表的路段数据,将Node2中的孩子节点列表清空,新建节点Node3,令此时Node2的外包矩形为原外包矩形分割后的一半和Node3的外包矩形为原外包矩形分割后的另一半,将Node2的所有孩子节点所代表的路段数据分别存入Node2和Node3中,若Node2的父亲节点不为空,则将Node3插入到Node2的父亲节点的孩子节点序列中,若为空,则直接执行步骤2.4.4;步骤2.4.4:判断Node2是否是根节点,若Node2是根...
【专利技术属性】
技术研发人员:康军,李宜修,段宗涛,张凡,许卫强,行本贝,黄山,
申请(专利权)人:长安大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。