一种道路绘制方法及装置转让专利

申请号 : CN201610474643.9

文献号 : CN107545833B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 章启鹏

申请人 : 高德信息技术有限公司

摘要 :

本申请公开了一种道路绘制方法及装置,方法包括:确定出待绘制对象所包含的道路中存在压盖关系的道路组,确定所述道路组中各道路的压盖关系,根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,其中,压盖关系中压盖道路的层级高于被压盖道路的层级,最后按照层级关系由低至高的顺序依次绘制所述道路组中的道路。按照本申请的绘制方法,最终绘制出的对象所包含的道路层次关系更加清楚,更加便于用户直观看出道路的层次关系。

权利要求 :

1.一种道路绘制方法,其特征在于,包括:

确定出待绘制对象所包含的道路中存在压盖关系的道路组;

确定所述道路组中各道路的压盖关系;

根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,其中,压盖关系中压盖道路的层级高于被压盖道路的层级;

按照层级关系由低至高的顺序依次绘制所述道路组中的道路;

其中,所述确定出待绘制对象所包含的道路中存在压盖关系的道路组,包括:从所述待绘制对象所包含的各条道路分别关联的形状点中,确定目标形状点,所述目标形状点为所在位置处关联有至少两条道路的形状点;

将各目标形状点关联的道路取并集,得到存在压盖关系的道路组。

2.根据权利要求1所述的方法,其特征在于,所述确定所述道路组中各道路的压盖关系,包括:在所述道路组中选取压盖有其它道路的压盖道路;

针对每一个压盖道路,以所述压盖道路以及被其所压盖的所有被压盖道路建立压盖关系,并构建道路压盖组合。

3.根据权利要求2所述的方法,其特征在于,所述根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,包括:将所述道路组中各道路设置相同的初始层级值;

对各道路压盖组合进行多轮遍历直到满足结束条件为止,针对每一轮遍历,执行以下操作:逐个遍历所述道路压盖组合,在每遍历到一个道路压盖组合时,将该道路压盖组合中压盖道路的层级值设置为该道路压盖组合中层级值最大的被压盖道路的层级值加Δ,其中Δ为一个预置的大于0的增量值;

判断所有道路压盖组合中压盖道路本轮遍历得到的层级值与前一轮遍历得到的层级值是否均一致,若是则确定满足结束条件并将本轮得到的各道路的层级值作为相应道路的最终层级值;若否则对各道路压盖组合继续执行下一轮的遍历操作。

4.根据权利要求2所述的方法,其特征在于,所述根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,包括:从所述道路组中选取不压盖任何其它道路的道路,将选取的道路设置相同的初始层级值;

对各道路压盖组合进行多轮遍历直到满足结束条件为止,针对每一轮遍历,执行以下操作:逐个遍历所述道路压盖组合,在每遍历到一个道路压盖组合时,确定该道路压盖组合中被压盖道路是否均具有层级值,若是则将该道路压盖组合中压盖道路的层级值设置为该道路压盖组合中层级值最大的被压盖道路的层级值加Δ,其中Δ为一个预置的大于0的增量值;

判断所有道路压盖组合中压盖道路是否均具有层级值,若是则确定满足结束条件并将本轮得到的各道路的层级值作为相应道路的最终层级值;若否则对各道路压盖组合继续执行下一轮的遍历操作。

5.根据权利要求1所述的方法,其特征在于,在所述确定所述道路组中各道路的压盖关系之前,该方法还包括:确定所述道路组中是否存在压盖关系构成闭环的若干条道路,若存在,则从压盖关系构成闭环的道路中选取其中一条道路,在该选取道路中处于闭环内的部分选取一个断点,将该道路在所述断点打断成两条新的道路,并根据该选取道路与其它道路的压盖关系调整该两条新的道路与相应的其它道路的压盖关系。

6.根据权利要求5所述的方法,其特征在于,所述确定所述道路组中是否存在压盖关系构成闭环的若干条道路,包括:从道路组中查找一条道路,并执行以下步骤:

步骤A、从所述道路组中确定查找的道路是否存在压盖道路,若不存在执行步骤B,若存在执行步骤C;

步骤B、将查找的道路标记为已选道路,从道路组中查找一条非已选道路执行步骤A;

步骤C、从所述道路组中寻找以查找的道路为起点的压盖道路链直到所述压盖道路链满足第一终止条件或第二终止条件为止,其中:所述压盖道路链中相邻两条道路的后者压盖前者,第一终止条件:压盖道路链末端道路在所述道路组中不存在压盖道路;第二终止条件:压盖道路链末端道路在所述压盖道路链中出现两次;

步骤D、若所述压盖道路链满足第一终止条件,则执行步骤F;若所述压盖道路链满足第二终止条件则执行步骤E;

步骤E、将所述压盖道路链中位于两个末端道路之间的道路以及末端道路确定为压盖关系构成闭环的若干条道路,并执行步骤F;

步骤F、将所述压盖道路链中的道路标记为已选道路,若道路组中还存在非已选道路则从道路组中查找一条非已选道路执行前述步骤A,若道路组中不存在非已选道路则结束流程。

7.根据权利要求6所述的方法,其特征在于,所述根据该选取道路与其它道路的压盖关系调整该两条新的道路与相应的其它道路的压盖关系,包括:将所述闭环中位于选取的道路之前的相邻道路作为第一道路,将闭环中位于选取的道路之后的相邻道路作为第二道路;

将两条新的道路中与所述第一道路相邻的一条,设置为所述第一道路的压盖道路;

将两条新的道路中与所述第二道路相邻的一条,设置为所述第二道路的被压盖道路。

8.一种道路绘制装置,其特征在于,包括:

道路组确定单元,用于确定出待绘制对象所包含的道路中存在压盖关系的道路组;

压盖关系确定单元,用于确定所述道路组中各道路的压盖关系;

层级划分单元,用于根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,其中,压盖关系中压盖道路的层级高于被压盖道路的层级;

道路绘制单元,用于按照层级关系由低至高的顺序依次绘制所述道路组中的道路;

其中,所述道路组确定单元包括:

目标形状点确定子单元,用于从所述待绘制对象所包含的各条道路分别关联的形状点中,确定目标形状点,所述目标形状点为所在位置处关联有至少两条道路的形状点;

道路取并集子单元,用于将各目标形状点关联的道路取并集,得到存在压盖关系的道路组。

9.根据权利要求8所述的装置,其特征在于,所述压盖关系确定单元包括:压盖道路选取子单元,用于在所述道路组中选取压盖有其它道路的压盖道路;

压盖组合构建子单元,用于针对每一个压盖道路,以所述压盖道路以及被其所压盖的所有被压盖道路建立压盖关系,并构建道路压盖组合。

10.根据权利要求9所述的装置,其特征在于,所述层级划分单元包括:第一层级划分子单元,用于将所述道路组中各道路设置相同的初始层级值;

