栅格数据显示
李泉 陈玉进(南京跬步科技有限公司http://www.creable.cn )
11.2嵌入式GIS中的特殊问题
嵌入式设备相比PC,具有处理器差、内存小以及没有鼠标的特点。
基于以上特点,嵌入式GIS需要解决效率和内存占用的问题,即保证很小的内存占用,又能保证软件运行的效率。可以采取以下措施:
① 使用硬性网格索引,即使用网格将地图矢量数据裁切成为一个个小块,以降低显示地图时加载的要素长度。
② 使用一定的策略来排序上述小块,以增加小块在文件中的空间临近性,增加一次性读入屏幕所需要素的可能,减少I/O次数。
③ 将地图要素的图形信息和属性信息分离,以减少数据量。
④ 采用一定的缓冲区淘汰策略来淘汰地图要素,比如:如对内存需要控制的很严格,可淘汰当前屏幕所占网格之外的地图要素。如对浏览速度有高要求,则可以多缓冲一些地图要素。效率和内存占用总有矛盾,需要找到一个平衡点。
要考虑到嵌入式设备没有鼠标,输入不方便。对于具有触摸屏的嵌入式设备可以采用如下方法实现交互操作:
① 鼠标左键单击操作由触摸屏点击来代替。
② 鼠标双击可以由按住触摸屏并保持一定时间来代替。
③ 鼠标移动由触摸屏滑动来代替。
对于没有触摸屏的嵌入式设备则只能通过按键进行相应操作,可以在屏幕上绘制一个十字光标来代替鼠标,用户可以通过上下左右键移动该光标来进行操作。
11.3嵌入式GIS中的栅格数据组织
栅格数据的数据量比较大,往往采用裁切成小块之后在地理信息系统中使用。为支持栅格数据的放大,需要建立栅格数据的金字塔结构并采用网格索引来管理每一层。
数据处理步骤:
① 按照显示比例尺的不同等级将栅格数据放大缩小出若干层。见下图所示
② 分别在每一层上建立网格索引,并按照网格裁切栅格。
③ 将裁切之后的小图片写入到文件供引擎读取。
将栅格数据缩小n次之后,每次都按照网格裁切,这样在嵌入式设备中显示比例尺等级固定的情况下,可以使用网格索引来查询那些栅格数据需要加载。这种一层一层的结构叠加起来似一个金字塔。