一种二维地图库加速的方法技术

技术编号:14559677 阅读:137 留言:0更新日期:2017-02-05 14:47
本发明专利技术涉及一种二维地图库加速的方法。该方法包括以下步骤:1)读取地图数据;2)建立要素分级的多层网格的索引数据模型;3)根据屏幕内显示地图数据的范围选择需要的网格;4)根据屏幕显示范围对所选取网格内的地图数据进行裁剪;5)判断裁剪后地图数据两点间的距离,舍弃小于定值的点;6)绘制显示地图。本发明专利技术可提高地图的显示速度。

【技术实现步骤摘要】

本专利技术属于计算机应用领域,尤其涉及一种二维地图库加速的方法
技术介绍
由于嵌入式系统内存小,存储空间受限制,而通常地图数据比较庞大,地图的绘制速度较慢,不能满足需要,因此在绘制时需要对其进行优化。通常在绘制地图时,由于某些点之间距离太小,会造成某一区域内数据冗余,点过于密集,一方面使绘制的图形杂乱不清晰,另一方面也会降低绘图效率。同时面对庞大的地图数据,又受到嵌入式平台处理器速度较慢,内存和存储器资源量小的限制,嵌入式系统在处理大容量矢量地图时,如果不进行优化,就不能满足现实要求。而且,从文件中直接读取地图数据,读取速度和绘制速度也非常慢。
技术实现思路
本专利技术为解决
技术介绍
中存在的上述技术问题,而提供一种二维地图库加速的方法,用来加快地图绘制的速度。本专利技术的技术解决方案是:本专利技术为一种二维地图库加速的方法,其特殊之处在于:该方法包括以下步骤:1)读取地图数据;2)建立要素分级的多层网格的索引数据模型;3)根据屏幕内显示地图数据的范围选择需要的网格;4)根据屏幕显示范围对所选取网格内的地图数据进行裁剪;5)判断裁剪后地图数据两点间的距离,舍弃小于定值的点;6)绘制显示地图。上述步骤1)是通过调用二维地图库中相关接口及函数,读取地图数据;上述步骤2)的具体步骤如下:2.1)将一幅图的地理范围划分为m行n列,得到m*n个小矩形网格区域;2.2)每个网格区域为一个索引项,并分配一个动态存储区;2.3)记录落入该网格的地理要素概要信息。上述步骤4)的具体步骤如下:4.1)然后将网格中的每个图块信息读入内存,4.2)判断图块信息中所含的每个地理要素外接矩形是否与屏幕区域相交,如果相交则将相交部分的地理元素进行提取,进入步骤5);若不相交,则舍弃该图块信息;上述步骤5)的具体步骤如下:5.1)根据地图的图层,预设参考值d;5.2)计算相交部分的地理元素每一相邻两点之间的距离dx,5.3)根据参考值d和距离dx进行判定,舍弃dx小于d时的后一点,直到地理元素中相邻两点之间距离均大于等于dx。本专利技术提供的一种二维地图库加速的方法,对数据进行过滤处理,通过判定相邻点间距离,过滤掉多余的点,为提高地图绘制速度提供了一种良好的思路。同时本专利技术通过网格索引将图块作为数据调度和显示的基本单元,能直接过滤掉屏幕外的图块及地理要素,极大地减少了地理要素的读取量,并通过图块中所存储的该要素在地图文件的地址,直接从地图文件中查找到要素的具体的位置和属性信息进行显示处理,从而减少了要素的查找时间,进而提高了地图的显示速度。具体实施方式本专利技术的具体实施例的步骤如下:1)通过调用二维地图库中相关接口及函数,读取地图数据;2)建立要素分级的多层网格的索引数据模型;其应用网格索引的思想,尽量减少地理要素的读取,尽量只读取当前显示范围内、当前显示比例下所涉及到得相关地理要素。网格索引的思想是将一幅图的地理范围划分为m行n列,得到m*n个小矩形网格区域,每个网格区域为一个索引项,并分配一个动态存储区,记录落入该网格的地理要素信息:包括标识、在外存文件的存储地址以及外接矩形等。常将一幅图分为规则的m*n个图块。3)根据屏幕内显示地图数据的范围选择需要的网格;4)地图显示时,首先根据当前屏幕要显示的地理范围,计算出覆盖屏幕区域的图块;然后将每个图块信息读入内存,判断其所含的每个地理要素外接矩形是否与屏幕区域相交,如果相交则将相交部分的地理元素进行提取,进入步骤5);若不相交,则舍弃该图块信息;具体实施例中,判断相交的方式是判断所绘制图形是否在裁剪区域内,如果在,就显示在屏幕上,如果不在,就舍弃。以线段为例,线段P0P1两端点的坐标分别为P0(X0,Y0)和P1(X1,Y1):假设线段P0P1完全在裁剪框内,则保留P0P1;假设线段P0P1明显在裁剪框外,则完全舍弃;对于其他情况,则在直线段与裁剪框的交点处把线段分为两段,其中一部分完全在窗口外,可以弃之,然后对另一端进行重复上述步骤;5)根据地图的图层,预设参考值d;计算相交部分的地理元素每一相邻两点之间的距离Px;当dx>=d时,保留两点;以后一点为前点,以下一点为后点,继续计算前点与后点的距离,重新进行判断;当dx<d,保留前点,舍弃后一个点;继续以下一点为后点,计算前点与后点的距离,重新进行判断,直到地理元素中所有的点之间距离均大于d,具体实施例中,假设相邻点的坐标依次分别为P1,P2,p3,p4,……Pn(Pn为地理元素中最后一个点).其中计算相邻两点P1,P2的距离为d1,当d1>=d时,保留P1、P2;以后P2为前点,以下一点P3为后点,继续计算P2与P3的距离为d2,重新与d进行判断;若d2<d则保留P2,舍弃P3,继续计算P2与P4的距离为d3,重新进行判断,直到地理元素中所有的点之间距离均大于d.6)根据保留的地理元素中的点,裁剪优化完后绘制地图,进行显示。本文档来自技高网...

【技术保护点】
一种二维地图库加速的方法,其特征在于:该方法包括以下步骤:1)读取地图数据;2)建立要素分级的多层网格的索引数据模型;3)根据屏幕内显示地图数据的范围选择需要的网格;4)根据屏幕显示范围对所选取网格内的地图数据进行裁剪;5)判断裁剪后地图数据两点间的距离,舍弃小于定值的点;6)绘制显示地图。

【技术特征摘要】
1.一种二维地图库加速的方法,其特征在于:该方法包括以下步骤:
1)读取地图数据;
2)建立要素分级的多层网格的索引数据模型;
3)根据屏幕内显示地图数据的范围选择需要的网格;
4)根据屏幕显示范围对所选取网格内的地图数据进行裁剪;
5)判断裁剪后地图数据两点间的距离,舍弃小于定值的点;
6)绘制显示地图。
2.根据权利要求1所述的二维地图库加速的方法,其特征在于:所述步
骤1)是通过调用二维地图库中相关接口及函数,读取地图数据。
3.根据权利要求2所述的二维地图库加速的方法,其特征在于:所述步
骤2)的具体步骤如下:
2.1)将一幅图的地理范围划分为m行n列,得到m*n个小矩形网格区域;
2.2)每个网格区域为一个索引项,并分配一个动态存储区;...

【专利技术属性】
技术研发人员:杨峰田泽张少锋赵彬王绮卉姜丽云
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1