嵌入式电子地图数据分块组织研究
电子地图数据包括地物点、线、区域等。地图的属性分为地区名称、学校名称、公司名称等,线又分层划分为一级道路、二级道路、三级道路、水系等。基于上述电子地图数据的特点,根据中国行政单位的划分,把电子地图数据分层。电子地图数据分层可以加快数据的读取,也方便电子地图数据的存储。
4 嵌入式电子地图实现
本文使用的嵌入式开发平台为:cpu s3c2440,64M nandflash,64M ram,1Gsd卡,480*272 LCD。本文选择QT/Embedded作为图形界面,并结合双缓冲机制QT/Embedded实现了嵌入式电子地图。
使用双缓冲画图,是避免地图在漫游、放缩的时候产生屏幕闪烁比较常见的方法。主要过程如下:
(1)把需要显示的网格,画在OPximap上。
(2)通过bitblt()函数把QPximap上的图像拷贝到显示组件。
根据LCD的尺寸划分网格大小,即网格的宽为480,长为272。某一级别的电子地图每次读取9个网格数据,此时LCD屏幕的大小和格网的大小一样,每次读取9个网格数据,其中一个网格数据显示在LCD屏幕上,其它8个网格的数据为预取数据。如图9所示,网格22部分是LCD屏幕:本文引用地址:https://www.eepw.com.cn/article/148187.htm
如图10所示,图像拖至左边边界。程序每次读取9个网格数据,LCD屏幕尺寸和一个网格一样大。根据LCD屏幕大小规定边界,比如图像向x轴正方向移动480像素时,即到了图像左边边界。每次拖动图像至边界,然后读取相邻网格数据,重新绘制地图,这样处理节省了系统开销,而且不需每次拖动图像的时候都要重新绘制地图而造成屏幕抖动或闪烁。
图像向x轴正向拖动至边界如图10所示,网格21为LCD屏幕。在拖动到边界后,再次拖动地图,根据网格的编码读取其相邻的网格数据。拖动后的图像如图11所示,格网21区域是LCD屏幕。
地图放缩时,根据放缩级别,读取相应级别的格网数据,重新绘制图像并把图像拷贝到屏幕相应位置。在本文中,电子地图数据放在sd卡来读取。
5 结论
依据本文的数据组织策略,不同级别的电子地图在嵌入式设备上漫游时,图像都可以平滑移动,时间延迟可以忽略,达到了嵌入式地图漫游的要求。而且依据本文的数据组织策略,建立一个合适的格网索引机制,在搜索地图和路径规划时,结合搜索算法,以网格为单位索引,也可以加快数据搜索速度。图12是地图数据测试界面。
评论