消除电子地图中兴趣点标签压盖道路的方法

文档序号:6171436阅读:227来源:国知局
消除电子地图中兴趣点标签压盖道路的方法
【专利摘要】本发明消除电子地图中兴趣点标签压盖道路的方法,涉及修改电子地图的方法。该方法包含:A、对指定等级的道路、兴趣点图层作网格划分,制作每一网格的道路图片转B;B、若道路图层中有未处理网格,则找一未处理网格转C,否则退出;C、若兴趣点图层中对应网格内有未处理兴趣点,则找一未处理兴趣点的标签转D,否则转B;D、若本网格中有未处理道路,则找一未处理道路转E;否则转G;E、对本道路所有路段逐一针对该兴趣点坐标和标签作可疑路段搜索;若有则转F,否则转D;F、对可疑路段作兴趣点标签压盖计算,若有压盖则调整本标签摆放方式,将本网格内所有道路都标为未处理,转D,否则转G;G、将本标签写入本网格的道路图片中,执行C。
【专利说明】消除电子地图中兴趣点标签压盖道路的方法

【技术领域】
[0001]本发明涉及一种修改电子地图的方法。

【背景技术】
[0002]在生成电子地图时,需要使用兴趣点标签(Ρ0Ι标签)对兴趣点进行文字说明,以方便使用者(用户)快速了解地理环境。在电子地图中摆放兴趣点标签是一个很重要的问题,良好的绘制作业应该尽量避免或减少兴趣点标签压盖地图背景中的关键区域。在车载导航应用中道路是最关键信息,而很多兴趣点出现在道路边缘;当道路边缘的兴趣点过多,兴趣点标签压盖道路现像时有发生;严重时可能会影响道路显示,甚至覆盖复杂路口细节等关键信息,影响用户的导航体验。要消除电子地图中兴趣点标签压盖道路,首先要检测出电子地图中兴趣点标签是否压盖了道路,一种常规的检测方法中逐一将道路图层所有道路与每一个兴趣点标签进行比较的计算,计算量很大且毫无关联的无效计算很多;另一种检测方法对一个兴趣点标签,取兴趣点周围某一局部区域(例如五百米以内)的道路出来进行压盖判断计算,以求减少检测计算量;由于兴趣点众多而且每个兴趣点的位置都不一样,因此针对每个兴趣点需要动态的在大量地图数据中检索划分出相应局部区域出来,计算消耗也很大。两种方法检测兴趣点标签压盖道路处理速度慢,不能满足我国城乡建设速度快,道路变化多以及兴趣点增、改频繁的现状下对电子地图导航的需要。


【发明内容】

