导航路径规划之四 路径规划概述

   路径规划的主体是路径计算,即规划一条从起始地到目的地的一条合理路径,路径计算采用的算法是A*算法,实现A*算法还需要一些辅助步骤,以提高程序运行的效率。因此在内部把路径规划模块细分为路径计算模块、内存管理模块、数据缓冲模块和快速查表模块,其主体是路径计算模块,其他模块处于从属地位,也就是说,其他模块是为计算模块提供辅助支持,如图1-1所示。

    路径计算模块需要实现起始点\目的地的定位、数据初始化、路径计算等功能。

    在路径计算过程,需要维护一个Open表和Close表。当扩展一个节点的时候,需要把与该节点相邻接的节点放入Open表,而把该节点放入Close表,因此会频繁地从内存区域申请小块内存以存放节点信息到Open表中,如果使用默认的系统的内存管理,会造成系统性能下降。因此要实现自己的内存管理,内存管理模块主要实现一个内存池,该内存池对内存分配、释放以及回收进行管理,以提高程序运行的效率。

    全国的道路网分割成相同大小的区域(块),路径规划时可以分批次加载路网数据,以避免一次性加载所有道路的网络数据,缓冲模块主要管理路径计算时对文件的I/O操作。

    快速查表模块主要实现一个哈希表,以快速在Open表和Close表中进行定位。



猜你喜欢

转载自blog.csdn.net/autonavi2012/article/details/80923347
今日推荐