一种分布式并行空间可视域分析方法
【技术领域】
[0001] 本发明涉及一种分布式并行空间可视域分析方法,属于空间可视域问题分析技术 领域。
【背景技术】
[0002] 空间可视性分析是用来表征事物能否被人眼直接观测到的常用概念。基于数字高 程模型的地形可视性分析是指从一个或多个位置所能看到的地形范围或与其他地形点之 间的可见程度。其中,可视域分析则是研究观测点在其观测范围内所能观测到的地形点集 合。
[0003] 空间可视域分析的数据基础是数字高程模型(DEM)。数字高程模型是地理信息系 统数据库中最为重要的空间信息资料之一,是空间分析的基础数据,也是GIS、虚拟现实、遥 感、数字化战场等领域实现三维空间数据处理与分析的核心数据,也是国家地理信息的基 础数据之一。其中,规则格网DEM来源于直接规则格网采样点或由离散数据点内插方法,数 据结构简单,算法实现容易,空间操作及管理方便,易于表达,有利于各种分析和应用,因此 该数据结构得到了广泛应用。
[0004] 作为地形分析的重要内容,可视域计算被广泛应用于GIS的各个方面,如电信、军 事、旅游、安全、测量测绘、地形勘探等领域,其中无线电转发器选址问题、艺术馆问题,士兵 问题、堡皇问题等。可视域分析可以应用在军事领域上战场环境中的地形感知与推理,为指 战员提供有价值的情报信息,还可以应用于配置兵力及隐蔽哨所的设置等;在电信业的应 用中,可以根据可视线的判断,设立无线传输基站,电视、电台的转播站等;在旅游业中的应 用有风景区景点、参观路线与基础设施规划等;在测绘领域,可视域可应用于控制点和勘测 路线的选择;在航天领域,可用于行星表面探测;汽车导航领域中,可视域分析可用于计算 汽车驾驶员前方可见的路线,也可用于通知驾驶者最安全的超车位置或视野受限的区域。 如何分析地形表面上特定点的可视问题已成为地球科学研究的重要内容。因此,众多的GIS 分析软件,如ArcGIS、3DEM、MicroDEM、Global Mapper也纷纷支持可视域分析。这些应用都 显示了可视域分析理论与技术强大的应用潜力,及其在空间分析理论与应用研究中广阔的 应用前景。
[0005]目前,各种新型传感器获取数字高程模型技术的出现,使数字高程模型数据量呈 几何级数增长。尽管现有的基于数字高程模型进行地形分析的理论与方法已趋于成熟,但 如何在普通计算机上使用传统的串行算法实现海量地形数据的高效处理,仍然是可视域分 析广泛应用亟待解决的关键问题。同时,众多应用领域对基于DEM数据进行可视域分析的 应用需求越来越高,传统的可视性分析模式已经严重制约了可视域分析方法在各应用、研 究、军事部门的应用范围,归纳起来有以下几个局限性:
[0006] (1)缺乏有效的并行化解决方案。现有可视性分析问题的并行处理模式多从数据 共享的单一视角出发,当数字高程模型数据量较大时,并行可视域算法的效率将会随之降 低。另外,海量数据共享在分布式并行计算架构下的通信量也是系统性能提升的瓶颈。而 可视域算法对视线所经过高程数据的独特数据依赖性,使得研究者很难使用常规的数据划 分的策略进行分布式并行计算,在一定程度上制约了并行可视域技术的发展与应用。
[0007] (2)算法设计缺乏扩展理论指导。目前,已有的可视性分析算法众多,其中约有 80%以上的分析算法与点点通视算法有关,其本质都与分析窗口密切联系。通视分析具有 简单直接的特点,对于计算大规模地形数据存在效率低下的不足,无法避免大量冗余计算 的缺点;而基于面片的多点可视域算法受分析窗口、数据源精度、计算方法等影响而产生较 大的不确定性,计算精度不如通视算法高,只能希望取得与基于点点通视算法近似的计算 结果;传统的通视算法只能反映视线是直线的分析情况,不能处理视线弯曲的通视分析; 任意的可视性分析算法均是基于有限元模型,无法刻画自然界中任意的光线与辐射线的传 播特征,更不能表达不同介质间的视线折射的情况。总之,目前仍缺乏有效的手段中和描述 可视性分析的综合特征,成为可视性分析理论与应用结合研究的瓶颈。
[0008] (3)缺乏通用机制研究。在目前基于"问题剖析一算法选取一结果分析"的常规可 视问题分析实施策略中,因为其问题剖析是建立在已有的研究成果与现有可视算法的基础 之上,各种机理各异的可视问题最终归结为不同表现形式与计算方式的可视性分析问题。 在基于已有研究基础的分析方法与算法设计上并没有略有差异,已形成高效、成熟、深入的 问题解析机制。然而,在具体应用问题的分析过程中,针对海量数字高程模型的并行可视域 计算中仍缺乏高效、通用的数据划分策略。因此,研究适合不同可视性分析内容的通用数据 划分问题和算法设计机制将是一个新的挑战。
【发明内容】
[0009] 针对上述技术问题,本发明所要解决的技术问题是提供一种分布式并行空间可视 域分析方法,采用自适应节点性能数据划分技术和负载均衡可达的可视域计算技术,能够 解决现有可视域算法在分布式并行计算环境下,数据管理效率低下与并行化调度困难的问 题,有效提高了可视域算法在分布式并行计算环境下的工作效率。
[0010] 本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种分布式并行 空间可视域分析方法,采用主从模式的并行计算架构,基于主节点和至少一个从节点,实现 分布式并行空间可视域分析方法,其中,各从节点彼此具有相等的软硬件配置;所述分布式 并行空间可视域分析方法包括如下步骤:
[0011] 步骤001.主节点读取数字高程模型数据,并获取从节点的个数MPISize,以及单 个从节点的内存大小MemSize,进入步骤002 ;
[0012] 步骤002.主节点将数字高程模型数据转化为与之相对应的数字高程模型栅格 图,并获取数字高程模型栅格图中栅格点的总个数GlobalSize ;其中,数字高程模型栅格 图的各个栅格点分别存储数字高程模型数据中相对应的高程值,且单个栅格点存储高程值 所占空间大小为NByte,然后进入步骤003 ;
[0013] 步骤003.主节点根据单个从节点的内存大小MemSize,根据预设存储处理比例 系数a,获得单个从节点的单次最大数据块处理能力DataVol = MemSizeXa,其中0 < a < 1 ;并根据单个从节点的单次最大数据块处理能力DataVol,以及单个栅格点存储高程 值所占空间大小为NByte,获得单个从节点单次最大数据块处理能力所对应的栅格点个数 PixelNum,然后定义整数参数i = 1,并进入步骤004 ;
[0014] 步骤004.主节点获得所有从节点,单次最大数据块处理能力所对应的总栅格点 个数为PixelNumXMPISize,并判断PixelNumXMPISize是否大于等于GlobalSize,是则进 入步骤005 ;否则进入步骤006 ;
[0015] 步骤005.主节点将数字高程模型栅格图中的所有栅格点平均分别给各个从节 点,作为主节点针对数字高程模型栅格图中栅格点的第i次分配,其中,各个从节点分别所 获栅格点的个数
并进入步骤〇〇7 ;
[0016] 步骤006.主节点针对数字高程模型栅格图中的栅格点,向各个从节点进行第i次 分配,其中,分别向各个从节点分配的栅格点的个数η;= PixelNum,并进入步骤007 ;
[0017] 步骤007.主节点根据第i次栅格点分配过程中,各个从节点所获栅格点的个数 Ii1,以及预设数字高程模型属性参数,针对数字高程模型栅格图进行划分,获得各个从节点 在数字高程模型栅格图中分别所对应的目标栅格点区域,且各个从节点分别所对应目标栅 格点区域中栅格点的个数等于Ii 1,并进入步骤008 ;
[0018] 步骤008.主节点在数字高程模型栅格图中,分别为各个从节点所对应的目标栅 格点区域设置预设大小的缓冲区,各个缓冲区分别与对应目标栅格点区域的边界外侧相 邻,各个从节点所对应的目标栅格点区域和缓冲区构成从节点所对应的访问区域,且主节 点分别获得各个从节点所对应访问区域的顶点序列,并分别发送给对应从节点,然后进入 步骤009 ;
[0019] 步骤009.主节点分别针对各个从节点所对应访问区域中的栅格点,建立各个从 节点所对应的栅格点集合,然后,主节点分别针对各个从节点,建立从节点所对应栅格点集 合与数字高程模型栅格图中栅格点之