[0003]本发明旨在提供一种消除电子地图中兴趣点标签压盖道路的方法,以避免上述的缺陷、提高电子地图在导航中的可用性。
[0004]本发明的技术方案是:消除电子地图中兴趣点标签压盖道路的方法,包含的步骤有:
[0005]步骤A,对指定等级的道路图层和兴趣点图层作网格划分,制作每一网格的道路图片,执打步骤B ;
[0006]步骤B,若网格化道路图层中有未处理的网格,则找出一个未处理的网格,执行步骤C,否则退出;
[0007]步骤C,若网格化兴趣点图层中对应网格内有未处理的兴趣点,则找出一个未处理兴趣点的坐标和标签,执行步骤D ;否则执行步骤B ;
[0008]步骤D,若本网格中有未处理的道路,则找出一条未处理的道路,执行步骤E ;否则执行步骤G ;
[0009]步骤E,对本道路的所有路段逐一针对该兴趣点的坐标和标签作可疑路段搜索;若有可疑路段则执行步骤F ;否则返回步骤D ;
[0010]步骤F,对可疑路段作兴趣点标签压盖计算,若有压盖则对本标签的摆放方式作调整,将本网格内所有已处理的道路都改为未处理,转回步骤D ;否则执行步骤G ;
[0011]步骤G,将本兴趣点标签写入本网格的道路图片中,执行步骤C。
[0012]本发明先对指定等级的电子地图的道路图层和兴趣点图层划分网格,制作每一网格的道路图片,可以使后续的兴趣点标签压盖道路检测计算避开无关的网格,减少检测计算量;接着对每个兴趣点所在的网格进行每一条道路上可能出现压盖现象的可疑路段的搜索,过滤到到无关的路段,提取出可能与兴趣点标签产生压盖的可疑路段,大量减少后期待检测候选路段,减少压盖计算量;将可疑路段逐一作压盖检测,找出兴趣点标签与道路产生重叠压盖路段,并对兴趣点标签的摆放方式做出调整,再返回本网格的所有道路中重新作可疑路段搜索及压盖检测。确认无压盖现象后将该兴趣点的标签写入本网格的道路图片中。从而解决了兴趣点的标签对道路图片背景道路区域覆盖的问题,有效地防止了关键信息丢失,增强了导航过程中电子地图的显示效果,改善了导航用户体验。本发明计算量减少了,导致处理速度快,效率高。
[0013]在优选的实施例中:所述的步骤A中对指定等级的电子地图道路图层和兴趣点图层作网格划分,制作每一网格的道路图片处理的子步骤有:
[0014]子步骤Al,得到需要检测道路压盖的地图等级n,将世界电子地图中地图等级为η的道路图层与兴趣点图层划分为2η+1Χ2η+1个网格,分别形成相应的网格化道路图层与网格化兴趣点图层,执行子步骤Α2 ;
[0015]子步骤Α2,取出网格化道路图层中一个未处理网格内所有道路的路段数据,转化成该网格内道路的图像制成该网格的道路图片,执行子步骤A3 ;
[0016]子步骤A3,执行子步骤Α2,直至网格化道路图层中不再有未处理网格。
[0017]如此可以直接建立网格化道路图层与网格化兴趣点图层与各个网格的道路图片的对应关系,为后续处理提供坚实的基础。
[0018]在优选的实施例中:所述的步骤E中对本道路的所有路段逐一针对该兴趣点的坐标和标签作可疑路段搜索,包含的子步骤有:
[0019]子步骤Ε1,若本道路有未处理的路段,则顺序找出本道路内一个未处理的路段,执行子步骤Ε2;否则退出;
[0020]子步骤Ε2,计算该路段Y坐标区间与该兴趣点标签Y坐标区间的交集;若该交集为空?是则执行子步骤Ε3 ;否则将该路段记入可疑路段集H,执行子步骤Ε3 ;
[0021]子步骤Ε3,计算该路段X坐标区间与该兴趣点标签X坐标区间的交集;若该交集为空,则执行子步骤El,否则将该路段记入可疑路段集V,执行子步骤El。
[0022]通过分别用可疑路段集H记载路段Y坐标区间与该兴趣点标签Y坐标区间有交集的可疑路段,用可疑路段集V记载路段X坐标区间与该兴趣点标签X坐标区间有交集的可疑路段,为下一步具体判断压盖时能将横向压盖的计算和判断限定在检测坐标系的第一、第二两个象限以内;将纵向压盖的计算和判断限定在检测坐标系的第一、第四两个象限以内提供了保证。从而可以简化后期压盖分析的计算量,提高处理速度和效率。
[0023]进而:所述的步骤F中对可疑路段作兴趣点标签压盖计算,包含的子步骤有:
[0024]子步骤F1,若可疑路段集H不为空,则顺序取出可疑路段集H —个路段,执行子步骤F2;否则执行子步骤F4;
[0025]子步骤F2,计算该路段与该兴趣点标签的上边缘线的压盖状态;若有压盖,则将压盖标志置为真并退出,否则执行子步骤F3 ;
[0026]子步骤F3,计算该路段与该兴趣点标签的下边缘线的压盖状态;若有压盖,则将压盖标志置为真并退出;否则执行子步骤Fl ;
[0027]子步骤F4,若可疑路段集V不为空,则顺序取出可疑路段集V中一个路段;执行子步骤F5 ;否则退出;
[0028]子步骤F5,计算该路段与该兴趣点标签的左边缘线的压盖状态;若有压盖,则将压盖标志置为真并退出,否则执行子步骤F6 ;
[0029]子步骤F6,计算该路段与该兴趣点标签的右边缘线的压盖状态;若有压盖,则将压盖标志置为真并退出,否则执行子步骤F4。
[0030]这种处理方式利用了可疑路段集H和可疑路段集V,处理效率该、速度快。
[0031]在优选的实施例中:该方法设有调整次数单元,规定兴趣点标签的初始摆放方式是放在该兴趣点右侧;所述的步骤C中,若网格化兴趣点图层中对应网格内有未处理的兴趣点,则找出一个未处理兴趣点的坐标和标签之后,在执行步骤D之前将调整次数单元清零;所述的步骤F中,对可疑路段作兴趣点标签压盖计算,若有压盖则先将调整次数单元加I,当调整次数单元的值为4,就放弃该兴趣点及其标签,转步骤C ;当调整次数单元的值为1,就对本兴趣点标签的摆放方式作放在该兴趣点左侧的调整,转步骤D重新在本网格内作各个道路的可疑路段搜索及压盖计算;当调整次数单元的值为2,就对本兴趣点标签的摆放方式作放在该兴趣点上侧的调整,转步骤D重新在本网格内作各个道路的可疑路段搜索及压盖计算;当调整次数单元的值为3,就对本兴趣点标签的摆放方式作放在该兴趣点下侧的调整,转步骤D重新在本网格内作各个道路的可疑路段搜索及压盖计算。
[0032]这种处理方式,通过规范兴趣点标签的摆放方式的优先次序和放弃在网格中写入有问题的兴趣点标签,可以避免过多的修改带来的大量无谓计算;有利于在提供多种有效的兴趣点标签摆放方式的同时提高处理效率。
[0033]在优选的实施例中:所述的步骤F中,对可疑路段作兴趣点标签压盖计算的方式是:对于每个路段rn分别以其任一端点为原点,以X轴为纬度线方向,Y轴为经度线方向建立临时的检测坐标系,先后取兴趣点标签上、下两条横线以及左、右两条竖线为检测线段,考察该路段rn与该检测线段是否有压盖现象;
[0034]在取兴趣点标签上边缘线TJk为检测线段时,若路段rn与Y轴重合,只有检测线段TJk的两端分别在第一、第二两个不同的象限,才会压盖路段rn ;若路段rn不与Y轴重合,对于路段rn与检测线段TJk的相互关系,用路段rn的斜率kl,检测线段TJk的左端点?Υ与检测坐标系原点连线的斜率k2,检测线段TJk的右端点Tk与检测坐标系原点连线的斜率k3进行判断,判断的标准是:
[0035]一,在检测线段TJk的两个端点分别在检测坐标系的第一、第二两个不同的象限内时,当路段匕在第二象限内,若|k2|>|ki|则没有压盖,否则有压盖;当路段&在第一象限内,若|k3|>|ki|则没有压盖,否则有压盖;
[0036]二,在检测线段TJk的两个端点在检测坐标系的同一象限内时,当检测线段!^,与路段rn在同一象限内,若(kl-k2) X (kl-k3)>0则没有压盖,否则有压盖;当检测线段ΤΛ与路段rn不在同一象限内,没有压盖;
[0037]兴趣点标签下边缘是否压盖的检测与上边缘线的检测相同;
[0038]取兴趣点标签左边缘线TbTt为检测线段,当路段rn与X轴重合时,只有检测线段TbTt跨越第一、四两个象限,才会发生压盖;若路段rn与X轴不重合时,对于路段rn与检测线段TbTt的相互关系,用路段rn的斜率kl’,检测线段TbTt的下端点Tb与检测坐标系原点连线的斜率k2’,检测线段TbTt的上端点Tt与检测坐标系原点连线的斜率k3’进行判断,判断的标准是:
[0039]三,在检测线段TbTt的两个端点分别在检测坐标系的第一、第四两个象限内时,当路段rn在第四象限内,若|k2’|〈|kl’|则没有压盖,否则有压盖;当路段4在第一象限内,若Ik3’ I〈|kr I则没有压盖,否则有压盖;
[0040]四,在检测线段TbTt的两个端点在检测坐标系的同一象限内时,当检测线段TbTt与路段rn在同一象限内,若(kl’ -k2’)X(kl’ -k3’ )>0则没有压盖,否则有压盖;当检测线段TbTt与路段rn不在同一象限内,没有压盖。
[0041]兴趣点标签右边缘是否压盖的检测与以上所述对左边缘的检测相同。
[0042]这种压盖检测方式,计算量小,处理速度快。
[0043]本发明消除电子地图中兴趣点标签压盖道路的方法,利用对电子地图的道路图层和兴趣点图层作网格化划分,对每个兴趣点所在的网格进行每一条道路上可能出现压盖现象的可疑路段的搜索,过滤到到无关的路段,并将可疑的路段分别放在横向压盖的可疑路段集H和纵向压盖的可疑路段集V中,使得具体判断横向压盖时能限定在第一、第二两个象限以内;判断纵向压盖时能限定在第一、第四两个象限以内;以可疑路段任一端点为原点建立临时的检测坐标系,在该坐标系内计算可疑路段另一端点、兴趣点标签被测边缘两个端点与原点斜率,制定处各个斜率间的相互极性与绝对值大小关系判断标准,等技术措施最大限度地减少了非必要的计算,从而提高了处理的效率。本发明构思严谨周密,可以快速、有效地检测兴趣点标签与道路的压盖,避免覆盖道路信息与复杂路口细节等关键信息,最终提升电子地图的道路图片显示效果。本发明将道路与兴趣点标签压盖问题转化为线段相交判断,将复杂计算过程简化,利用斜率符号正负关系与斜率绝对值大小关系进行线段相交判断,避免采用解方程组的复杂方式求解线段相交问题,因此本发明易于实施计算效率高,达到消除压盖的目的同时可以明显提高电子地图的道路图片绘制效率,完全可以满足我国城乡建设速度快,道路变化多以及兴趣点增、改频繁的现状下对电子地图导航的需要。

