新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式GIS地图快速显示方法的应用

嵌入式GIS地图快速显示方法的应用

作者:时间:2012-10-22来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/148330.htm

  对于矢量数据的分块分别是对点、线、面的矩形分割, 即将数据根据屏幕范围大小横向分为N 份, 纵向分为M 份, 形成由N×M 个同等大小的基本地理单元组成的图块集合。 时, 系统只需根据层次读入与显示覆盖区域相交的部分图块, 绘制在屏幕上。

  在对地图数据进行分块处理时, 需要重点考虑分割图块的大小。 因为一定矢量数据划分的图块较大, 则读入内存的非屏幕显示区域的数据就会越多, 增加了不必要的冗余数据; 而数据划分的图块越小, 读取数据的准备时间就越长, 且对矢量数据的分割还会增加显示的数据量, 也会影响显示速度。 因此在数据分块时要根据实际屏幕显示尺寸和地图比例尺综合考虑分块大小。

  若已知屏幕分辨率为L×W 像素, 地图的比例尺为1:S, 地图经度覆盖范围X, 纬度覆盖范围Y, 地图表示精度记为A, 地球圆周单位秒代表距离为m (m 为常量, m ≈31 米), 记地图横向划分图块数量为N, 纵向划分图块数量为M, 则有以下公式:

  其中, X, Y 单位为秒, A=0.1×10-3×S.

  以比例尺为1:50 000, 经度范围25', 纬度范围15'

  的矢量地图和800×480 的屏幕为例, 可由式(2)推导得该地图应划分为12×12 块图块。

  3.4 矢量地图网格索引

  如前文所述, 提高地图显示速度还必须使地图显示时能的从外存检索和调度当前显示范围所涉及的矢量数据, 因此还需建立空间索引。针对逐层分块的地图组织策略, 建立了基于文件存储的网格索引。

  基于文件的网格索引以索引文件存储索引数据, 通过名为POSITION 的位置指针可以对每个空间目标的首地址进行定位, 具有操作简洁、直接访问、适应广泛的优点, 其索引结构如图3 所示。

图3 基于文件的网格索引结构图

图3 基于文件的网格索引结构图

  索引数据按地图层次存储, 每层索引数据与相应的地图分层数据对应。 索引数据结构包括索引头、层次描述信息和每层划分图块索引: 索引头主要包括该地图数据的名称、编号和划分层数; 层次描述信息包括各层次的编号、左下角点坐标、分块的宽度和高度、分块的行数和列数以及该层图块索引在索引文件中的位置; 图块索引内容主要包括图块数据在地图数据文件中的位置指针及其地理要素概要信息, 包括标识、要素类型编码、外接矩形、占用存储空间大小等。

  建立网格索引后, 地图显示时系统首先计算出当前层次覆盖显示区域的图块; 然后根据每个图块的地理要素信息进行重复显示判断, 过滤掉已经显示的地理要素; 再根据位置指针, 从地图文件中读取该图块的矢量数据, 进行显示处理。 因此网格索引能直接过滤掉非屏幕显示区域图块及地理要素, 极大地减少地图数据的读取量, 并通过索引文件中的POSITION 指针直接从地图文件中查找到矢量数据, 有效缩短了检索时间。

  4 性能测试与分析

  为验证本文设计的 地图快速显示的有效性, 本文选择UT6410 开发板搭建试验平台进行了测试。 实验平台拥有主频667MHz 的ARM处理器、128MB 内存、8GB SD 卡存储器和分辨率800×480 的显示屏幕, 并搭载Linux 系统; 测试地图是比例尺分别为1:50 000 和1:250 000 同一地区的全要素矢量地图。 实验将采用本文及未采用本文方法时直接全图读入内存显示方法的地图显示性能进行了对比测试, 实验结果参见表1.

表1 采用逐层分块法与全图读入法地图显示性能对比

表1 采用逐层分块法与全图读入法地图显示性能对比

  由实验结果可以看出, 在矢量地图数据相同的条件下, 采用逐层分块并建立网格索引方法比未采用此方法时的地图显示速度提高了6~8 倍, 并达到了平滑漫游和缩放的显示要求。

  5 结语

  为使矢量地图能够在嵌入式 平台上实现快速显示, 本文基于对矢量地图显示数学模型的分析, 从减少地图非屏幕显示区域的数据量和快速检索并调度当前显示数据两方面入手, 引入LOD 思想构建了逐层分块地图数据组织模型, 结合嵌入式矢量地图数据访问特点重点研究了地图分层、分块的策略及实施, 并在此基础上建立了文件存储的网格索引。 定性分析和实验结果表明, 本文提供的方法能够很好地满足嵌入式环境下地图快速显示的要求, 有效提高地图操作效率。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