一种导航终端的地图道路注记方法转让专利

申请号 : CN201110254957.5

文献号 : CN102419927B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗军刘庆军俞能杰李亚平

申请人 : 航天恒星科技有限公司

摘要 :

本发明公开了一种导航终端的地图道路注记方法。包括,将待显示的地图数据显示到导航终端屏幕的步骤;对导航终端屏幕进行划分的步骤;判断并确定需显示的道路信息的步骤;对需显示的道路信息进行检测的步骤;确定道路名称注记密度的步骤;按照道路等级对道路名称进行注记的步骤。本发明针对常用的注记方法中存在的问题,在对道路注记进行显示的时,通过考虑道路注记密度分布的情况,对栅格搜索法进行改进,实现了优化的显示效果。

权利要求 :

1.一种导航终端的地图道路注记方法,其特征在于包括以下步骤:

100:终端设备将用户浏览的地图数据定位在终端设备的屏幕内: 根据设备屏幕中心点的地理坐标计算出当前显示比例尺下屏幕范围所对应的地图数据的地理坐标范围;

200:以屏幕中心点为原点,将屏幕范围内的地图区域按直角坐标系划分为4个象限;

300:读取地图数据中一条道路的信息,所述道路的信息包括道路弧度信息、道路名称和道路等级,其中道路弧度信息由形状点坐标列表组成,确定存在于屏幕范围内的道路弧度信息,获取存在于屏幕范围内的道路弧度信息的形状点坐标列表,并送入步骤400; 在所述步骤300中,确定存在于屏幕范围的道路弧度信息的步骤为:

301:如果道路弧度信息的形状点坐标列表全部包含于屏幕范围所对应的地图数据的地理坐标内,则所读取的道路信息包含在屏幕范围内;

302:如果道路弧度信息的形状点坐标列表与屏幕范围所对应的地图数据的地理坐标无交集,则所读取的道路信息完全在屏幕之外;

303:如果道路弧度信息的形状点坐标列表与屏幕范围所对应的地图数据的地理坐标有交集,则从道路弧度信息中位于起点的形状点到终点的形状点读取形状点坐标,获取落于屏幕范围所对应的地图数据的地理坐标内的形状点坐标;

400:检测步骤300处理的弧度信息:

若已存在道路弧度信息对应的道路名称,则将步骤300的道路弧度信息与已经存在的道路弧度信息相比较,并将步骤300的道路弧度信息中不同于已经存在的道路弧度信息的形状点坐标列表添加到已经存在的道路弧度信息内,更新为一条完整的道路弧度信息后,转入步骤500; 若不存在道路弧度信息对应的道路名称,则将道路弧度信息对应的道路信息进行存储,转入步骤500;

500:遍历所有落入屏幕内的道路弧度信息,统计出每个象限内的不同的道路名称数,并按照每个象限中的道路名称数确定每个象限中道路名称的注记密度;

600:按照道路等级从高到低的顺序对存储的道路信息进行排序,从排序后道路等级最高的道路信息开始,根据每条道路弧度信息确定每条道路的分布象限,对每条道路的道路名称进行标记;

在所述步骤600中,对道路名称进行标记的步骤为:

601:按照道路名称字符数,确定道路弧度信息划分份数;

602:根据确定的道路弧度信息的划分份数,确定道路名称字符标记位置;

603:在注记密度最稀疏的象限确定每条道路名称的注记开始位置,以及每个道路名称字符的注记位置;

604:将道路名称字符栅格化,检测确定栅格化后的道路名称字符所占行、列坐标是否与其他栅格化后的道路名称字符所占行、列坐标相冲突;若不存在冲突,则将道路名称字符注记到检测后的注记位置;若存在冲突,则返回步骤601重新确定道路弧度信息的划分份数;

605:重复进行步骤600直到完成每条道路名称的注记。

说明书 :

一种导航终端的地图道路注记方法

技术领域

[0001] 本发明涉及一种导航终端的地图道路注记方法。

背景技术