【专利附图】

【附图说明】
[0044]图1为本发明消除电子地图中兴趣点标签压盖道路的方法一个实施例的处理流程图。
[0045]图2为图1实施例中在本网格内针对该标签作可疑路段搜索的处理流程图。
[0046]图3为图1实施例中对可疑路段作兴趣点标签压盖计算的一部分处理的处理流程图。
[0047]图4为图1实施例中对可疑路段作兴趣点标签压盖计算的另一部分处理的处理流程图。
[0048]图5为图1实施例中对标签中摆放方式作调整的处理流程图。
图6-1为在检测坐标系中路段rn在Y轴上而检测线段TJk在第一像限内且不与路段rn相交的情况。
图6-2为在检测坐标系中路段rn在Y轴上而检测线段TJk跨越第一像限和第二象限且与路段4相交的情况。
图6-3为在检测坐标系中路段rn在Y轴上而检测线段TJk在第二象限内且与不路段rn相交的情况。
图6-4为在检测坐标系中路段rn在第一像限而检测线段TJk在第二象限内的情况。
图6-5为在检测坐标系中路段rn在第一像限而检测线段TJk跨越第一像限和第二象限但不与路段rn相交的情况。
图6-6为在检测坐标系中路段rn在第一像限而检测线段TJk跨越第一像限和第二象限且与路段rn相交的情况。
图6-7为在检测坐标系中路段rn在第一像限而检测线段TJk在第一像限内且位于路段4上方的情况。
图6-8为在检测坐标系中路段rn在第一像限而检测线段TJk在第一像限内且位于路段4下方的情况。
图6-9为在检测坐标系中路段4在第一像限而检测线段TJk在第一像限内且与路段rn相交的情况。
图6-10为在检测坐标系中路段rn在第二像限而检测线段TJk在第一像限内的情况。
图6-11为在检测坐标系中路段&在第二像限而检测线段TJk跨越第一像限和第二象限但不与路段rn相交的情况。
图6-12为在检测坐标系中路段rn在第二像限而检测线段TJk跨越第一像限和第二象限且与路段rn相交的情况。
图6-13为在检测坐标系中路段rn在第二像限而检测线段TJk在第二象限内且与路段rn相交的情况。
图6-14为在检测坐标系中路段rn在第二像限而检测线段TJk在第二象限内且位于路段4上方的情况。
图6-15为在检测坐标系中路段&在第二像限而检测线段TJk在第二象限内且位于路段4下方的情况。
图7-1为在检测坐标系中路段4在X轴上而检测线段TbTt在第一像限内且不与路段rn相交的情况。
图7-2为在检测坐标系中路段rn在X轴上而检测线段TbTt跨越第一像限和第四像限且与路段4相交的情况。
图7-3为在检测坐标系中路段rn在X轴上而检测线段TbTt在第四像限内且不与路段rn相交的情况。
图7-4为在检测坐标系中路段rn在第一像限而检测线段TJk在第四象限内的情况。
图7-5为在检测坐标系中路段4在第一像限而检测线段TbTt跨越第一像限和第四像限且不与路段rn相交的情况。
图7-6为在检测坐标系中路段4在第一像限而检测线段TbTt跨越第一像限和第四像限且与路段rn相交的情况。
图7-7为在检测坐标系中路段4在第一像限而检测线段TbTt在第一像限内且位于路段4上方的情况。
图7-8为在检测坐标系中路段4在第一像限而检测线段TbTt在第一像限内且位于路段4下方的情况。
图7-9为在检测坐标系中路段4在第一像限而检测线段TbTt在第一像限内且与路段rn相交的情况。
图7-10为在检测坐标系中路段4在第四像限而检测线段TbTt在第一像限和第四像限内的情况。
图7-11为在检测坐标系中路段4在第四像限而检测线段TbTt跨越第一像限和第四像限且不与路段rn相交的情况。
图7-12为在检测坐标系中路段4在第四像限而检测线段TbTt跨越第一像限和第四像限且与路段rn相交的情况。
图7-13为在检测坐标系中路段4在第四像限而检测线段TbTt在第四像限内且与路段rn相交的情况。
图7-14为在检测坐标系中路段4在第四像限而检测线段TbTt在第四像限内且位于路段4上方的情况。
图7-15为在检测坐标系中路段4在第一像限而检测线段TbTt在第一像限内且位于路段4下方的情况。
图8为一网格内兴趣点标签“厦门火车北站”与道路有压盖的情况。
图9为一网格内兴趣点标签“厦门火车北站”调整后与道路不再有压盖的情况。

