电子地图线状流动注记的配置方法及装置的制作方法

文档序号:2568805阅读:174来源:国知局
专利名称:电子地图线状流动注记的配置方法及装置的制作方法
技术领域
本发明涉及计算机制图技术领域,特别涉及一种电子地图中线状流动注记 的配置方法及装置。
背景技术
地图注记是电子地图中的重要组成部分,如何快速、合理、清晰地布局地 图要素的注记,是计算机制图领域长期探索的关键技术。在现有技术中,虽然
也提供一些电子地图配置注记的方案,如中国专利申请号为89108249.2的专 利文献揭露的地图印刷所需高质量彩色出版原图制作工艺,但其主要集中在地 图印刷时人工配制注记的方法,没有涉及计算机自动化的方法;又如中国专 利申请号为200710168359.X揭露的一种计算机制图中的面状要素配置方法, 及申请号为200810066337.7的专利文献所揭露的一种电子地图兴趣点注记方 法、系统及设备,都仅涉及地图点状和面状要素的注记方法,而没有线状地图 要素的快速注记方法。
在以往对于电子地图线状注记的研究中,主要有以求线段平行线为代表的 解方程法和矩形求交加权的搜索检测方法,它们虽然都有可取之处,注记定位 也可比较准确,但无法满足电子地图动态实时显示的需求。并存在以下问题-
(1) 在大数据量的数字化地图中,上万条弧段是常有的,对每条弧段的每 个节点进行多次三角函数运算来求线段的平行线在速度上没有优势。
(2) 求出的平行线只是平移出去的节点的序列,而线段的节点大多数情况 下不是注记的点位。要求注记的点位还得解方程,如果要考虑线段一部分在屏 幕外的情况就需要裁剪,更增加了运算量。
(3) 搜索检测法中计算机无法判断哪些注记矩形有可能相交,要进行搜索, 即使建立索引,也无法保证索引块内的图形元素足够少。如果有100个注记要 检测,每个注记有4个位置供选择,则有4100种可能性,可能会带来组合爆 炸问题。

发明内容
发明所要解决的技术问题在于,提供一种电子地图中线状流动注记的配 置方法及装置,主要时通过对河流、道路等线状要素注记的快速、自动化配置, 实现地图注记的完整和均匀分布显示。
为达到上述目的,本发明提供的电子地图线状流动注记的配置方法,应用 于电子地图系统中对线状流动注记自动配置,其特征在于,包括
线状要素扫描步骤,用于逐点扫描整条线在用户显示窗口内可见部分的像 素,并统计出总像素个数;
注记位置计算步骤,用于计算所述线状要素注记点的位置,以根据需要注 记的文字的个数,把每个字均匀分布在扫描线上;
注记调整步骤,用于当用户进行地图縮小、放大或漫游时,线状流动注记 随比例尺和在屏幕中的位置实时动态调整。
上述电子地图线状流动注记的配置方法,其特征在于,所述线状要素扫描 步骤利用数值微分法对需要注记的线状要素进行扫描,并在扫描过程中保存沿 线每个像素点的坐标。
上述电子地图线状流动注记的配置方法,其特征在于,所述线状要素扫描 步骤中,还包括
一检测步骤,用于检测沿线的每个像素点是否落入屏幕中的线段可见区, 并将落入屏幕中的线段可见区的像素点加入线段点序列中。
上述电子地图线状流动注记的配置方法,其特征在于,所述注记位置计算 步骤是通过将落入屏幕中可见区线段根据要注记的文字的个数进行等分,获取 其中每个要注记的文字的坐标。
上述电子地图线状流动注记的配置方法,其特征在于,所述注记位置计算 步骤还进一步包括
一点序列顺序调整步骤,用于在所述线状要素数字化的顺序与注记顺序不 一致时,对所述点序列进行调整。
上述电子地图线状流动注记的配置方法,其特征在于,所述注记位置计算 步骤进一步包括
一检测步骤,用于检查所述屏幕中可见区线段能否注记下正常字体的注记 文字,如能则正常注记,如不能,则需要计算所需字体的大小,舍去小于设定像素的文字。
上述电子地图线状流动注记的配置方法,其特征在于,所述注记调整步骤 中,系统采用局部刷新机制,将地图背景作为静态步骤,将地图线状注记最为 动态部分实时刷新。
进一步的,本发明还提供了一种实现上述电子地图线状流动注记的配置方 法的装置,应用于电子地图系统中对线状流动注记自动配置,其特征在于,包 括
线状要素扫描模块,用于逐点扫描整条线在用户显示窗口内可见部分的像 素,并统计出总像素个数;
注记位置计算模块,用于计算所述线状要素注记点的位置,以根据需要注 记的文字的个数,把每个字均匀分布在扫描线上;
注记调整模块,用于当用户进行地图縮小、放大或漫游时,线状流动注记 随比例尺和在屏幕中的位置实时动态调整。
上述电子地图线状流动注记的配置装置,其特征在于, 所述线状要素扫描模块进一步包括
一检测模块,用于检测沿线的每个像素点是否落入屏幕中的线段可见区, 并将落入屏幕中的线段可见区的像素点加入线段点序列中。
上述电子地图线状流动注记的配置装置,其特征在于,所述注记位置计算模 块进一步包括
一点序列顺序调整模块,用于在所述线状要素数字化的顺序与注记顺序不 一致时,对所述点序列进行调整;
一检测模块,用于检査所述屏幕中可见区线段能否注记下正常字体的注记 文字,如能,则正常注记,如不能,则需要计算所需字体的大小,舍去小于设 定像素的文字。
与现有技术相比,本发明提供的电子地图中线状流动注记的配置方法及装 置,为解决注记的准确显示与速度的矛盾,采用线段扫描方法来快速求得注记 的点位,在线状注记上采用沿线均匀注记的方式,实现了电子地图线状地物注 记的快速流动配置,使道路、河流等注记动态、均匀显示在线状要素的屏幕 可见部分,保持了地图的完整和界面的整洁,达到了实用效果。