第二层级划分子单元,用于对各道路压盖组合进行多轮遍历直到满足结束条件为止,针对每一轮遍历,执行以下操作:逐个遍历所述道路压盖组合,在每遍历到一个道路压盖组合时,将该道路压盖组合中压盖道路的层级值设置为该道路压盖组合中层级值最大的被压盖道路的层级值加Δ,其中Δ为一个预置的大于0的增量值;

第三层级划分子单元,用于判断所有道路压盖组合中压盖道路本轮遍历得到的层级值与前一轮遍历得到的层级值是否均一致,若是则确定满足结束条件并将本轮得到的各道路的层级值作为相应道路的最终层级值;若否则对各道路压盖组合继续执行下一轮的遍历操作。

11.根据权利要求9所述的装置,其特征在于,所述层级划分单元包括:第四层级划分子单元,用于从所述道路组中选取不压盖任何其它道路的道路,将选取的道路设置相同的初始层级值;

第五层级划分子单元,用于对各道路压盖组合进行多轮遍历直到满足结束条件为止,针对每一轮遍历,执行以下操作:逐个遍历所述道路压盖组合,在每遍历到一个道路压盖组合时,确定该道路压盖组合中被压盖道路是否均具有层级值,若是则将该道路压盖组合中压盖道路的层级值设置为该道路压盖组合中层级值最大的被压盖道路的层级值加Δ,其中Δ为一个预置的大于0的增量值;

第六层级划分子单元,用于判断所有道路压盖组合中压盖道路是否均具有层级值,若是则确定满足结束条件并将本轮得到的各道路的层级值作为相应道路的最终层级值;若否则对各道路压盖组合继续执行下一轮的遍历操作。

12.根据权利要求8所述的装置,其特征在于,还包括:

闭环判断单元,用于在所述压盖关系确定单元确定所述道路组中各道路的压盖关系之前,确定所述道路组中是否存在压盖关系构成闭环的若干条道路;

道路打断单元,用于在所述闭环判断单元确定存在时,从压盖关系构成闭环的道路中选取其中一条道路,在该选取道路中处于闭环内的部分选取一个断点,将该道路在所述断点打断成两条新的道路;

压盖关系调整单元,用于根据该选取道路与其它道路的压盖关系调整该两条新的道路与相应的其它道路的压盖关系。

13.根据权利要求12所述的装置,其特征在于,所述闭环判断单元包括:第一闭环判断子单元,用于从道路组中查找一条道路;

第二闭环判断子单元,用于从所述道路组中确定查找的道路是否存在压盖道路,若不存在执行第三闭环判断子单元,若存在执行第四闭环判断子单元;

第三闭环判断子单元,用于将查找的道路标记为已选道路,从道路组中查找一条非已选道路返回执行第一闭环判断子单元;

第四闭环判断子单元,用于从所述道路组中寻找以查找的道路为起点的压盖道路链直到所述压盖道路链满足第一终止条件或第二终止条件为止,其中:所述压盖道路链中相邻两条道路的后者压盖前者,第一终止条件:压盖道路链末端道路在所述道路组中不存在压盖道路;第二终止条件:压盖道路链末端道路在所述压盖道路链中出现两次;若所述压盖道路链满足第一终止条件,则执行第六闭环判断子单元,若所述压盖道路链满足第二终止条件,则执行第五闭环判断子单元;

第五闭环判断子单元,用于将所述压盖道路链中位于两个末端道路之间的道路以及末端道路确定为压盖关系构成闭环的若干条道路,并执行第六闭环判断子单元;

第六闭环判断子单元,用于将所述压盖道路链中的道路标记为已选道路,若道路组中还存在非已选道路则从道路组中查找一条非已选道路返回执行第一闭环判断子单元,若道路组中不存在非已选道路则结束流程。

14.根据权利要求13所述的装置,其特征在于,所述压盖关系调整单元包括:第一压盖关系调整子单元,用于将所述闭环中位于选取的道路之前的相邻道路作为第一道路,将闭环中位于选取的道路之后的相邻道路作为第二道路;

第二压盖关系调整子单元,用于将两条新的道路中与所述第一道路相邻的一条,设置为所述第一道路的压盖道路;

第三压盖关系调整子单元,用于将两条新的道路中与所述第二道路相邻的一条,设置为所述第二道路的被压盖道路。

说明书 :

一种道路绘制方法及装置

技术领域

[0001] 本申请涉及电子地图绘制技术领域,更具体地说,涉及一种道路绘制方法及装置。

背景技术

[0002] 在电子地图中,某些对象的道路组成复杂,可能包含多条道路。如立交桥、高架桥、桥梁、隧道等由多条道路组成,且可能包含错综复杂的多层道路,且不同道路之间可能存在相互交叠的区域。
[0003] 在电子地图中如何绘制此类道路,以使得对象所包含的道路层次关系较为清楚,能够为了让用户直观的看出道路的层级关系成为行业内亟需解决的问题。

发明内容