[0002] 地图上起说明作用的数字、文字统称为地图注记。电子地图的注记一般分为两类,一类是注记制图过程中位置被固定下来的静态注记,另一类是随着用户浏览过程而实时标注上的动态注记。
[0003] 嵌入式设备具有小巧灵活、便携性好的优点,但一般显示屏幕比较小,这就要求导航软件在一个屏幕内展示给读者的地图信息尽可能的丰富。在嵌入式导航终端地图上道路使用动态注记是目前比较常用的做法。地图注记算法的关键是计算每一个字符被摆放的位置,使得该注记“不和其他注记冲突、尽量不压盖其他地图要素、要明确标示其关联的地物要素”,那么如何提高注记位置搜索和摆放算法的效率和通用性是地图自动注记的核心。
[0004] 在智能交通领域,单条道路被抽象成线状矢量数据,矢量数据的空间位置信息是用坐标表示的,线是用一组有序的X、Y坐标表示的弧段。矢量数据的属性信息存放在属性表中。同一个空间实体的空间位置信息和属性信息是通过唯一的标识码关联起来。导航数据中道路网数据比较复杂,物理上的完整的道路在数据采集时会被分割成几条弧度,上下车道之间有物理隔离的道路,在导航数据里一般被分成两个平行的弧段,道路名称和路网中弧段是一一对应的,因此不同的弧度段可能会有相同的名称。道路几何空间几何数据信息(即弧段)的存储是由形状点和节点组成,如图2所示(图2中的(a)(b)),节点是指道路与道路的交点或者路段的首尾点,形状点是同一条非直线道路上的转弯点。道路属性数据包括了道路弧段外接矩形范围、道路名称、以及通行情况、路面材料、道路的等级等属性,其中与道路注记紧密相关的属性有名称和道路等级,等级高的道路通行状况较等级低的公路好,因此在地图上显示时应优先显示等级高的道路,注记标注时也优先标注等级高的公路,例如国道在地图上的显示就比省道要突出。
[0005] 在地图显示时,道路以标示清晰为目标。在窄小的屏幕内如何将道路的注记摆放的均匀合理是地图绘制效果漂亮与否的关键。如果不加处理的将每个弧度都标注上注记,会出现道路注记的压盖,道路注记的标注范围超出了屏幕之外,道路名称不完整,道路名称重复、道路注记在屏幕内分布不严重不均匀等问题。因此,在导航终端设备上进行地图显示,要遵循以下几个标准:1.在一个屏幕内,一条道路的名称只有一个,即在一个屏幕内不能出现有相同名字的道路注记。2.道路名称动态绘制,绘制范围必须在屏幕内,如果道路名称过长,将按照冲突方式去掉。3.同名道路进行合并,使得一个要素仅有一个名称注记。4.一般是每个弧段要对应一种道路名称,道路在具有上下车道信息时,仅标注其中一个车道的道路名称即可。5.道路注记在整个屏幕内要基本分布均匀,不能出现一个区域过于密集、另一个区域没有标注的情况。
[0006] 针对导航地图的道路注记目前常用的方法是基于栅格的搜索方法,这种方法是先将屏幕内的矢量数据栅格化,程序在每一个格子内依次搜索文字标注的位置。这种方法对于一条道路注记的位置搜索都以能够摆放为原则,但是没有考虑到屏幕内道路注记的密度分布。

发明内容

[0007] 本发明的技术解决问题是:克服现有技术的不足,提供了一种导航终端的地图道路注记方法。本发明针对常用的注记方法中存在的问题,在对道路注记进行显示的时候,通过考虑道路注记密度分布的情况,对栅格搜索法进行改进,实现了优化的显示效果。
[0008] 本发明的技术解决方案是:
[0009] 本发明在基于栅格搜索算法的基础上,充分考虑了屏幕内道路注记分布密度的问题。该方法将导航终端的屏幕坐标进行划分为四个象限,首先统计出每个象限内不同名称的道路的条数,默认的情况为道路名称不同,则道路数越多,则该区域内道路注记会越密集。在利用基于栅格方法进行道路注记位置搜索时,从注记稀疏的象限开始,保证一条道路尽量在道路注记比较稀疏的区内标注。
[0010] 具体步骤如下:
[0011] 100:终端设备将用户浏览的地图数据定位在终端设备的屏幕内:
[0012] 根据设备屏幕中心点的地理坐标计算出当前显示比例尺下屏幕范围所对应的地图数据的地理坐标范围;
[0013] 200:以屏幕中心点为原点,将屏幕范围内的地图区域按直角坐标系划分为4个象限;
[0014] 300:读取地图数据中一条道路的信息,所述道路的信息包括道路弧度信息、道路名称和道路等级,其中道路弧度信息由形状点坐标列表组成,判断存在于屏幕范围内的道路弧度信息的形状点坐标列表,并送入步骤400;
[0015] 400:检测步骤300处理的弧度信息:
[0016] 若已存在道路弧度信息对应的道路名称,则将步骤300的道路弧度信息与已经存在的道路弧度信息相比较,并将步骤300的道路弧度信息中不同于已经存在的道路弧度信息的形状点列表添加到已经存在的道路弧度信息内,更新为一条完整的道路弧度信息后,转入步骤500;
[0017] 若不存在道路弧度信息对应的道路名称,则将道路弧度信息对应的道路信息进行存储,转入步骤500;
[0018] 500:遍历所有落入屏幕内的道路弧度信息,统计出每个象限内的不同的道路名称数,并按照每个象限中的道路名称数确定每个象限中道路名称的注记密度;
[0019] 600:按照道路等级从高到低的顺序对存储的道路信息进行排序,从排序后道路等级最高的道路信息开始,根据每条道路弧度信息确定每条道路的分布象限,对每条道路的道路名称进行标记。
[0020] 在所述步骤300中,确定存在于屏幕范围的道路弧度信息的步骤为:
[0021] 301:如果道路弧度信息的形状点坐标列表全部包含于屏幕范围所对应的地图数据的地理坐标内,则所读取的道路信息包含在屏幕范围内;
[0022] 302:如果道路弧度信息的形状点坐标列表与屏幕范围所对应的地图数据的地理坐标无交集,则所读取的道路信息完全在屏幕之外;
[0023] 303:如果道路弧度信息的形状点坐标列表与屏幕范围所对应的地图数据的地理坐标有交集,则从道路弧度信息中位于起点的形状点到终点的形状点读取形状点坐标,获取落于屏幕范围所对应的地图数据的地理坐标内的形状点坐标;
[0024] 在所述步骤600中,对道路名称进行标记的步骤为:
[0025] 601:按照道路名称字符数,确定道路弧度信息划分份数;
[0026] 602:根据确定的道路弧度信息的划分份数,确定道路名称字符标记位置;
[0027] 603:在注记密度最稀疏的象限确定每条道路名称的注记开始位置,以及每个道路名称字符的注记位置;
[0028] 604:将道路名称字符栅格化,检测确定栅格化后的道路名称字符所占行、列坐标是否与其他栅格化后的道路名称字符所占行、列坐标相冲突;若不存在冲突,则将道路名称字符注记到检测后的注记位置;若存在冲突,则返回步骤601重新确定道路弧度信息的划分份数;
[0029] 605:重复进行步骤600直到完成每条道路名称的注记。
[0030] 本发明与现有技术相比具有如下优点:
[0031] (1)本发明根据导航终端屏幕大小的特点提出导航终端的道路注记显示标准,并以此为基础提出一种优化的基于栅格位置搜索算法的适合于导航终端的地图道路注记方法。
[0032] (2)本发明考虑到道路在狭窄屏幕空间的显示效果优化,根据屏幕显示道路的分布密度,从注记分布密度比较稀疏的象限开始搜索注记的起始点,本方法保证了道路注记在导航终端屏幕范围内的均匀分布,相对于常规的基于栅格方法搜索注记的方式注记效果有明显的提高。
[0033] (3)本发明原理简单,算法的空间复杂度低,且易于实现,工程实用性较强。