图1为本发明电子地图中线状流动注记的配置方法的流程图
图2为本发明中数值微分直线扫描算法示意图3为本发明中线状要素与点序列坐标对应示意图4为本发明中线状流动注记定位示意图5为本发明中地图显示和注记调整流程;
图6为本发明电子地图中线状流动注记的配置装置的示意框图; 图7 9为应用本发明系统运行的流动注记效果示意图。
具体实施例方式
下面结合附图对本发明进行详细的描述,所提供的附图和实施例只为进 一步说明本发明之目的、方案及功效,并非作为对本发明所附权利要求保护范 围的限制。
图1为本发明电子地图中线状流动注记的配置方法的流程图,如图1所示, 本发明的电子地图线状流动注记的配置方法,应用于电子地图系统中对线状流 动注记自动配置,该配置方法主要包括以下步骤
步骤S10:线状要素扫描步骤,用于逐点扫描整条线在用户显示窗口内可 见部分的像素,并统计出总像素个数。在该步骤中,利用数值微分法对需要注 记的线状要素进行扫描,并在扫描过程中保存沿线每个像素点的坐标。
步骤S20:注记位置计算步骤,用于计算所述线状要素注记点的位置,以 根据需要注记的文字的个数,把每个字均匀分布在扫描线上。在该步骤中,是 通过将落入屏幕中可见区线段根据要注记的文字的个数进行等分,获取其中每 个要注记的文字的坐标。
步骤S30:注记调整步骤,用于当用户进行地图縮小、放大或漫游时,线 状流动注记随比例尺和在屏幕中的位置实时动态调整。在该步骤中,系统采用 局部刷新机制,将地图背景作为静态步骤,将地图线状注记最为动态部分实时 刷新。
在上述所述线状要素扫描步骤S10中,还进一步包括 一检测步骤SIOI, 用于检测沿线的每个像素点是否落入屏幕中的线段可见区,并将落入屏幕中的 线段可见区的像素点加入线段点序列中。在上述注记位置计算步骤S20中,还进一步包括 一点序列顺序调整步骤 S201,用于在所述线状要素数字化的顺序与注记顺序不一致时,对所述点序列
进行调整。 一检测步骤S202,用于检査所述屏幕中可见区线段能否注记下正 常字体的注记文字,如能则正常注记,如不能,则需要计算所需字体的大小, 舍去小于设定像素的文字。
下面结合实施例对本发明方法做进一步描述
(1) 上述线状要素扫描步骤利用数值微分法扫描一遍要注记的线状要素,
扫描过程中保存沿线每个像素点的坐标,参考图2,给出了数值微分直线扫描 算法示意该方法是通过对坐标x和y各增加一个小增量,计算下一步的x、 y值。最后得出组成直线的所有像素的坐标数组。 已知直线起点坐标(Xo, Y。)和终点坐标(X,, Y,)
先求出直线斜率k- Ay/ Ax其中,Ax:Y,-Yo, Ay-X,-X。,
当lk卜-l时,Yi+1 = Yi + kAx,因x递增l个像素,Ax=l,所以Yw-Yi+k,并取四舍五入,点坐标为(Xj+1,Round(Yi + k))(如图2中示意)
当閣> 1时,Xw = Xj + (1/k)Ay,因y递增1个像素,Ay = 1 ,所以Xi+1 = Xi + l/k,并取四舍五入,点坐标为(Round(Xi + l/k),Yi+l)
对求出的点要进行检测,只有落入屏幕中的点才能加入点序列中,也就是 说剪掉屏幕外不显示的线段,注记的点位只与线段的可显示区有关。这样,当 用户在漫游地图时,随时会检测落入屏幕中的线段可见区,实时调整注记位置, 并刷新屏幕,注记便呈现动态流动状态。
由于数值微分法使用的是增量算法,所以扫描一遍线段的时间非常短,实 验表明在500条总共20万个节点的线段的情况下,调整注记的时间在1秒 钟以下,人眼基本分辨不出延迟。
(2) 上述注记位置计算步骤主要用于计算线状要素注记点位置 以上一步中求出的点序列为P[O...N]为例,则可知
落入屏幕中的线段长度为N,把线段m等分,则等分点的坐标为P[N/m *i],i= 1,2…m陽l
如图3和图4示意,要注记m个汉字,则把N个点分成m+l等分,第i 个字的坐标就可以方便的求得 Xi = P[N/(m+ 1) * i].xYi = P[N/(m+ l)*i〗.y
由于线状要素数字化的顺序并不一定与注记顺序一致,所以点序列需要调 整顺序。计算线段起始点和终止点间的斜率,设定|K| = I (P[N].y -P[O].y) / (P[N].x-P
.x)i,定义一个布尔值blnverse,初始为FALSE。
① IKI〉1为下行线,注记应从上往下注,但如果起始点在终止点的下方, 就把blnverse置为TRUE 。
② |K| <= 1为右行线,注记应从左往右注,但如果起始点在终止点的右方, 就把blnverse置为TRUE。
在显示注记的文字时,可以检测blnverse的值,如blnverse为FALSE, 则从第一到最后一个字顺序显示;如blnverse为TRUE,则从最后一个字到第 一个字倒着显示。这样就可以保证下行线注记从上往下注,右行线注记从左往 右注。
③ 检查线段的可见长度是否能注记下正常字体的注记文字,如不能则求 出所需字体大小,小于5个像素的汉字因无法分辨可舍去。
选定注记字体,如FontWidth为指定注记字体的宽度 如N/(m + 1) >= FontWidth,注记使用指定FontWidth宽度的字体; 如5 <=N/(m+ l)<FontWidth,注记使用宽度为N/(m+ l)的字体; 如N/(m+l)〈5,线段可见区太短,无法注记;
3)注记调整步骤在地图的放大、縮小、漫游等操作下,线状注记随比 例尺和在屏幕中的位置动态调整,并实时刷新,保持了地图的整洁和注记的完 整。
在地图实时刷新时,系统采用了局部刷新机制,地图背景作为静态部分, 将保持部分缓存,当地图移动时,地图可见部分已经在计算机缓存中,可以直 接获得而不用更新,屏幕边缘的不可见部分由于地图移动而需要显示,则更新 生成地图背景。这种方法使屏幕大部分区域可以直接来自缓存,不用重新生成, 可以大大縮短地图刷新的时间。地图线状注记作为动态部分,需要实时刷新, 而地图背景快速刷新的机制,为线状注记的实时刷新提供了条件。如图5所示, 随着地图屏幕的变化,注记将进行调整,触发线状要素的重新扫描和布局,显 示流动注记的效果。
本发明还提供了一种实现上述方法的装置,图6示出了本发明电子地图中线状流动注记的配置装置的示意框图。
电子地图线状流动注记的配置方法的装置10,应用于电子地图系统中对 线状流动注记自动配置,该装置包括线状要素扫描模块101、注记位置计算 模块102及注记调整模块103,其中
线状要素扫描模块101,用于逐点扫描整条线在用户显示窗口内可见部分
的像素,并统计出总像素个数。上述线状要素扫描模块101进一步包括 一检
测模块lll,用于检测沿线的每个像素点是否落入屏幕中的线段可见区,并将 落入屏幕中的线段可见区的像素点加入线段点序列中。
注记位置计算模块102,用于计算所述线状要素注记点的位置,以根据需 要注记的文字的个数,把每个字均匀分布在扫描线上。上述注记位置计算模块 102进一步包括 一点序列顺序调整模块121,用于在所述线状要素数字化的 顺序与注记顺序不一致时,对所述点序列进行调整; 一检测模块122,用于检
査所述屏幕中可见区线段能否注记下正常字体的注记文字,如能,则正常注记, 如不能,则需要计算所需字体的大小,舍去小于设定像素的文字。
注记调整模块103,用于当用户进行地图縮小、放大或漫游时,线状流动 注记随比例尺和在屏幕中的位置实时动态调整。
本发明提供的电子地图中线状流动注记的配置方法及装置,实现当用户操 作电子地图时,地图中线状要素的注记实时计算、布局和调整,达到线状注记 沿线流动的效果。参考图7 9,示出了应用本发明的电子地图在放大前、放 大及漫游状态下流动注记效果。图7为放大前的地图,显示一级道路,在小比 例尺下只显示主干路注记,次要道路注记不显示,图7为放大后的大比例尺图, 级别低的道路开始逐级注记并逐级均匀显示,显示一级至四级道路。图8与图 9对比表明,地图在漫游前后,两幅图的注记都随时调整,始终位于线段可见 区内均匀分布,不会出现注记不完整的情况。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,在不 背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作 出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权 利要求的保护范围。
权利要求
1、一种电子地图线状流动注记的配置方法,应用于电子地图系统中对线状流动注记自动配置,其特征在于,包括线状要素扫描步骤,用于逐点扫描整条线在用户显示窗口内可见部分的像素,并统计出总像素个数;注记位置计算步骤,用于计算所述线状要素注记点的位置,以根据需要注记的文字的个数,把每个字均匀分布在扫描线上;注记调整步骤,用于当用户进行地图缩小、放大或漫游时,线状流动注记随比例尺和在屏幕中的位置实时动态调整。
2、 根据权利要求1所述的电子地图线状流动注记的配置方法,其特征在 于,所述线状要素扫描步骤利用数值微分法对需要注记的线状要素进行扫描, 并在扫描过程中保存沿线每个像素点的坐标。
3、 根据权利要求1所述的电子地图线状流动注记的配置方法,其特征在 于,所述线状要素扫描步骤中,还包括一检测步骤,用于检测沿线的每个像素点是否落入屏幕中的线段可见区, 并将落入屏幕中的线段可见区的像素点加入线段点序列中。
4、 根据权利要求l所述的电子地图线状流动注记的配置方法,其特征在 于,所述注记位置计算步骤是通过将落入屏幕中可见区线段根据要注记的文字 的个数进行等分,获取其中每个要注记的文字的坐标。
5、 根据权利要求1所述的电子地图线状流动注记的配置方法,其特征在 于,所述注记位置计算步骤还进一步包括一点序列顺序调整步骤,用于在所述线状要素数字化的顺序与注记顺序不 一致时,对所述点序列进行调整。
6、 根据权利要求1所述的电子地图线状流动注记的配置方法,其特征在于,所述注记位置计算步骤进一步包括一检测步骤,用于检查所述屏幕中可见区线段能否注记下正常字体的注记 文字,如能则正常注记,如不能,则需要计算所需字体的大小,舍去小于设定 像素的文字。
7、 根据权利要求1所述的电子地图线状流动注记的配置方法,其特征在于,所述注记调整步骤中,系统采用局部刷新机制,将地图背景作为静态步骤, 将地图线状注记最为动态部分实时刷新。
8、 一种实现上述权利要求1 7中任一项所述电子地图线状流动注记的配 置方法的装置,应用于电子地图系统中对线状流动注记自动配置,其特征在于, 包括线状要素扫描模块,用于逐点扫描整条线在用户显示窗口内可见部分的像 素,并统计出总像素个数;注记位置计算模块,用于计算所述线状要素注记点的位置,以根据需要注 记的文字的个数,把每个字均匀分布在扫描线上;注记调整模块,用于当用户进行地图縮小、放大或漫游时,线状流动注记 随比例尺和在屏幕中的位置实时动态调整。
9、 根据权利要求8所述的电子地图线状流动注记的配置装置,其特征在于,所述线状要素扫描模块进一步包括一检测模块,用于检测沿线的每个像素点是否落入屏幕中的线段可见区, 并将落入屏幕中的线段可见区的像素点加入线段点序列中。
10、根据权利要求8所述的电子地图线状流动注记的配置装置,其特征在于,所述注记位置计算模块进一步包括一点序列顺序调整模块,用于在所述线状要素数字化的顺序与注记顺序不 一致时,对所述点序列进行调整;一检测模块,用于检查所述屏幕中可见区线段能否注记下正常字体的注记 文字,如能,则正常注记,如不能,则需要计算所需字体的大小,舍去小于设 定像素的文字。
全文摘要
本发明公开了一种电子地图线状流动注记的配置方法及装置,应用于电子地图系统中对线状流动注记自动配置,该配置方法包括线状要素扫描步骤,用于逐点扫描整条线在用户显示窗口内可见部分的像素,并统计出总像素个数;注记位置计算步骤,用于计算所述线状要素注记点的位置,以根据需要注记的文字的个数,把每个字均匀分布在扫描线上;注记调整步骤,用于当用户进行地图缩小、放大或漫游时,线状流动注记随比例尺和在屏幕中的位置实时动态调整。
文档编号G09B29/00GK101593455SQ200910151860
公开日2009年12月2日 申请日期2009年7月1日 优先权日2008年10月23日
发明者余卓渊, 李洪省, 王英杰 申请人:中国科学院地理科学与资源研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1