论文部分内容阅读
交通是国民经济发展的重要支柱。长期以来,交通问题已成为困扰城市发展的重要问题,尤其当驾驶者进入一个陌生的城市时,引导驾驶者走上正确的道路,及时准确地到达目的地就变得很重要。随着科技的飞速发展,计算机技术、网络技术和通讯技术已逐步渗入到交通领域,智能交通系统(ITS,Intelligent Transportation System)正是在这种情况下提出来的。交通地理信息系统在ITS中占有举足轻重的作用,已成为地理信息系统(GIS,Geographic Information System)的一个重要研究方向。车辆导航系统是一种典型的交通地理信息系统,具有极大的市场前景和发展潜力,其中的路径规划模块作为整个导航系统的核心模块之一,在嵌入式设备里运行,与在PC(Personal Computer)机上操作相比,要求路径规划时间更短和数据存储空间足够小,这就对路径规划算法设计在时间和空间上提出了新的要求。本文的研究主要涉及嵌入式开发(主要是软件开发)、测绘学中的地理信息系统原理、数据组织方法、数字地图可视化、最佳路径规划等技术。本文在分析电子地图的数据构成和模型的基础上,从MapInfo格式的桌面电子地图的MIF文件中提取出所需的电子地图数据。以图论作为理论基础来分析道路网络,在比较了图的几种经典存储结构后,结合C++标准模板库(STL,Standard Template Library)提出了一种高效的道路网络数据组织方式。并以出行距离作为路阻权值,在分析、比较几种经典的最短路径算法的基础上,结合交通路网特有的特征,对启发式A~*算法在数据存储、搜索策略等方面进行了改进。在程序实现上,采用C++语言,数据初始化部分和算法实现部分分别在两个类:CwayPoint类和CAStar类中实现,减小了它们之间的耦合性,真正体现了大型软件编程的模块化思想。实现了基于嵌入式电子地图导航的基本功能:电子地图的放大、缩小、漫游、兴趣点简单查询、路径寻优等。最后,在我们建立的嵌入式开发环境下,验证了实现的电子地图和算法的可行性。本文的研究以linux操作系统和Qt/Embedded作为开发平台,充分利用了免费的资源,与现有的大部分以WINCE操作系统和EVC(Embedded Visual C++)为平台的导航系统相比,大大节省了开发成本。