[0004] 有鉴于此,本申请提供了一种道路绘制方法及装置,以使得绘制出的对象所包含的道路层次关系更加清楚,便于用户直观看出道路的层级关系。
[0005] 为了实现上述目的,现提出的方案如下:
[0006] 一种道路绘制方法,包括:
[0007] 确定出待绘制对象所包含的道路中存在压盖关系的道路组;
[0008] 确定所述道路组中各道路的压盖关系;
[0009] 根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,其中,压盖关系中压盖道路的层级高于被压盖道路的层级;
[0010] 按照层级关系由低至高的顺序依次绘制所述道路组中的道路。
[0011] 优选地,所述确定出待绘制对象所包含的道路中存在压盖关系的道路组,包括:
[0012] 从所述待绘制对象所包含的各条道路分别关联的形状点中,确定目标形状点,所述目标形状点为所在位置处关联有至少两条道路的形状点;
[0013] 将各目标形状点关联的道路取并集,得到存在压盖关系的道路组。
[0014] 优选地,所述确定所述道路组中各道路的压盖关系,包括:
[0015] 在所述道路组中选取压盖有其它道路的压盖道路;
[0016] 针对每一个压盖道路,以所述压盖道路以及被其所压盖的所有被压盖道路建立压盖关系,并构建道路压盖组合。
[0017] 优选地,所述根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,包括:
[0018] 将所述道路组中各道路设置相同的初始层级值;
[0019] 对各道路压盖组合进行多轮遍历直到满足结束条件为止,针对每一轮遍历,执行以下操作:
[0020] 逐个遍历所述道路压盖组合,在每遍历到一个道路压盖组合时,将该道路压盖组合中压盖道路的层级值设置为该道路压盖组合中层级值最大的被压盖道路的层级值加Δ,其中Δ为一个预置的大于0的增量值;
[0021] 判断所有道路压盖组合中压盖道路本轮遍历得到的层级值与前一轮遍历得到的层级值是否均一致,若是则确定满足结束条件并将本轮得到的各道路的层级值作为相应道路的最终层级值;若否则对各道路压盖组合继续执行下一轮的遍历操作。
[0022] 优选地,所述根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,包括:
[0023] 从所述道路组中选取不压盖任何其它道路的道路,将选取的道路设置相同的初始层级值;
[0024] 对各道路压盖组合进行多轮遍历直到满足结束条件为止,针对每一轮遍历,执行以下操作:
[0025] 逐个遍历所述道路压盖组合,在每遍历到一个道路压盖组合时,确定该道路压盖组合中被压盖道路是否均具有层级值,若是则将该道路压盖组合中压盖道路的层级值设置为该道路压盖组合中层级值最大的被压盖道路的层级值加Δ,其中Δ为一个预置的大于0的增量值;
[0026] 判断所有道路压盖组合中压盖道路是否均具有层级值,若是则确定满足结束条件并将本轮得到的各道路的层级值作为相应道路的最终层级值;若否则对各道路压盖组合继续执行下一轮的遍历操作。
[0027] 优选地,在所述确定所述道路组中各道路的压盖关系之前,该方法还包括:
[0028] 确定所述道路组中是否存在压盖关系构成闭环的若干条道路,若存在,则从压盖关系构成闭环的道路中选取其中一条道路,在该选取道路中处于闭环内的部分选取一个断点,将该道路在所述断点打断成两条新的道路,并根据该选取道路与其它道路的压盖关系调整该两条新的道路与相应的其它道路的压盖关系。
[0029] 优选地,所述确定所述道路组中是否存在压盖关系构成闭环的若干条道路,包括:
[0030] 从道路组中查找一条道路,并执行以下步骤:
[0031] 步骤A、从所述道路组中确定查找的道路是否存在压盖道路,若不存在执行步骤B,若存在执行步骤C;
[0032] 步骤B、将查找的道路标记为已选道路,从道路组中查找一条非已选道路执行步骤A;
[0033] 步骤C、从所述道路组中寻找以查找的道路为起点的压盖道路链直到所述压盖道路链满足第一终止条件或第二终止条件为止,其中:所述压盖道路链中相邻两条道路的后者压盖前者,第一终止条件:压盖道路链末端道路在所述道路组中不存在压盖道路;第二终止条件:压盖道路链末端道路在所述压盖道路链中出现两次;
[0034] 步骤D、若所述压盖道路链满足第一终止条件,则执行步骤F;若所述压盖道路链满足第二终止条件则执行步骤E;
[0035] 步骤E、将所述压盖道路链中位于两个末端道路之间的道路以及末端道路确定为压盖关系构成闭环的若干条道路,并执行步骤F;
[0036] 步骤F、将所述压盖道路链中的道路标记为已选道路,若道路组中还存在非已选道路则从道路组中查找一条非已选道路执行前述步骤A,若道路组中不存在非已选道路则结束流程。
[0037] 优选地,所述根据该选取道路与其它道路的压盖关系调整该两条新的道路与相应的其它道路的压盖关系,包括:
[0038] 将所述闭环中位于选取的道路之前的相邻道路作为第一道路,将闭环中位于选取的道路之后的相邻道路作为第二道路;
[0039] 将两条新的道路中与所述第一道路相邻的一条,设置为所述第一道路的压盖道路;
[0040] 将两条新的道路中与所述第二道路相邻的一条,设置为所述第二道路的被压盖道路。
[0041] 一种道路绘制装置,包括:
[0042] 道路组确定单元,用于确定出待绘制对象所包含的道路中存在压盖关系的道路组;
[0043] 压盖关系确定单元,用于确定所述道路组中各道路的压盖关系;
[0044] 层级划分单元,用于根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,其中,压盖关系中压盖道路的层级高于被压盖道路的层级;
[0045] 道路绘制单元,用于按照层级关系由低至高的顺序依次绘制所述道路组中的道路。
[0046] 优选地,所述道路组确定单元包括:
[0047] 目标形状点确定子单元,用于从所述待绘制对象所包含的各条道路分别关联的形状点中,确定目标形状点,所述目标形状点为所在位置处关联有至少两条道路的形状点;
[0048] 道路取并集子单元,用于将各目标形状点关联的道路取并集,得到存在压盖关系的道路组。
[0049] 优选地,所述压盖关系确定单元包括:
[0050] 压盖道路选取子单元,用于在所述道路组中选取压盖有其它道路的压盖道路;
[0051] 压盖组合构建子单元,用于针对每一个压盖道路,以所述压盖道路以及被其所压盖的所有被压盖道路建立压盖关系,并构建道路压盖组合。
[0052] 优选地,所述层级划分单元包括:
[0053] 第一层级划分子单元,用于将所述道路组中各道路设置相同的初始层级值;
[0054] 第二层级划分子单元,用于对各道路压盖组合进行多轮遍历直到满足结束条件为止,针对每一轮遍历,执行以下操作:逐个遍历所述道路压盖组合,在每遍历到一个道路压盖组合时,将该道路压盖组合中压盖道路的层级值设置为该道路压盖组合中层级值最大的被压盖道路的层级值加Δ,其中Δ为一个预置的大于0的增量值;
[0055] 第三层级划分子单元,用于判断所有道路压盖组合中压盖道路本轮遍历得到的层级值与前一轮遍历得到的层级值是否均一致,若是则确定满足结束条件并将本轮得到的各道路的层级值作为相应道路的最终层级值;若否则对各道路压盖组合继续执行下一轮的遍历操作。
[0056] 优选地,所述层级划分单元包括:
[0057] 第四层级划分子单元,用于从所述道路组中选取不压盖任何其它道路的道路,将选取的道路设置相同的初始层级值;
[0058] 第五层级划分子单元,用于对各道路压盖组合进行多轮遍历直到满足结束条件为止,针对每一轮遍历,执行以下操作:逐个遍历所述道路压盖组合,在每遍历到一个道路压盖组合时,确定该道路压盖组合中被压盖道路是否均具有层级值,若是则将该道路压盖组合中压盖道路的层级值设置为该道路压盖组合中层级值最大的被压盖道路的层级值加Δ,其中Δ为一个预置的大于0的增量值;
[0059] 第六层级划分子单元,用于判断所有道路压盖组合中压盖道路是否均具有层级值,若是则确定满足结束条件并将本轮得到的各道路的层级值作为相应道路的最终层级值;若否则对各道路压盖组合继续执行下一轮的遍历操作。
[0060] 优选地,还包括:
[0061] 闭环判断单元,用于在所述压盖关系确定单元确定所述道路组中各道路的压盖关系之前,确定所述道路组中是否存在压盖关系构成闭环的若干条道路;
[0062] 道路打断单元,用于在所述闭环判断单元确定存在时,从压盖关系构成闭环的道路中选取其中一条道路,在该选取道路中处于闭环内的部分选取一个断点,将该道路在所述断点打断成两条新的道路;
[0063] 压盖关系调整单元,用于根据该选取道路与其它道路的压盖关系调整该两条新的道路与相应的其它道路的压盖关系。
[0064] 优选地,所述闭环判断单元包括:
[0065] 第一闭环判断子单元,用于从道路组中查找一条道路;
[0066] 第二闭环判断子单元,用于从所述道路组中确定查找的道路是否存在压盖道路,若不存在执行第三闭环判断子单元,若存在执行第四闭环判断子单元;
[0067] 第三闭环判断子单元,用于将查找的道路标记为已选道路,从道路组中查找一条非已选道路返回执行第一闭环判断子单元;
[0068] 第四闭环判断子单元,用于从所述道路组中寻找以查找的道路为起点的压盖道路链直到所述压盖道路链满足第一终止条件或第二终止条件为止,其中:所述压盖道路链中相邻两条道路的后者压盖前者,第一终止条件:压盖道路链末端道路在所述道路组中不存在压盖道路;第二终止条件:压盖道路链末端道路在所述压盖道路链中出现两次;若所述压盖道路链满足第一终止条件,则执行第六闭环判断子单元,若所述压盖道路链满足第二终止条件,则执行第五闭环判断子单元;
[0069] 第五闭环判断子单元,用于将所述压盖道路链中位于两个末端道路之间的道路以及末端道路确定为压盖关系构成闭环的若干条道路,并执行第六闭环判断子单元;
[0070] 第六闭环判断子单元,用于将所述压盖道路链中的道路标记为已选道路,若道路组中还存在非已选道路则从道路组中查找一条非已选道路返回执行第一闭环判断子单元,若道路组中不存在非已选道路则结束流程。
[0071] 优选地,所述压盖关系调整单元包括:
[0072] 将所述闭环中位于选取的道路之前的相邻道路作为第一道路,将闭环中位于选取的道路之后的相邻道路作为第二道路;
[0073] 将两条新的道路中与所述第一道路相邻的一条,设置为所述第一道路的压盖道路;
[0074] 将两条新的道路中与所述第二道路相邻的一条,设置为所述第二道路的被压盖道路。
[0075] 从上述的技术方案可以看出,本申请实施例提供的道路绘制方法,确定出待绘制对象所包含的道路中存在压盖关系的道路组,进一步确定所述道路组中各道路的压盖关系,根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,其中,压盖关系中压盖道路的层级高于被压盖道路的层级,最后按照层级关系由低至高的顺序依次绘制所述道路组中的道路。由于本申请从待绘制对象所包含的道路中确定出存在压盖关系的道路组,并对道路组内道路进行层级划分,压盖道路的层级高于被压盖道路的层级,据此按照层级关系由低至高的顺序,依次绘制每一层的道路;由于在划分层级时确保了压盖道路的层级高于被压盖道路的层级,从而使得绘制得到的层级关系中压盖道路必然不会被被压盖道路压盖,使得最终绘制出的对象所包含的道路层次关系更加清楚更准确,更加便于用户直观看出道路的层次关系。

