嵌入式GIS引擎提速地图显现的优化方式
内容提要: 由于嵌入式系统与一般PC体系,在计算速度、内存容量、存储空间等方面存留很大的区别,如何在嵌入式装备上GIS引擎获得较好的运行速度,必要从以下几个方面举行优化: 1)数据组织方面 1. 地图数据紧缩(曲线抽稀) 线、面数据上平常存留众多的顶峰vertex,由于嵌入式系统与一般PC体系,在计算速度、内存容量、存储空间等方面存留很大的区别,如何在嵌入式装备上GIS引擎获得较好的运行速度,必要从以下几个方面举行优化:
1)数据组织方面
1. 地图数据紧缩(曲线抽稀)
线、 面数据上平常存留众多的顶峰vertex,由于vertex过密,导致勾绘时消费的工夫过大,因而对地图数据要预安排,减化路径庞杂度来提速勾绘速度。必 要应用抽缩精度对照高的算法,譬如道格拉斯—普克(Douglas2Poiker)法,光栏法等。这种算法对矢量数据进行抽稀,既可以维持矢量线条的形状 个性,又可以依据现实制图需求肯定抽稀容差,从而在保障拟合精度的一同最大界限的减缩数据, 大大削减图形缩短时计算和勾画的光阴。在采纳这些算法进行削减的历程中,人为给定的减缩域值不能太大。因为只是为了删掉共线或类似共线的结点,从而尽也许 的坚持线、面的几何形态。不然失真过大会导致数据精度失落。似乎geos库有路径简化的得逞,或许应用clib,slib办理。
2. 坐标精度紧缩
地 理坐标平常运用float型或double型举行表示,挪用存储空间较大。将矢量数据的数据存储类别用short型替换double或float型可以削 减存储空间已得逞紧缩的目标。double型在运算机中普通情形下是占8个字节,float型也占4个字节,而short型只占2个字节。这么,就能够将 数据减缩4倍或2倍。譬如:在车辆导航体系所用的地图数据是1:2.5万的地图数据。图幅分幅内的原点,用图幅左下角的经纬度坐标,而图内坐标用1/24 秒为单位的经纬度的相对坐标,这么就把由float型的地理坐标转换为short型的相对坐标,以到达数据抽缩的目标。
3. 数据分级
空间数据的组织是穿过对数据进行垂直方向上的分级解决和水准方向上的分块办理而完成的。
由 于嵌入式装备显露屏区分率不高,揭示的内容不会许多,而CPU的速度相对照较慢,穿过空间数据分级,能够加快地图的显示和剖析的速度,每个级别或每个图层 是否显现要依据安设的可视范围来分辨,不曾到达指定的显示范围,层对象即使隐蔽。对照容易的措施是依据各要素内容的多少和主要水准事先定义它的级别,再斟 酌到地物的几何大小等因素共有将地图要素划分成多个等级,切实显示时肯定哪些等级的要素显现,哪些不卖弄,从而维持屏幕图形的清楚可读,更首要的是,不够 等级的要素不显示,从而在缩放时可以大大加迅速度。多级显露的优势在于可以最大水平的削减地图显示历程中参加显现的数据量。
4. 数据分块
还可以对数据进一步举行分块,使每次调入内存中的数据尽或许的少,以加快显现和剖析的速度。切实利用中将原图幅分为必定的逻辑块,运用双缓存技巧实时调用。将全部图幅分为 N X N块,遵照每一个几何对象的坐标肯定其所在的块,记入索引文件,索引文件需此外生成。由于某些元素也许横亘一个或几个子图,为了保障各个子图的全面性,这些元素所横亘的所有子图都一定包罗该元素的矢量消息,也即使说,一个矢量元素或许会展现在矢量数据文件的若干个数据块中。
2)屏幕卖弄方面
1. 传统方式
从数字地图数据库中提取出卖弄范围内的地图要素,将刻画这些地理要素的坐标转换成屏幕坐标,用揭示窗口对这些数据举行裁剪,将裁剪后的地理要素直接描绘在屏幕窗口内。长处是算法简单,完成适宜。缺陷是预办理数据量大,预安排包罗对地理要素的读取、坐标的转换以及剪裁,因而预解决运动挪用系统工夫长,用户期待光阴过长。
2. 双缓存技巧
双 缓存完成地图周游的方式是:将显示缓存划分为两个和虚构屏幕显现范围相像的缓存空间,称之为缓存A,缓和存B。定义预办理边界为范围小于虚构屏幕范围的一 个内边界。当显示屏幕的图像滑动到预解决边界时,万一仍旧领受到统一方向的延续挪动号令,则开端在虚构屏幕组织搬动方向上的新图像,并拷贝该图像到缓存 B;一同,在缓存A上,屏幕指针搬开的历程仍在进行,当显露屏幕挪动到缓存A的现实边界时,缓存B上曾经预备好了显示方向上的新地图,此刻将屏幕指针跳到 缓存B相应位子的地址,就可以保障地图推移动作的继续性。
3. 数据预取
指将w 向外拓展取得矩形R, R 即为预取区域, 所有落在区域R 内的空间数据对象被装载入一个内存中开拓的缓冲区. 缓冲区中的数据对象很也许在下挨次地图操纵后插手屏幕揭示. 地图数据预取的宗旨是, 参加屏幕显现的地图数据运用时都已在缓冲区中, 无需再追加新的地图数据.
4. 记号库设计
记号库 的存储、管制机制波及标号调用的效率,标号库的数据构造波及标记勾绘的庞杂水准。普通来说,地图标号库是将常用的标记经分类整顿后以数据库的模式存储到计 算机中,其数据构造平常分为点状、线状、面状3 类数据构造。斟酌到电子地图首要是以屏幕输出方法为主,在设计记号时,能够设计一些便于计算机运用的标记,也即使说,运算机不必要通过外表的计算,可以直 接描绘图形。
3)空间索引方面
高效的空间索引是增高数据走访效率的重点技术之一。眼前广泛采纳的技巧首要有容易的多级网络索引技术和多级四叉树或R 树索引技术。
对于海量数据的查询普查,最主要的也是最容易的是最先举行数据分区。对地图数据举行分区,是以必定大小的矩形网格与地图要素进行相交或包括推断,但凡在网格中的地图要素,则登记下它的的文件地址或在数据库中的重点字段,最终组成数据的分区索引文件。分区索引普通很小,磁翻板液位计用信仪,在体系运行时,为了增高回应效率,可以局部或挨次性地将索引文件读入内存。在图形描绘时,依据屏幕的区分率及图形的缩放率,可以运算出照射到地图数据中的区域大小,这个区域平常包罗或相交一个或几个分区网格,都市情人,数据检索时只搜查这局部网格中的数据,从而大大抬高了查询普查速度。
临时想到这样多,后续在切实中再不停延续健全。固然标题很短一读清楚,但它的确是一个庞杂的问题,因为它是“哥德巴赫猜度”。
道格拉斯-普克抽稀算法:
道格拉斯-普克抽稀算法,是用来对大量冗余的图形数据点进行压缩以提取必要的数据点。该算法实现抽稀的过程是:先将一条曲线首尾 点虚连一条直线,求其余各点到该直线的距离,取其最大者与规定的临界值相比较,若小于临界值,则将直线两端间各点全部舍去,否则将离该直线距离最大的点保 留,并将原线条分成两部分,对每部分线条再实施该抽稀过程,直到结束。抽稀结果点数随选取限差临界值的增大而减少,应用时应根据精度来选取限差临界值,以 获得最好的效果。