【具体实施方式】
[0049]一、实施例一
[0050]电子地图中用道路图层记载每一条道路的所有直线型的路段,用兴趣点图层记载每一个兴趣点的坐标和标签。对于一个路段&来说,用它的两个端点rnl、rn2来表示,对于一个兴趣点来说,其坐标记为P (Px, Py),其标签的位置记为T(Tleft, Ttop, Tright, Tbottom)。其中Px, Py代表兴趣点位置在电子地图上的横、纵坐标值,Tleft, Ttop, Tright, Tbottom代表矩形的兴趣点标签在电子地图上的左端、上端、右端、下端四个边缘的坐标值。
[0051]本发明消除电子地图中兴趣点标签压盖道路的方法一个实施例的处理流程图,请参看图1。该处理过程包含以下步骤:
[0052]步骤S10,开始本处理过程,执行步骤SI I。
[0053]步骤S11,对指定等级的道路图层和兴趣点图层作网格划分,分别形成相应的网格化图层,制作每一网格的道路图片;执行步骤S12。
[0054]步骤S12,找出网格化道路图层中一个未处理的网格;执行步骤S13。
[0055]步骤S13,找出网格化兴趣点图层对应网格中一个未处理兴趣点的坐标和标签,调整次数清零;执行步骤S14。
[0056]步骤14,找出本网格一条未处理的道路;执行步骤S15。
[0057]步骤S15,在本道路内针对该兴趣点的坐标和标签作可疑路段搜索;执行步骤S16。
[0058]步骤S16,判断是否有可疑路段?是则执行步骤S17 ;否则执行步骤S19。
[0059]步骤S17,对可疑路段作兴趣点标签压盖计算,执行步骤S18。
[0060]步骤S18,判断是否有压盖?是则执行步骤S19 ;否则执行步骤S22。
[0061]步骤S19,调整次数+1 ;执行步骤S20。
[0062]步骤S20,判断调整次数=4 ?是则执行步骤S24 ;否则执行步骤S21。
[0063]步骤S21,调整本兴趣点的标签摆放方式;将本网格内所有已处理的道路都改为未处理;执行步骤S14。
[0064]步骤S22,判断本网格所有道路处理完?是则执行步骤S23 ;否则执行步骤S14。
[0065]步骤S23,按本兴趣点的坐标和其标签当前摆放方式将其标签写入网格化道路图层的本网格的道路图片中;执行步骤S24。
[0066]步骤S24,判断本网格所有兴趣点处理完?是则执行步骤S25 ;否则执行步骤S13。
[0067]步骤S25,判断所有网格处理完?是则执行步骤S26 ;否则执行步骤S12。
[0068]步骤S26,结束本处理过程。
[0069]在检测兴趣点标签是否压盖道路的过程中,由于电子地图的道路图层和兴趣点图层数据量巨大,常规方法会造成巨大的计算消耗,因此需要对电子地图数据源进行合理划分,以达到减少计算量的目的。对道路图层和兴趣点图层作网格划分的处理,就是将电子地图道路图层和兴趣点图层的数据划分为相应的网格区域。处理时,只在兴趣点所在的单个网格区域内部内检测其标签是否存在压盖道路的现象,而不再对其他无关网格区域中的道路进行检测;所以可以减少加载道路的数据量和动态检索划分兴趣点局部区域道路的计算消耗,提高检测速率。
[0070]我们知道地图等级为O时,可以用每行2张、每列2张这样4张特定分辨率的道路图片的阵列表达全世界的主要道路和主要兴趣点的分布。将地图尺度增大,地图等级增加为η时,可以用每行2η+1张、每列2η+1张这样2η+1Χ2η+1张上述特定分辨率的道路图片的阵列表达全世界的相应等级道路和相应等级兴趣点的分布。若将全世界电子地图中地图等级为η的道路图层与兴趣点图层划分为2η+1Χ2η+1个网格,每个网格内相应等级道路和相应等级兴趣点的分布就可以在一张上述特定分辨率的道路图片中体现出来。这里所说的特定分辨率,可以是256X256,也可以使其它便于显示的道路图片分辨率。
[0071]这样一来,上述步骤S11,对指定等级的电子地图道路图层和兴趣点图层作网格划分,制作每一网格的道路图片处理的子步骤有:
[0072]子步骤S111,得到需要检测道路压盖的地图等级η,将世界电子地图中地图等级为η的道路图层与兴趣点图层划分为2η+1Χ2η+1个网格,分别形成相应的网格化道路图层与网格化兴趣点图层,执行子步骤S112 ;
[0073]子步骤S112,取出网格化道路图层中一个未处理网格内所有道路的路段数据,转化成该网格内道路的图像制成该网格的道路图片,执行子步骤S113 ;
[0074]子步骤S113,执行子步骤S112,直至网格化道路图层中不再有未处理网格。
[0075]该步骤通过按地图等级对道路图层与兴趣点图层进行网格划分,将一个网格内待检测道路的路段数据与兴趣点数量都限制在一个比较合理的范围内,可以使后续的兴趣点标签压盖道路检测计算避开无关的网格,减少计算量。
[0076]由于后续每一个兴趣点标签压盖道路的判断,涉及繁复的计算。所以有必要搜索出与兴趣点标签所对应的矩形区域无关的道路路段,并将它们过滤掉,以便进一步减少后续压盖判断的路段数量。
[0077]上述的步骤S15中,在本道路内针对该兴趣点的坐标和标签作可疑路段搜索,将兴趣点标签所对应的矩形区域与该道路在该网格内一个路段所对应的矩形区域的交叉覆盖分为纵向覆盖与横向覆盖两类,按坐标区间交集原则进行搜索和过滤:提取出该路段的纵向(Y)坐标区间与该兴趣点标签的纵向坐标区间,计算这两个区间的交集,该交集不为空的路段为可能纵向覆盖的可疑路段。提取出该路段的横向(X)坐标区间与该兴趣点标签的横向坐标区间,计算这两个区间的交集,该交集不为空的道路段为可能覆盖路段。两个交集均为空的路段在纵向/横向上都不会与该兴趣点标签相交覆盖,因此将它过滤掉。通过对该网格内每一条道路的路段作上述的过滤处理,搜索出所有可疑的道路路段。请参看图2,该搜索处理的流程包含的子步骤有:
[0078]步骤S15,开始本步骤流程,执行子步骤S1501。
[0079]子步骤S1501,顺序找出本道路内一个路段,执行子步骤S1502。
[0080]子步骤S1502,计算该路段Y坐标区间与该兴趣点标签Y坐标区间的交集;执行子步骤S1503。
[0081]子步骤S1503,判断该交集为空?是则执行子步骤S1505,否则执行子步骤1504。
[0082]子步骤S1504,将该路段记入可疑路段集H,执行子步骤S1505。
[0083]子步骤S1505,计算该路段X坐标区间与该兴趣点标签X坐标区间的交集;执行子步骤S1506。
[0084]子步骤S1506,判断该交集为空?是则执行子步骤S1508,否则执行子步骤S1507。
[0085]子步骤S1507,将该路段记入可疑路段集V,执行子步骤S1508。
[0086]子步骤S1508,判断所有路段查完?是则执行子步骤S1509,否则执行子步骤S1501。
[0087]子步骤S1509,结束本步骤流程。
[0088]对可疑路段作兴趣点标签压盖计算的步骤S17利用步骤S15产生的可疑路段集H和可疑路段集V,将兴趣点标签所对应的矩形区域与所在网格内一条道路上可能产生压盖的各个可疑路段逐一进行检测,确定出一个可以产生压盖的路段后就将压盖标志置为真并退出本步骤,若没有可以产生压盖的路段就将压盖标志置为假并退出本步骤。请参看图3,该压盖计算处理的流程包含的子步骤有:
[0089]步骤S17,开始本步骤流程,将压盖标志置为假并执行子步骤S1701。
[0090]子步骤S1701,顺序取出可疑路段集H —个路段,执行子步骤S1502。
[0091]子步骤S1702,计算该路段与该兴趣点标签的上边缘线的压盖状态;执行子步骤S1702。
[0092]子步骤S1703,判断有压盖?是则将压盖标志置为真并执行子步骤S1713,否则执行子步骤S1704。
[0093]子步骤S1704,计算该路段与该兴趣点标签的下边缘线的压盖状态;执行子步骤S1705。
[0094]子步骤S1705,判断有压盖?是则将压盖标志置为真并执行子步骤S1713,否则执行子步骤S1706。
[0095]子步骤S1706,判断可疑路段集H为空?是则执行子步骤S1707,否则执行子步骤S1701。
[0096]子步骤S1707,顺序取出可疑路段集V中一个路段;执行子步骤S1708。
[0097]子步骤S1708,计算该路段与该兴趣点标签的左边缘线的压盖状态;执行子步骤S1709。
[0098]子步骤S1709,判断有压盖?是则将压盖标志置为真并执行子步骤S1713,否则执行子步骤S1710。
[0099]子步骤S1710,计算该路段与该兴趣点标签的右边缘线的压盖状态;执行子步骤S1711。
[0100]子步骤S1711,判断有压盖?是则将压盖标志置为真并执行子步骤S1713,否则执行子步骤S1712。
[0101]子步骤S1712,判断可疑路段集V为空?是则执行子步骤S1713,否则执行子步骤S1707。
[0102]子步骤S1713,结束本步骤流程。
[0103]本步骤S17中对于每个路段&分别以其任一端点为原点(这里假设取rnl),以X轴为纬度线方向,Y轴为经度线方向建立临时的检测坐标系,先后取兴趣点标签上、下两条横线以及左、右两条竖线为检测线段,考察该路段与该检测线段是否有压盖现象。
[0104]例如取兴趣点标签上边缘线TlTk为检测线段,其对应端点坐标为:1\= (Tleft, Ttop), Te= (Tright, Ttop),由于经过步骤S15的可疑路段过滤的处理,检测线段H与路段rn在该检测坐标系内的相对位置关系被约束成第一、二两个像限内15类可能的几何关系,如图6-1至图6-15所示。
[0105]图6-1至图6-3中,路段rn与检测坐标系的纵轴(Y轴)重合;图6_1中,检测线段TJk在检测坐标系第一象限中,不会压盖路段rn。图6-2中,检测线段IYTkW第二象限进入第一象限中,会压盖路段rn。图6-3中,检测线段TJk在第二象限中,也不会压盖路段rn。
[0106]图6-4至图6-9中,路段rn在检测坐标系的第一象限中;图6_4中,检测线段TJk在第二象限中,不会压盖路段rn。图6-5中,检测线段IYTk从第二象限进入第一象限中,但不会压盖路段rn。图6-6中,检测线段TJk从第二象限进入第一象限中,并压盖路段rn。图6-7中,检测线段TJk在第一象限中,并位于路段rn上方,检测线段TJk不会压盖路段rn。图6-8中,检测线段TJk在第一象限中,并位于路段rn下方,检测线段TJk不会压盖路段rn。图6-9中,检测线段IYTk在第一象限中,并压盖路段rn。
[0107]图6-10至图6-15中,路段rn在检测坐标系的第二象限中;图6_10中,检测线段IYTk在第一象限中,不会压盖路段rn。图6-11中,检测线段IYTk从第二象限进入第一象限中,但不会压盖路段rn。图6-12中,检测线段TJk从第二象限进入第一象限中,并压盖路段rn。图6-13中,检测线段ΤΛ在第二象限中压盖路段rn。图6_14中,检测线段TJk在第二象限中,并位于路段rn上方,检测线段IYTk不会压盖路段rn。图6_15中,检测线段TJk在第二象限中,并位于路段rn下方,检测线段IYTk不会压盖路段rn。
[0108]综合以上情况,可以确定:当路段rn与检测坐标系的纵轴(Y轴)重合时,只有检测线段TJk跨越第一、二两个象限,才会发生压盖路段rn的现象。当路段rn与检测坐标系的纵轴(Y轴)不重合时,情况比较复杂。此时对于路段rn与检测线段TJk的相互关系,我们用路段rn的斜率kl,检测线段TJk的左端点IY与原点(rnl)连线的斜率k2,检测线段TJk的右端点Tk与原点(rnl)连线的斜率k3进行判断,判断时使用如下的判断标准:
[0109]在k2Xk3〈0 (即检测线段IYTk的两个端点分别在检测坐标系的两个不同的象限内)时:
[0110]当k2Xkl>0并且k3Xkl〈0 (即检测线段TJk的的左端点与路段rn在检测坐标系的第二象限内,检测线段ιγτκ的右端点在检测坐标系的第一象限内),若I k21 > I kl I (对应图
6-11的几何关系)则没有检测到压盖,否则|k2|( Ikll (对应图6-12的几何关系)检测到压盖;
[0111]当k2Xkl〈0并且k3Xkl>0 (即检测线段TJk的的左端点在检测坐标系的第二象限内,检测线段ιγτκ的右端点与路段&在检测坐标系的第一象限内),若|k3|>|ki| (对应图6-5的几何关系)则没有检测到压盖,否则|k3| ( Ikll (对应图6-6几何关系)检测到压盖;
[0112]在k2Xk3>0 (即检测线段TJk的两个端点在检测坐标系的同一象限内)时:
[0113]当k2 X kl>0并且k3 X kl>0 (即检测线段TJk与路段rn在检测坐标系的同一象限内),若(kl-k2) X (kl-k3)>0 (对应图6-7、图6-8、图6-14、图6-15的几何关系)则没有检测到压盖,否则(kl-k2) X (kl-k3)彡O (对应图6-9、图6-13的几何关系)检测到压盖;
[0114]当k2Xkl〈0并且k3Xkl〈0 (即检测线段TJk与路段rn不在检测坐标系的同一象限内,对应图6-4、图6-10的几何关系)没有检测到压盖。
[0115]兴趣点标签下边缘是否压盖的检测与以上所述方法相同,不再赘述。
[0116]又如取兴趣点标签左边缘线TbTt为检测线段,其对应端点坐标为:TT= (Tleft, Ttop), Tb= (Tleft, Tbottom),由于经过步骤S15的可疑路段过滤的处理,检测线段TbTt与路段rn在该检测坐标系内的相对位置关系被约束成第一、四两个像限内15类可能的几何关系,如图7-1至图7-15所示。
[0117]图7-1至图7-3中,路段rn与检测坐标系的横轴(X轴)重合;图7_1中,检测线段TbTt在检测坐标系第一象限中,不会压盖路段rn。图7-2中,检测线段TbTtW第四象限进入第一象限中,会压盖路段rn。图7-3中,检测线段TJk在第四象限中,也不会压盖路段rn。
[0118]图7-4至图7-9中,路段rn在检测坐标系的第一象限中;图7_4中,检测线段TbTt在第四象限中,不会压盖路段rn。图7-5中,检测线段TbTt从第四象限进入第一象限中,但不会压盖路段rn。图7-6中,检测线段TbTt从第四象限进入第一象限中,并压盖路段rn。图
7-7中,检测线段TbTt在第一象限中,并位于路段rn上方,检测线段TbTt不会压盖路段rn。图7-8中,检测线段TJk在第一象限中,并位于路段rn下方,检测线段TbTt不会压盖路段rn。图7-9中,检测线段TbTt在第一象限中,并压盖路段rn。
[0119]图7-10至图7-15中,路段rn在检测坐标系的第四象限中;图7_10中,检测线段TbTt在第一象限中,不会压盖路段rn。图7-11中,检测线段TbTt从第四象限进入第一象限中,但不会压盖路段rn。图7-12中,检测线段TbTt从第四象限进入第一象限中,并压盖路段rn。图7-13中,检测线段TbTt在第四象限中压盖路段rn。图7_14中,检测线段TbTt在第四象限中,并位于路段rn上方,检测线段TbTt不会压盖路段rn。图7_15中,检测线段TbTt在第四象限中,并位于路段rn下方,检测线段TbTt不会压盖路段rn。
[0120]综合以上情况,可以确定:当路段rn与检测坐标系的横轴(X轴)重合时,只有检测线段TbTt跨越第一、四两个象限,才会发生压盖路段rn的现象。当路段rn与检测坐标系的横轴(X轴)不重合时,情况比较复杂。此时对于路段rn与检测线段TbTt的相互关系,我们用路段rn的斜率kl’,检测线段TbTt的下端点Tb与原点(rnl)连线的斜率k2’,检测线段TbTt的上端点Tt与原点(rnl)连线的斜率k3’进行判断,有如下的判断标准:
[0121]在k2’ Xk3’〈0 (即检测线段TbTt的两个端点不在检测坐标系的同一象限内)时:
[0122]当k2’ Xkl’>0并且k3’ Xkl’〈0 (即检测线段TbTt的的下端点与路段rn在检测坐标系的第四象限内,检测线段TbTt的上端点在检测坐标系的第一象限内),若|k2’ |〈|kl’
(对应图7-11的几何关系)则没有检测到压盖,否则|k2’ I彡|kl’ I (对应图7-12的几何关系)检测到压盖;
[0123]当k2,Xkl’〈O并且k3’ Xkl’ >0 (即检测线段TbTt的下端点在检测坐标系的第四象限内,检测线段TbTt的上端点与路段&在检测坐标系的第一象限内),若|k3’ |〈|kl’
(对应图7-5的几何关系)则没有检测到压盖,否则|k3’ I彡|kl’ I (对应图7-6几何关系)检测到压盖;
[0124]在k2’ Xk3’ >0 (即检测线段TbTt的两个端点在检测坐标系的同一象限内)时:
[0125]当k2’ Xkl’>0并且k3’ Xkl’>0 (即检测线段TbTt与路段rn在检测坐标系的同一象限内),若(kl’ -k2’ ) X (kl’ -k3’ )>0 (对应图7-7、图7-8、图7-14、图7_15的几何关系)则没有检测到压盖,否则(kl’ _k2’ ) X (kl’ -k3’ ) ( 0 (对应图7-9、图7-13的几何关系)检测到压盖;
[0126]当k2’ Xk’ 1<0并且k3’ Xkl’〈O (即检测线段TbTt与路段rn不在检测坐标系的同一象限内,对应图7-4、图7-10的几何关系)没有检测到压盖。
[0127]兴趣点标签右边缘是否压盖的检测与以上所述对左边缘的检测方法相同,不再赘述。
[0128]本发明默认兴趣点标签的摆放位置T (Tleft, Ttop, Tright, Tbottom)位于兴趣点坐标P(Px,Py)右方。当进入调整兴趣点的标签摆放方式的步骤S21后将摆放位置按兴趣点左方、上方、下方的优先级顺序进行调整。每一次调整位置后重新返回路段过滤步骤,如此迭代检测是否与道路压盖,直到调整到不会产生压盖的位置绘出兴趣点及其标签,如果所有位置调整后仍会产生压盖,则在地图道路图片上不显示该兴趣点及其标签。
[0129]请看图5,在步骤S21中调整兴趣点的标签摆放方式的具体操作,执行的子步骤有:
[0130]步骤S21,开始本步骤,执行子步骤S2101。
[0131]子步骤S2101,检查调整次数单元的数值,若为I则执行子步骤S2102,若为2则执行子步骤S2103,若为3则执行子步骤S2104。
[0132]子步骤S2102,将兴趣点标签的摆放位置改为位于兴趣点坐标P (Px,Py)左方;执行子步骤S2105。
[0133]子步骤S2103,将兴趣点标签的摆放位置改为位于兴趣点坐标P (Px,Py)上方;执行子步骤S2105。
[0134]子步骤S2104,将兴趣点标签的摆放位置改为位于兴趣点坐标P (Px,Py)下方;执行子步骤S2105。
[0135]子步骤S2105,结束调整兴趣点的标签摆放方式的处理。
[0136]兴趣点标签的摆放位置从位于兴趣点坐标P(Px,Py)右方改为位于兴趣点坐标P(Px, Py)左方的处理效果,如图8与图9所示,检测到某一网格内兴趣点标签“厦门火车北站”与道路的压盖,然后向左调整到了不会压盖道路的背景位置。
[0137]以上说明了在一个地图等级为η的道路图层与兴趣点图层中消除电子地图中兴趣点标签压盖道路的方法,其它地图等级的道路图层与兴趣点图层消除电子地图中兴趣点标签压盖道路的处理步骤与之相同,不再赘述。
[0138]以上所述,仅为本发明较佳实施例,不以此限定本发明实施的范围,依本发明的技术方案及说明书内容所作的等效变化与修饰,皆应属于本发明涵盖的范围。
【权利要求】
1.消除电子地图中兴趣点标签压盖道路的方法,包含的步骤有: 步骤A,对指定等级的道路图层和兴趣点图层作网格划分,制作每一网格的道路图片,执行步骤B ; 步骤B,若网格化道路图层中有未处理的网格,则找出一个未处理的网格,执行步骤C,否则退出; 步骤C,若网格化兴趣点图层中对应网格内有未处理的兴趣点,则找出一个未处理兴趣点的坐标和标签,执行步骤D ;否则执行步骤B ; 步骤D,若本网格中有未处理的道路,则找出一条未处理的道路,执行步骤E ;否则执行步骤G ; 步骤E,对本道路的所有路段逐一针对该兴趣点的坐标和标签作可疑路段搜索;若有可疑路段则执行步骤F ;否则返回步骤D ; 步骤F,对可疑路段作兴趣点标签压盖计算,若有压盖则对本标签的摆放方式作调整,将本网格内所有已处理的道路都改为未处理,转回步骤D ;否则执行步骤G ; 步骤G,将本兴趣点标签写入本网格的道路图片中,执行步骤C。
2.根据权利要求1所述的消除电子地图中兴趣点标签压盖道路的方法,其特征在于:所述的步骤A中对指定等级的电子地图道路图层和兴趣点图层作网格划分,制作每一网格的道路图片处理的子步骤有: 子步骤Al,得到需要检测道路压盖的地图等级n,将世界电子地图中地图等级为η的道路图层与兴趣点图层划分为2η+1Χ2η+1个网格,分别形成相应的网格化道路图层与网格化兴趣点图层,执行子步骤Α2; 子步骤Α2,取出网格化道路图层中一个未处理网格内所有道路的路段数据,转化成该网格内道路的图像制成该网格的道路图片,执行子步骤A3 ; 子步骤A3,执行子步骤Α2,直至网格化道路图层中不再有未处理网格。
3.根据权利要求2所述的消除电子地图中兴趣点标签压盖道路的方法,其特征在于:所述的步骤E中对本道路的所有路段逐一针对该兴趣点的坐标和标签作可疑路段搜索,包含的子步骤有: 子步骤Ε1,若本道路有未处理的路段,则顺序找出本道路内一个未处理的路段,执行子步骤Ε2 ;否则退出; 子步骤Ε2,计算该路段Y坐标区间与该兴趣点标签Y坐标区间的交集;若该交集为空?是则执行子步骤Ε3 ;否则将该路段记入可疑路段集H,执行子步骤Ε3 ; 子步骤Ε3,计算该路段X坐标区间与该兴趣点标签X坐标区间的交集;若该交集为空,则执行子步骤El,否则将该路段记入可疑路段集V,执行子步骤El。
4.根据权利要求3所述的消除电子地图中兴趣点标签压盖道路的方法,其特征在于:所述的步骤F中对可疑路段作兴趣点标签压盖计算,包含的子步骤有: 子步骤F1,若可疑路段集H不为空,则顺序取出可疑路段集H —个路段,执行子步骤F2;否则执行子步骤F4; 子步骤F2,计算该路段与该兴趣点标签的上边缘线的压盖状态;若有压盖,则将压盖标志置为真并退出,否则执行子步骤F3 ; 子步骤F3,计算该路段与该兴趣点标签的下边缘线的压盖状态;若有压盖,则将压盖标志置为真并退出;否则执行子步骤Fl ; 子步骤F4,若可疑路段集V不为空,则顺序取出可疑路段集V中一个路段;执行子步骤F5 ;否则退出; 子步骤F5,计算该路段与该兴趣点标签的左边缘线的压盖状态;若有压盖,则将压盖标志置为真并退出,否则执行子步骤F6 ; 子步骤F6,计算该路段与该兴趣点标签的右边缘线的压盖状态;若有压盖,则将压盖标志置为真并退出,否则执行子步骤F4。
5.根据权利要求1或2或3或4所述的消除电子地图中兴趣点标签压盖道路的方法,其特征在于:该方法设有调整次数单元,规定兴趣点标签的初始摆放方式是放在该兴趣点右侧;所述的步骤C中,若网格化兴趣点图层中对应网格内有未处理的兴趣点,则找出一个未处理兴趣点的坐标和标签之后,在执行步骤D之前将调整次数单元清零;所述的步骤F中,对可疑路段作兴趣点标签压盖计算,若有压盖则先将调整次数单元加1,当调整次数单元的值为4,就放弃该兴趣点及其标签,转步骤C ;当调整次数单元的值为1,就对本兴趣点标签的摆放方式作放在该兴趣点左侧的调整,转步骤D重新在本网格内作各个道路的可疑路段搜索及压盖计算;当调整次数单元的值为2,就对本兴趣点标签的摆放方式作放在该兴趣点上侧的调整,转步骤D重新在本网格内作各个道路的可疑路段搜索及压盖计算;当调整次数单元的值为3,就对本兴趣点标签的摆放方式作放在该兴趣点下侧的调整,转步骤D重新在本网格内作各个道路的可疑路段搜索及压盖计算。
6.根据权利要求1或2或3或4所述的消除电子地图中兴趣点标签压盖道路的方法,其特征在于:所述的步骤F中,对可疑路段作兴趣点标签压盖计算的方式是:对于每个路段(rn)分别以其任一端点为原点,以X轴为纬度线方向,Y轴为经度线方向建立临时的检测坐标系,先后取兴趣点标签上、下两条横线以及左、右两条竖线为检测线段,考察该路段(rn)与该检测线段是否有压盖现象; 在取兴趣点标签上边缘线(IYTk)为检测线段时,若路段(rn)与Y轴重合,只有检测线段(TlTe)的两端分别在第一、第二两个不同的象限,才会压盖路段(rn);若路段(rn)不与Y轴重合,对于路段(rn)与检测线段(IYTk)的相互关系,用路段(rn)的斜率kl,检测线段(IYTk)的左端点(?Υ)与检测坐标系原点连线的斜率k2,检测线段(IYTk)的右端点(Tk)与检测坐标系原点连线的斜率k3进行判断,判断的标准是: 一,在检测线段(IYTk)的两个端点分别在检测坐标系的第一、第二两个不同的象限内时,当路段(rn)在第二象限内,若|k2|>|kl|则没有压盖,否则有压盖;当路段4在第一象限内,若|k3|>|kl|则没有压盖,否则有压盖; 二,在检测线段(IYTk)的两个端点在检测坐标系的同一象限内时,当检测线段(IYTk)与路段(rn)在同一象限内,若(kl-k2) X (kl-k3)>0则没有压盖,否则有压盖;当检测线段(TlTe)与路段(rn)不在同一象限内,没有压盖; 兴趣点标签下边缘是否压盖的检测与上边缘线的检测相同; 取兴趣点标签左边缘线(TbTt)为检测线段,当路段(rn)与X轴重合时,只有检测线段(TbTt)跨越第一、四两个象限,才会发生压盖;若路段(rn)与X轴不重合时,对于路段(rn)与检测线段(TbTt)的相互关系,用路段(rn)的斜率kl’,检测线段(TbTt)的下端点(Tb)与检测坐标系原点连线的斜率k2’,检测线段(TbTt)的上端点(Tt)与检测坐标系原点连线的斜率k3’进行判断,判断的标准是: 三,在检测线段(TbTt)的两个端点分别在检测坐标系的第一、第四两个象限内时,当路段(rn)在第四象限内,若|k2’ |〈|kl’ I则没有压盖,否则有压盖;当路段(rn)在第一象限内,若|k3’ |〈|kl’ I则没有压盖,否则有压盖; 四,在检测线段(TbTt)的两个端点在检测坐标系的同一象限内时,当检测线段(TbTt)与路段(rn)在同一象限内,若(kl’ -k2’)X(kl’ -k3’ )>0则没有压盖,否则有压盖;当检测线段(TbTt)与路段(rn)不在同一象限内,没有压盖; 兴趣点标签右边缘是否压盖的检测与以上所述对左边缘的检测相同。
【文档编号】G01C21/26GK104280035SQ201310284291
【公开日】2015年1月14日 申请日期:2013年7月8日 优先权日:2013年7月8日
【发明者】涂岩恺, 季刚, 簧家乾 申请人:厦门雅迅网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1