附图说明

[0076] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0077] 图1为本申请示例的一种道路绘制过程各阶段效果图;
[0078] 图2为本申请示例的另一种道路绘制过程各阶段效果图;
[0079] 图3为本申请实施例公开的一种道路绘制方法流程图;
[0080] 图4为本申请实施例公开的一种确定存在压盖关系的道路组的方法流程图;
[0081] 图5为本申请实施例公开的另一种道路绘制方法流程图;
[0082] 图6为本申请示例的一种闭环道路打断过程各阶段示意图;
[0083] 图7为本申请实施例公开的一种道路绘制装置结构示意图。

具体实施方式

[0084] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0085] 对于立交桥等包含多条道路的对象,为了使得绘制结果能够清晰的体现道路之间的层级关系,本申请发明人进行了如下研究。
[0086] 以待绘制对象包含具有压盖关系的两条道路L1和L2为例进行说明,其中道路L2位于L1上层,能够压盖部分L1。
[0087] 首先,发明人尝试绘制方式如下:
[0088] 参见图1:
[0089] 第一步:绘制道路L1的描边(图1示例的描边为黑色);
[0090] 第二步:绘制道路L2的描边;
[0091] 第三步:填充道路L1的心(图1示例了L1的心为白色);
[0092] 第四步:填充道路L2的心(图1示例了L2的心为灰色)。
[0093] 最终得到的绘制结果参见图1中左下角的图形,由此可见,道路L2与道路L1的压盖区域L2的边被L1的心遮挡了,不能很好的体现L1和L2的层级关系。
[0094] 为此,发明人继续研究,本最终得出本申请的方案。
[0095] 为了直观的了解本申请的方案,通过一个具体实例对方案进行简单介绍。
[0096] 仍以待绘制对象包含具有压盖关系的两条道路L1和L2为例进行说明,其中道路L2位于L1上层,能够压盖部分L1。
[0097] 参见图2:
[0098] 第一步:绘制道路L1的描边(图1示例的描边为黑色);
[0099] 第二步:填充道路L1的心(图1示例了L1的心为白色);
[0100] 第三步:绘制道路L2的描边;
[0101] 第四步:填充道路L2的心(图1示例了L2的心为灰色)。
[0102] 最终得到的绘制结果参见图2中左下角的图形。对比图1和图2的绘制结果可见,图2的绘制结果能够清晰的体现出两条道路的层级关系。
[0103] 接下来,本申请实施例对道路绘制方法进行详细介绍。
[0104] 本申请的道路绘制方法可以应用于地图客户端,由地图客户端在确定需要显示的对象时,按照本申请的方法对该对象进行绘制,进而显示。
[0105] 参见图3,图3为本申请实施例公开的一种道路绘制方法流程图。
[0106] 如图3所示,该方法包括:
[0107] 步骤S100、确定出待绘制对象所包含的道路中存在压盖关系的道路组;
[0108] 具体地,待绘制对象可以是立交桥、高架桥等对象,此类对象一般包含多条道路,且多条道路之间可能存在相互压盖的情况。本步骤可以在待绘制对象所包含的道路集合中,确定出存在压盖关系的道路组。其中,所述压盖关系用于表示道路在空间中垂直方向上存在重叠区域。
[0109] 由于绘制操作是在二维平面内进行,因此实际空间中三维道路在绘制时被投影到二维平面上,若两条道路投影到二维平面后存在重叠区域,则代表两条道路存在压盖关系。
[0110] 步骤S110、确定所述道路组中各道路的压盖关系;
[0111] 具体地,压盖关系可以通过多种形式进行表示,只要确保能够体现道路组中各条道路间的压盖关系即可。
[0112] 步骤S120、根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分;
[0113] 本申请可以按照设定的层级划分策略,根据道路组中各道路的压盖关系,对道路组内各道路进行层级划分,其中,压盖关系中压盖道路的层级高于被压盖道路的层级,以保证层级划分后处于高层级的道路不会被处于低层级的道路压盖。
[0114] 以图2示例的情况为例,由于道路L2压盖住道路L1,因此可以将道路L2划分为第一层级,将道路L1划分为第二层级,且第一层级高于第二层级。
[0115] 步骤S130、按照层级关系由低至高的顺序依次绘制所述道路组中的道路。
[0116] 具体地,对道路进行绘制的方式可以是:绘制道路的描边并填充道路的心。
[0117] 需要说明的是,待绘制对象所包含的道路集合中可能还包含有除所述道路组之外的其它道路,由于其它道路不存在压盖关系,因此其绘制顺序不会影响最终道路的层级显示效果,对于其它道路的绘制顺序本申请不做严格限定。其可以是最后进行绘制,也可以是最开始进行绘制,或者是在道路组内任意一个道路绘制的前/后进行绘制。
[0118] 本申请实施例提供的道路绘制方法,确定出待绘制对象所包含的道路中存在压盖关系的道路组,进一步确定所述道路组中各道路的压盖关系,根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,其中,压盖关系中压盖道路的层级高于被压盖道路的层级,最后按照层级关系由低至高的顺序依次绘制所述道路组中的道路。由于本申请从待绘制对象所包含的道路中确定出存在压盖关系的道路组,并对道路组内道路进行层级划分,压盖道路的层级高于被压盖道路的层级,据此按照层级关系由低至高的顺序,依次绘制每一层的道路,最终绘制出的对象所包含的道路层次关系更加清楚,更加便于用户直观看出道路的层次关系。
[0119] 在本申请的一个实施例中,对上述步骤S100中确定待绘制对象所包含的道路中存在压盖关系的道路组的过程进行介绍。如图4所示,方法包括:
[0120] 步骤S200、从所述待绘制对象所包含的各条道路分别关联的形状点中,确定目标形状点;
[0121] 其中,所述目标形状点为所在位置处关联有至少两条道路的形状点。
[0122] 可以理解的是,道路在数据库中是以形状点集合的形式存储的,形状点集合中包含若干形状点的位置信息。若存在至少两条道路,其各自的形状点集合中包含相同的形状点,也即两条道路在二维平面上的投影轨迹相交叉,该交叉点对应的形状点分别属于两条道路的形状点集合。对于此类的形状点,确定为目标形状点。
[0123] 可选的,本申请可以在道路的形状点集合中预先标记出目标形状点。
[0124] 步骤S210、将各目标形状点关联的道路取并集,得到存在压盖关系的道路组。
[0125] 具体地,步骤S200中确定的目标形状点可以是一个或多个,对于目标形状点关联的道路取并集,可以排除重复的道路,取并集后得到的道路组即为确定的存在压盖关系的道路组。
[0126] 本实施例介绍了一种确定存在压盖关系的道路组的具体实施方式,即在道路的形状点集合中确定目标形状点,进而对目标形状点关联的道路取并集,得到道路组。
[0127] 可选的,对于上述步骤S210,将各目标形状点关联的道路取并集,得到存在压盖关系的道路组的具体实施过程,可以是:
[0128] 第一,获取预存储的与所述目标形状点对应的压盖信息。
[0129] 具体地,所述压盖信息可以包括与所述目标形状点关联的各条道路的压盖关系。
[0130] 需要说明的是,一个目标形状点关联的具有压盖关系的道路可以是两条或者两条以上,则目标形状点关联的各条道路的压盖关系具体是指两两道路之间的压盖关系,例如目标形状点A关联道路1、道路2、道路3,则对应的压盖关系包括:道路1与道路2的压盖关系(如道路1压盖道路2,则将道路1称为道路2的压盖道路,道路2称为道路1的被压盖道路),道路2和道路3的压盖关系、道路1和道路3的压盖关系。
[0131] 本申请可以预先存储各个目标形状点关联的各条道路的压盖关系。目标形状点对应的压盖信息可以单独存储为一份文件,也可以是存储在目标形状点所属的形状点集合中。
[0132] 比较简单的,若目标形状点关联的道路为两条,则压盖关系可以包括两条道路中哪一条为压盖道路,哪一条为被压盖道路。举例如:压盖信息包括:uplink为ID2,downlink为ID1,其中uplink代表压盖道路,downlink代表被压盖道路。当然,还可以以其它形式进行存储,只要能够体现道路的压盖关系即可。
[0133] 若目标形状点关联的道路为两条以上时,则压盖关系可以包括任意两条道路的压盖关系。举例如,在目标形状点关联有3条道路,3条道路的ID分别为ID1、ID2和ID3。则压盖信息可以包括:ID1对应的道路压盖ID2对应道路,ID1对应道路压盖ID3对应道路,ID2对应的道路压盖ID3对应的道路。或者可以按照统一格式存储,如,其中<>中按照排序顺序,处于前面的ID对应的道路能够压盖住处于后面的ID对应的道路。
[0134] 当然,还可以设置其它存储形式,只要能够体现目标形状点关联的各条道路的压盖关系即可。
[0135] 第二,根据所述压盖信息,确定存在压盖关系的道路组。
[0136] 具体地,根据各个目标形状点对应的压盖信息,能够确定出存在压盖关系的道路,组成道路组。
[0137] 具体实施时,可以是:
[0138] 首先,根据各目标形状点对应的压盖信息,确定与各目标形状点关联的道路子集。
[0139] 由上可知,压盖信息包含了目标形状点关联的各条道路,因此可以通过压盖信息确定目标形状点关联的道路,组成道路子集。
[0140] 其次,对与各目标形状点关联的道路子集取并集,结果确定为存在压盖关系的道路组。
[0141] 对各个道路子集取并集,能够排除重复的道路。举例如,三个目标形状点分别关联的道路子集为:
[0142] 目标形状点1对应道路子集1所包含道路的ID为:ID1、ID2、ID3;
[0143] 目标形状点2对应道路子集2所包含道路的ID为:ID1、ID4、ID6;
[0144] 目标形状点3对应道路子集3所包含道路的ID为:ID3、ID4、ID6。
[0145] 因此,对三个子集取并集后得到的道路组所包含的道路的ID为:ID1、ID2、ID3、ID4、ID6。
[0146] 在本申请的另一个实施例中,对确定所述道路组中各道路的压盖关系的过程进行介绍,该过程包括:
[0147] 1、在所述道路组中选取压盖有其它道路的压盖道路;
[0148] 2、针对每一个压盖道路,以所述压盖道路以及被其所压盖的所有被压盖道路建立压盖关系,并构建道路压盖组合。
[0149] 举例如:道路组中包含4条道路,ID分别为:ID1、ID2、ID3、ID4。
[0150] 其中,ID1对应的道路压盖ID2及ID3对应的道路,ID3对应的道路压盖ID4对应的道路。则对于道路组构建的道路压盖组合可以包括:
[0151] 。其中,<>中按照排序顺序,首个ID对应的道路能够压盖住处于其后面的ID对应的道路。
[0152] 本申请进一步公开了一种道路层级划分方法。
[0153] 基于上述实施例中确定压盖关系的方式,也即确定出至少一道路压盖组合,本申请的道路层级划分方法如下所示:
[0154] B11、将所述道路组中各道路设置相同的初始层级值;
[0155] 具体地,初始状态下为道路组中各道路设置相同的初始层级值,例如设置为t。
[0156] B12、对各道路压盖组合进行多轮遍历直到满足结束条件为止;
[0157] 其中,针对每一轮遍历,执行以下操作:
[0158] 逐个遍历所述道路压盖组合,在每遍历到一个道路压盖组合时,将该道路压盖组合中压盖道路的层级值设置为该道路压盖组合中层级值最大的被压盖道路的层级值加Δ,其中Δ为一个预置的大于0的增量值。
[0159] B13、判断所有道路压盖组合中压盖道路本轮遍历得到的层级值与前一轮遍历得到的层级值是否均一致,若是则确定满足结束条件并将本轮得到的各道路的层级值作为相应道路的最终层级值;若否则对各道路压盖组合继续执行下一轮的遍历操作。
[0160] 按照本实施例提供的层级划分方式,能够保证划分后高层级的道路不被低层级的道路所压盖。
[0161] 以压盖关系表示为两个道路压盖组合,分别为第一道路压盖组合和第二道路压盖组合为例,进行说明。
[0162] 首先,设置四条道路的初始层级值均为0。
[0163] 第一轮遍历:
[0164] 遍历至第一个道路压盖组合,由于ID2和ID3对应道路的层级值均为0,因此设置ID1对应的道路的层级值为0+1=1(这里,以Δ=1为例进行说明);
[0165] 遍历至第二个道路压盖组合,由于ID4的层级值为0,因此设置ID3对应的道路的层级值为0+1=1;
[0166] 第二轮遍历:
[0167] 遍历至第一道路压盖组合,由于ID2和ID3对应道路中最大层级值为ID3对应道路的层级值1,因此,设置ID1对应的道路的层级值为1+1=2;
[0168] 遍历至第二道路压盖组合,由于ID4的层级值为0,因此设置ID3对应的道路的层级值为0+1=1。
[0169] 由于本轮压盖道路ID1的层级值2不等于上一轮压盖道路ID1的层级值1,因此继续遍历第三轮。
[0170] 第三轮遍历:
[0171] 遍历至第一道路压盖组合,由于ID2和ID3对应道路中最大层级值为ID3对应道路的层级值1,因此,设置ID1对应的道路的层级值为1+1=2;
[0172] 遍历至第二道路压盖组合,由于ID4的层级值为0,因此设置ID3对应的道路的层级值为0+1=1。
[0173] 由于本轮压盖道路ID1的层级值2等于上一轮压盖道路ID1的层级值2;且,本轮压盖道路ID3的层级值1等于上一轮压盖道路ID3的层级值1,因此停止遍历。
[0174] 最终确定的各条道路的层级值分别如下:
[0175] ID1对应的道路的层级值为:2;
[0176] ID2对应的道路的层级值为:0;
[0177] ID3对应的道路的层级值为:1;
[0178] ID4对应的道路的层级值为:0。
[0179] 因此,按照道路的层级值,将ID2和ID4对应的道路划分为第一层级,将ID3对应的道路划分为第二层级,将ID1对应的道路划分为第三层级。其中,三个层级由低至高的顺序为:第一层级<第二层级<第三层级。
[0180] 在确定了道路的层级之后,按照层级由低至高的顺序,依次绘制每一层级的道路。
[0181] 可以理解的是,对于处于同一层级的多条道路,其绘制顺序可以不做限定。
[0182] 再进一步的,本申请公开了另一种道路层级划分方法。
[0183] 基于上述实施例中确定压盖关系的方式,也即确定出至少一道路压盖组合,本申请的道路层级划分方法如下所示:
[0184] B21、从所述道路组中选取不压盖任何其它道路的道路,将选取的道路设置相同的初始层级值;
[0185] B22、对各道路压盖组合进行多轮遍历直到满足结束条件为止;
[0186] 其中,针对每一轮遍历,执行以下操作:
[0187] 逐个遍历所述道路压盖组合,在每遍历到一个道路压盖组合时,确定该道路压盖组合中被压盖道路是否均具有层级值,若是则将该道路压盖组合中压盖道路的层级值设置为该道路压盖组合中层级值最大的被压盖道路的层级值加Δ,其中Δ为一个预置的大于0的增量值;
[0188] B23判断所有道路压盖组合中压盖道路是否均具有层级值,若是则确定满足结束条件并将本轮得到的各道路的层级值作为相应道路的最终层级值;若否则对各道路压盖组合继续执行下一轮的遍历操作。
[0189] 按照本实施例提供的层级划分方式,能够保证划分后高层级的道路不被第层级的道路所压盖。
[0190] 以压盖关系表示为两个道路压盖组合,分别为第一道路压盖组合和第二道路压盖组合为例,进行说明。
[0191] 首先,由于ID2和ID4对应的道路不压盖任何其它道路,因此设置ID2和ID4对应的道路的初始层级值为0。
[0192] 第一轮遍历:
[0193] 遍历至第一个道路压盖组合,由于ID3对应道路的不存在层级值,略过第一道路压盖组合;
[0194] 遍历至第二个道路压盖组合,由于该组合中被压盖道路ID4存在层级值0,因此设置压盖道路ID3的层级值为0+1=1(这里,以Δ=1为例进行说明);
[0195] 由于本轮遍历后ID1对应的道路不存在层级值,因此继续遍历下一轮。
[0196] 第二轮遍历:
[0197] 遍历至第一个道路压盖组合,由于压盖道路ID2和ID3中层级值最大的为1,因此设置压盖道路ID1的层级值为1+1=2;
[0198] 遍历至第二个道路压盖组合,由于该组合中被压盖道路ID4存在层级值0,因此设置压盖道路ID3的层级值为0+1=1;
[0199] 由于本轮遍历后各个道路均存在层级值,结束遍历。
[0200] 最终确定的各条道路的层级值分别如下:
[0201] ID1对应的道路的层级值为:2;
[0202] ID2对应的道路的层级值为:0;
[0203] ID3对应的道路的层级值为:1;
[0204] ID4对应的道路的层级值为:0。
[0205] 因此,按照道路的层级值,将ID2和ID4对应的道路划分为第一层级,将ID3对应的道路划分为第二层级,将ID1对应的道路划分为第三层级。其中,三个层级由低至高的顺序为:第一层级<第二层级<第三层级。
[0206] 在确定了道路的层级之后,按照层级由低至高的顺序,依次绘制每一层级的道路。
[0207] 在本申请的又一个实施例中,公开了又一种道路绘制方法,参见图5,该方法包括:
[0208] 步骤S300、确定出待绘制对象所包含的道路中存在压盖关系的道路组;
[0209] 步骤S310、确定所述道路组中是否存在压盖关系构成闭环的若干条道路;若存在,执行步骤S320,若不存在,执行步骤S340;
[0210] 举例如,ID1对应的道路压盖ID2对应的道路,ID2对应的道路压盖ID3对应的道路,ID3对应的道路压盖ID1对应的道路。则ID1-ID3三条道路的压盖关系构成闭环。
[0211] 步骤S320、从压盖关系构成闭环的道路中选取其中一条道路,在该选取道路中处于闭环内的部分选取一个断点,将该道路在所述断点打断成两条新的道路;
[0212] 步骤S330、根据该选取道路与其它道路的压盖关系调整该两条新的道路与相应的其它道路的压盖关系,进一步执行步骤S340;
[0213] 为了保证根据道路压盖关系对道路进行层级划分时,同一道路不会出现在两个层级中,需要将道路组中压盖关系存在闭环的若干条道路中的一条道路打断开,以保证打断后新的道路组中各道路之间的压盖关系不存在闭环,进而确定新的道路组中各道路的压盖关系。
[0214] 步骤S340、确定所述道路组中各道路的压盖关系;
[0215] 步骤S350、根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分;
[0216] 步骤S360、按照层级关系由低至高的顺序依次绘制所述道路组中的道路。
[0217] 其中,步骤S300、S340-S360与前述实施例中的S100-S130分别对应,具体实现方式如前述实施例,在此不再赘述。
[0218] 本申请实施例对上述步骤S310,确定所述道路组中是否存在压盖关系构成闭环的若干条道路的过程进行介绍。
[0219] 从道路组中查找一条道路,并执行以下步骤:
[0220] 步骤A、从所述道路组中确定查找的道路是否存在压盖道路,若不存在执行步骤B,若存在执行步骤C;
[0221] 步骤B、将查找的道路标记为已选道路,从道路组中查找一条非已选道路执行步骤A;
[0222] 步骤C、从所述道路组中寻找以查找的道路为起点的压盖道路链直到所述压盖道路链满足第一终止条件或第二终止条件为止,其中:所述压盖道路链中相邻两条道路的后者压盖前者,第一终止条件:压盖道路链末端道路在所述道路组中不存在压盖道路;第二终止条件:压盖道路链末端道路在所述压盖道路链中出现两次;
[0223] 步骤D、若所述压盖道路链满足第一终止条件,则执行步骤F;若所述压盖道路链满足第二终止条件则执行步骤E;
[0224] 步骤E、将所述压盖道路链中位于两个末端道路之间的道路以及末端道路确定为压盖关系构成闭环的若干条道路,并执行步骤F;
[0225] 步骤F、将所述压盖道路链中的道路标记为已选道路,若道路组中还存在非已选道路则从道路组中查找一条非已选道路执行前述步骤A,若道路组中不存在非已选道路则结束流程。
[0226] 举例说明如下:
[0227] 假设道路组中包括L1-L5五条道路。原始压盖关系为:L1压盖L2和L3;L2压盖L4;L4压盖L5;L5压盖L2。
[0228] 首选随机从中查找一条道路,假设为L1。
[0229] L1在道路组中不存在压盖道路,因此将其标记为已选道路,道路组中剩余的非已选道路包括L2-L5。
[0230] 从道路组中再次查找一条非已选道路,假设为L3。
[0231] L3在道路中存在压盖道路L1,由于L1不存在压盖道路,也即压盖道路链为L3-L1。由于压盖道路链通过第一终止条件结束,因此,将压盖道路链包括的L3-L1标记为已选道路,道路组中剩余非已选道路包括L2、L4、L5。
[0232] 从道路组中再次查找一条道路,假设为L2。
[0233] L2在道路中存在压盖道路L5,L5存在压盖道路L4,L4存在压盖道路L2,压盖道路链为:L2-L5-L4-L2。由于压盖道路链中L2在压盖道路链中出现两次,通过第二终止条件结束,因此,将L2、L5、L4确定为压盖关系构成闭环的道路。
[0234] 将L2、L5、L4标记为已选道路,道路组中不存在非已选道路,结束流程。
[0235] 基于上述实施例对确定所述道路组中是否存在压盖关系构成闭环的若干条道路的过程的介绍,本申请实施例进一步对上述步骤S330,根据该选取道路与其它道路的压盖关系调整该两条新的道路与相应的其它道路的压盖关系的过程进行介绍。
[0236] 该过程可以包括:
[0237] 1)将所述闭环中位于选取的道路之前的相邻道路作为第一道路,将闭环中位于选取的道路之后的相邻道路作为第二道路;
[0238] 2)将两条新的道路中与所述第一道路相邻的一条,设置为所述第一道路的压盖道路;
[0239] 3)将两条新的道路中与所述第二道路相邻的一条,设置为所述第二道路的被压盖道路。
[0240] 举例说明:
[0241] 参见图6:假设道路组包含L1、L2和L3三条道路,其中,L1压盖L2,L2压盖L3,L3压盖L1。由此可见,三条道路的压盖关系存在闭环,因此可以选择将其中一条道路打断为两条,如将L1打断为L11和L12两条道路。并设置L3压盖L11、L12压盖L2。调整压盖关系后道路组中各道路的压盖关系如图6所示,可见打断后道路组中不存在压盖关系为闭环的道路。
[0242] 下面对本申请实施例提供的道路绘制装置进行描述,下文描述的道路绘制装置与上文描述的道路绘制方法可相互对应参照。
[0243] 参见图7,图7为本申请实施例公开的一种道路绘制装置结构示意图。
[0244] 如图7所示,该装置包括:
[0245] 道路组确定单元11,用于确定出待绘制对象所包含的道路中存在压盖关系的道路组;
[0246] 具体地,待绘制对象可以是立交桥、高架桥等对象,此类对象一般包含多条道路,且多条道路之间存在相互压盖的情况。
[0247] 所述压盖关系用于表示道路在空间中垂直方向上存在重叠区域。
[0248] 由于绘制操作是在二维平面内进行,因此实际空间中三维道路在绘制时被投影到二维平面上,若两条道路投影到二维平面后存在重叠区域,则代表两条道路存在压盖关系。
[0249] 压盖关系确定单元12,用于确定所述道路组中各道路的压盖关系;
[0250] 层级划分单元13,用于根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,其中,压盖关系中压盖道路的层级高于被压盖道路的层级;
[0251] 道路绘制单元14,用于按照层级关系由低至高的顺序依次绘制所述道路组中的道路。
[0252] 具体地,对道路进行绘制的方式可以是:绘制道路的描边并填充道路的心。
[0253] 本申请实施例提供的道路绘制装置,确定出待绘制对象所包含的道路中存在压盖关系的道路组,进一步确定所述道路组中各道路的压盖关系,根据所述道路组中各道路的压盖关系,对所述道路组中各道路进行层级划分,其中,压盖关系中压盖道路的层级高于被压盖道路的层级,最后按照层级关系由低至高的顺序依次绘制所述道路组中的道路。由于本申请从待绘制对象所包含的道路中确定出存在压盖关系的道路组,并对道路组内道路进行层级划分,压盖道路的层级高于被压盖道路的层级,据此按照层级关系由低至高的顺序,依次绘制每一层的道路,最终绘制出的对象所包含的道路层次关系更加清楚,更加便于用户直观看出道路的层次关系。
[0254] 可选的,所述道路组确定单元可以包括:
[0255] 目标形状点确定子单元,用于从所述待绘制对象所包含的各条道路分别关联的形状点中,确定目标形状点,所述目标形状点为所在位置处关联有至少两条道路的形状点;
[0256] 道路取并集子单元,用于将各目标形状点关联的道路取并集,得到存在压盖关系的道路组。
[0257] 可选的,所述压盖关系确定单元可以包括:
[0258] 压盖道路选取子单元,用于在所述道路组中选取压盖有其它道路的压盖道路;
[0259] 压盖组合构建子单元,用于针对每一个压盖道路,以所述压盖道路以及被其所压盖的所有被压盖道路建立压盖关系,并构建道路压盖组合。
[0260] 基于上述压盖关系确定单元的结构,本申请公开了两种不同结构的层级划分单元,分别如下:
[0261] 第一种结构:
[0262] 所述层级划分单元可以包括:
[0263] 第一层级划分子单元,用于将所述道路组中各道路设置相同的初始层级值;
[0264] 第二层级划分子单元,用于对各道路压盖组合进行多轮遍历直到满足结束条件为止,针对每一轮遍历,执行以下操作:逐个遍历所述道路压盖组合,在每遍历到一个道路压盖组合时,将该道路压盖组合中压盖道路的层级值设置为该道路压盖组合中层级值最大的被压盖道路的层级值加Δ,其中Δ为一个预置的大于0的增量值;
[0265] 第三层级划分子单元,用于判断所有道路压盖组合中压盖道路本轮遍历得到的层级值与前一轮遍历得到的层级值是否均一致,若是则确定满足结束条件并将本轮得到的各道路的层级值作为相应道路的最终层级值;若否则对各道路压盖组合继续执行下一轮的遍历操作。
[0266] 第二种结构:
[0267] 所述层级划分单元可以包括:
[0268] 第四层级划分子单元,用于从所述道路组中选取不压盖任何其它道路的道路,将选取的道路设置相同的初始层级值;
[0269] 第五层级划分子单元,用于对各道路压盖组合进行多轮遍历直到满足结束条件为止,针对每一轮遍历,执行以下操作:逐个遍历所述道路压盖组合,在每遍历到一个道路压盖组合时,确定该道路压盖组合中被压盖道路是否均具有层级值,若是则将该道路压盖组合中压盖道路的层级值设置为该道路压盖组合中层级值最大的被压盖道路的层级值加Δ,其中Δ为一个预置的大于0的增量值;
[0270] 第六层级划分子单元,用于判断所有道路压盖组合中压盖道路是否均具有层级值,若是则确定满足结束条件并将本轮得到的各道路的层级值作为相应道路的最终层级值;若否则对各道路压盖组合继续执行下一轮的遍历操作。
[0271] 可选的,本申请实施例的道路绘制装置还可以包括:
[0272] 闭环判断单元,用于在所述压盖关系确定单元确定所述道路组中各道路的压盖关系之前,确定所述道路组中是否存在压盖关系构成闭环的若干条道路;
[0273] 道路打断单元,用于在所述闭环判断单元确定存在时,从压盖关系构成闭环的道路中选取其中一条道路,在该选取道路中处于闭环内的部分选取一个断点,将该道路在所述断点打断成两条新的道路;
[0274] 压盖关系调整单元,用于根据该选取道路与其它道路的压盖关系调整该两条新的道路与相应的其它道路的压盖关系。
[0275] 可选的,所述闭环判断单元可以包括:
[0276] 第一闭环判断子单元,用于从道路组中查找一条道路;
[0277] 第二闭环判断子单元,用于从所述道路组中确定查找的道路是否存在压盖道路,若不存在执行第三闭环判断子单元,若存在执行第四闭环判断子单元;
[0278] 第三闭环判断子单元,用于将查找的道路标记为已选道路,从道路组中查找一条非已选道路返回执行第一闭环判断子单元;
[0279] 第四闭环判断子单元,用于从所述道路组中寻找以查找的道路为起点的压盖道路链直到所述压盖道路链满足第一终止条件或第二终止条件为止,其中:所述压盖道路链中相邻两条道路的后者压盖前者,第一终止条件:压盖道路链末端道路在所述道路组中不存在压盖道路;第二终止条件:压盖道路链末端道路在所述压盖道路链中出现两次;若所述压盖道路链满足第一终止条件,则执行第六闭环判断子单元,若所述压盖道路链满足第二终止条件,则执行第五闭环判断子单元;
[0280] 第五闭环判断子单元,用于将所述压盖道路链中位于两个末端道路之间的道路以及末端道路确定为压盖关系构成闭环的若干条道路,并执行第六闭环判断子单元;
[0281] 第六闭环判断子单元,用于将所述压盖道路链中的道路标记为已选道路,若道路组中还存在非已选道路则从道路组中查找一条非已选道路返回执行第一闭环判断子单元,若道路组中不存在非已选道路则结束流程。
[0282] 基于上述闭环判断单元的结构,本申请的压盖关系调整单元可以包括:
[0283] 第一压盖关系调整子单元,用于将所述闭环中位于选取的道路之前的相邻道路作为第一道路,将闭环中位于选取的道路之后的相邻道路作为第二道路;
[0284] 第二压盖关系调整子单元,用于将两条新的道路中与所述第一道路相邻的一条,设置为所述第一道路的压盖道路;
[0285] 第三压盖关系调整子单元,用于将两条新的道路中与所述第二道路相邻的一条,设置为所述第二道路的被压盖道路。
[0286] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0287] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0288] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。