附图说明

[0034] 图1为本发明流程图;
[0035] 图2为路网数据示意图;
[0036] 图3为显示效果对比。

具体实施方式

[0037] 下面就图1所示的流程图,结合上述技术解决方案,利用实施实例对本发明做进一步的描述。
[0038] 本发明的一个实施实例是把1∶25000比例尺下的全国道路网在导航终端设备显示出来,以某一个显示屏幕为例来介绍道路注记标注方式,步骤如下:
[0039] 1.屏幕大小约为800*480像素,屏幕分辨率为96pixel/inch。一英尺约为0.0254米,显示比例尺为1∶25000,则根据该屏幕下一个象素所代表的实际距离为6.614583333米,那么该屏幕内能显示的坐标范围为5291.666667米*3175米。
[0040] 2.在通用墨卡托投影下,某一屏幕中新点坐标为P0(X0,Y0),则该屏幕内能够显示的地理坐标为左:(X0-3175)米,右:(X0+3175)上:(Y0+5291.666667)米,下(Y0-5291.666667)。
[0041] 3.以P0(X0,Y0)为中心,将屏幕区域按直角坐标系分解为4个象限。按照逆时针,从右上到左下分别为第一象限、第二象限、第三象限和第四象限。
[0042] 4.检测到一条道路弧段L2{(x21,y21),(x22,y22),(x23,y23)}的外接矩形范围右下方和屏幕能够显示的坐标范围相交,因此需要在屏幕坐标范围处增加形状点{X0+3175,Y0-5291.666667}将该弧段截断。
[0043] 5.查找该弧段的名称为“人民大街”,回溯查找检查过的弧段中有名称为“人民大街”的弧段L1{(x11,y11),(x12,y12),(x13,y13),...},将L的截断部分增加进L1中,L1弧段变为{(x11,y11),(x12,y12),(x13,y13),...,(X0+3175,Y0-5291.666667)},实现同名道路的合并。
[0044] 6.遍历所有弧度,通过所有落入屏幕内的道路分布在哪个象限。统计出分布在第一象限内的有名字的道路有3条,第三象限有2条。
[0045] 7.“人民大街”通过第一、三象限,所以,“人民大街”四个字符的摆放从第三象限的形状点开始搜索起,对L1弧段进行标注,将点(x11,y11)作为字符标注位置点。
[0046] 8.检测(x12,y12)和(x13,y13)之间的距离,(x13,y13)和...依次到所有点检测完毕,将“人民大街”6个字符标注位置找到,然后按照道路的走向,注记方式应为从上到下,因此将6个字符按照顺序放到各自的位置。
[0047] 9.重复检测其他道路,按照上述方法,依次放置将注记位置搜索完毕,标注效果如图3(a)所示。
[0048] 结合图3(b)所示,采用现有技术的显示效果。可以看出,在图3(a)中,四条道路名称合理的分布在了围绕屏幕中心的四个象限内,而图3(b)中,仅显示出了三条道路名称,由于冲突造成了“梅所屯路”的无法显示。因此,该方法的优点在于考虑四个道路在狭窄屏幕的分布密度,将注记搜索的起始点从注记比较稀疏的象限开始,保证了分布均匀,和常规的基于栅格方法搜索注记的方式注记效果有明显的提高。
[0049] 本发明未详细说明部分属本领域技术人员公知常识。