论文部分内容阅读
导航电子地图的显示模块是导航软件的核心组成部分。实时的地图显示效率和良好的可视化效果是成为一款优秀的导航软件的重要保障,但目前汽车导航产品的开发缺乏相关的标准和通用的平台,特别是导航软件可视化模块与操作系统的依赖性较大,导致导航软件的移植难度较大。本文的主要目的是基于目前的主流嵌入式操作系统建立一个通用的电子地图显示引擎,即跨平台的通用的电子地图显示引擎(General Map Engine,下文简称GME),使其能够兼容不同的操作系统和图形显示接口,从而使导航应用软件的开发和移植更加高效和方便。导航系统一般采用嵌入式设计方法,与导航系统相关的主要有硬件平台、软件平台和导航数据。在软件平台部分,GME被设计成为兼容WinCE、嵌入式Linux、等嵌入式操作系统平台的图形显示库,而对于导航数据格式来说,GME还根据GDF、NaviTech、KIWI等数据格式组织方式以及电子地图显示所遵循的质量要求对显示数据进行组织。GME按照常见的GIS和图形引擎的基本结构框架进行设计,并使用面向对象的方法进行结构和功能的划分,并且对模块的成员和模块间的接口访问也进行了详细的设计和说明。由于GME更具有通用性,在导航软件使用GME的过程中遇到了与效率相关的一些问题,对此,通过使用创建合理的数据索引、有效的内存管理和多线程并发绘制等关键方法,对这些问题进行了有效的解决。GME使用C++编码实现,采用了分层设计的原则,隔离平台相关的系统调用与系统特性,做到显示引擎层在设计和实现方面的合理抽象。GME在不同平台上展现给导航软件层接口的名称和功能都是一致的。通过一些接口的详细的编码调用范例,展现了GME的使用方法和运行结果,并根据测试程序的实验数据给出了GME的性能分析。最后,对GME进行了总结,特别是根据导航软件显示系统的发展,在应用上和功能上两方面进行了展望。