论文部分内容阅读
距离是空间度量的基础,是地理空间上定义的各种度量计算的出发点,同时也是各种地理分析的基础。通过距离分析,尤其是成本距离分析,可以获得很多相关信息,为人们合理规划和利用资源提供指导,在生态保护、景观格局规划等领域中的应用也十分广泛。另外,障碍空间下的成本距离分析适用范围更广,具有更为广泛的科学意义和十分重要的实用价值。由于栅格数据成本距离分析往往涉及大数据量和高计算量,一直以来,中外学者对此领域进行了广泛而深入的研究,提出了许多可行算法且日趋成熟。但是这些算法都是基于串行算法的优化和改进,因此,可以基于并行技术和多核处理器技术,设计多线程并行程序对传统串行算法进行优化,来提高成本距离分析效率。成本距离分析计算的是栅格中每一单元至其最近源点的最小累积成本。最常采用的是蔓延算法,其基本思想是利用Queen模型在成本栅格中构建“节点/连接”模型,构建一幅虚拟图,再利用Dijkstra算法思想进行各单元的最小累积成本计算。当遇到障碍物时,可以通过将障碍物单元赋予最高通行成本的方法而使距离传播路径绕过该障碍物。但是在实际应用中发现,当障碍物存在“缝隙”时,距离可能会穿过“缝隙”而获得捷径,从而对分析结果产生影响。传统的处理方法是采用缓冲原始数据或对缝隙进行填补,虽能解决该问题,但可能也会影响计算精度。因此,本文提出了一种“缝隙识别”算法,能使距离传播避开“缝隙”,而不影响分析结果。对于复杂几何源对象问题,本文提出对源对象外围单元进行提取而减少计算数据量,进而提高计算效率。本文按照数据分解的思想对传统串行成本距离算法进行了并行优化,并在其中融合了“缝隙识别”和复杂几何源对象处理算法。采用Windows线程API技术,结合C++语言对该算法进行了实现,并以深圳市南山区的城市公共景观空间可达性分析为例,对算法可行性和实用性进行了分析,结合三组实验,对算法的性能进行了验证。实验结果表明:(1)该算法能快速地进行成本距离分析,并在障碍空间下能有效避开障碍物及其“缝隙”,较传统算法具有更高的实用价值;(2)该并行算法在处理大栅格和多源情况下的成本距离分析时性能显著,尤其在多核平台和多线程技术支持下,算法效率显著提升。