CN115794414B - 基于并行计算的卫星对地通视分析方法、装置和设备 - Google Patents
基于并行计算的卫星对地通视分析方法、装置和设备 Download PDFInfo
- Publication number
- CN115794414B CN115794414B CN202310042703.XA CN202310042703A CN115794414B CN 115794414 B CN115794414 B CN 115794414B CN 202310042703 A CN202310042703 A CN 202310042703A CN 115794414 B CN115794414 B CN 115794414B
- Authority
- CN
- China
- Prior art keywords
- point
- visual
- coordinates
- data set
- observation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Radio Relay Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种基于并行计算的卫星对地通视分析方法、装置和设备。所述方法包括:在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集;在多个子进程内,读取区域可视情况数据集中的目标点,根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析。采用本方法能够使用MPI和OpenMP混合模式实现卫星对地二维通视分析的并行快速计算,缩短分析运行时间,提高分析效率。
Description
技术领域
本申请涉及地理信息分析处理技术领域,特别是涉及一种基于并行计算的卫星对地通视分析方法、装置和设备。
背景技术
随着计算机技术的飞速发展,发射塔、雷达等设备在各个行业都被广泛的使用。在确定发射塔的位置和雷达扫描的范围时,每个地理坐标点距离卫星的距离是最具有应有价值的数据之一,进行通视分析成也成为地理信息和数据挖掘领域的热点问题。
通视分析在航海、航空以及军事方面有重要的应用价值,比如设置雷达站、电视台的发射站、道路选择、航海导航等,在军事上如布设阵地、设置观察哨所、铺设通信线路等;有时还可能对不可见区域进行分析,如低空侦察飞机在飞行时,要尽可能避免敌方雷达的捕捉,飞机要选择雷达盲区飞行。但由于地理坐标点距离卫星的距离计算的复杂性和数据集的庞大,现有算法的效率难以满足要求。
通视分析是指以某一点为观察点,研究某一区域通视情况的地形分析。通视分析的基本内容有两个:一个是两点或者多点之间的可视性分析;另一个是可视域分析,即对于给定的观察点,分析观察所覆盖的区域。在传统的可视域分析算法中,可视域分析的效率主要跟所计算的点数和算法的复杂度相关,在所计算点数一样的情况下,算法的复杂度决定了可视域分析的主要效率。研究表明,在数据规模较大的情况下降低算法复杂度的主要方式为使用CPU(中央处理器)并行处理,目前常用并行加速的技术有OpenMP(共享存储并行编程)和MPI(信息传递接口),OpenMP特别适合于多核CPU上的并行程序开发设计,MPI是多主机联网协作进行并行计算的工具,它能协调多台主机间的并行计算。
比较OpenMP和MPI可知,OpenMP对原串行代码改动较小,可以保护代码原貌,代码容易理解和维护,允许渐进式并行化,但所有线程共享内存空间,硬件制约较大,目前主要针对循坏并行化;MPI无论硬件是否共享内存空间都可以使用,与OpenMP相比,可以处理规模更大的问题,每个线程有自己的内存和变量,不用担心冲突问题,但编程复杂度较大,调试复杂,需要解决通信延迟大和负载不平衡两个主要问题,可靠性差,一个进程出问题,整个程序将错误。
因此,从现有技术中可以看出,对于通视分析,OpenMP和MPI在可靠性和简易性两个方面相互存在缺陷。
发明内容
基于此,有必要针对上述技术问题,提供一种基于并行计算的卫星对地通视分析方法、装置和设备。
一种基于并行计算的卫星对地通视分析方法,所述方法包括:
在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集;
在多个子进程内,读取区域可视情况数据集中的目标点,根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析。
在其中一个实施例中,在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集,包括:
在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议中的Redis数据库对给定观测点地理坐标和观测范围进行第一次转换,并将转换得到的字符形式的给定观测点坐标和字符形式的观测范围存储在Redis数据库的目标数组中;
根据目标数组读取并对字符形式的给定观测点坐标和字符形式的观测范围进行第二次转换,转换得到数组矩阵形式的给定观测点坐标和数组矩阵形式的观测范围;
以数组矩阵形式的给定观测点坐标为圆心,数组矩阵形式的观测范围为半径,根据光栅线生成算法绘制圆形可视域,并根据圆形可视域上所有点的坐标创建并存储观测范围内的区域可视情况数据集。
在其中一个实施例中,根据目标数组读取并对字符形式的给定观测点坐标和字符形式的观测范围进行第二次转换,转换得到数组矩阵形式的给定观测点坐标和数组矩阵形式的观测范围,包括:
根据目标数组读取并对字符形式的给定观测点坐标和字符形式的观测范围进行第二次转换,将字符形式的给定观测点坐标转换为正方形数组矩阵中的坐标,得到数组矩阵形式的给定观测点坐标;将字符形式的观测范围转换为正方形数组矩阵的边长,根据正方形数组矩阵的边长框定的正方形数组矩阵的大小,确定数组矩阵形式的观测范围。
在其中一个实施例中,根据圆形可视域上所有点的坐标创建并存储观测范围内的区域可视情况数据集,包括:
根据圆形可视域上所有点的坐标创建观测范围内的区域可视情况数据集,并调用Redis数据库中的圆形数组对圆形可视域上所有点的坐标进行存储。
在其中一个实施例中,在多个子进程内,获取区域可视情况数据集中的目标点,包括:
根据光栅线生成算法,以数组矩阵形式的给定观测点坐标为起点,以数组矩阵形式的观测范围划定的正方形数组矩阵的四周为终点,从正方形数组矩阵的左上角开始,按顺时针方向在每个子进程中依次绘制一条可视直线,并调用Redis数据库中的缓冲区数组存储可视直线上所有点的目标;其中,可视直线的条数与子进程的个数保持一致;
在每个子进程中,读取区域可视情况数据集中圆形可视域上所有点的坐标,当可视直线上点的坐标位于圆形可视域上时,判断该点以及该点关于给定观测点对称的7个对称点为目标点。
在其中一个实施例中,根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析,包括:
在每一个子进程中,根据OpenMP通信协议中的8条线程并行计算8个目标点和卫星的连线与给定观测点和卫星的连线构成的目标点夹角,并计算每个目标点与给定观测点的连线上,任意点和卫星之间连线与给定观测点和卫星之间的连线构成的任意点夹角,当任意一个目标点夹角大于在该目标点与给定观测点的连线上的所有任意点夹角时,判断目标点可视;否则,判断目标点不可视;
通过Redis数据库整合每个子进程中所有可视的目标点,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析。
在其中一个实施例中,当存在多个给定观测点时,在一个主进程内的通视分析完成前,使用新的主进程对新的给定观测点进行通视分析;在一个主进程内的通视分析完成后,继续使用原有的主进程对新的给定观测点进行通视分析。
一种基于并行计算的卫星对地通视分析装置,所述装置包括:
区域可视情况数据集创建模块,用于在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集;
最终可视情况数据集创建模块,用于在多个子进程内,获取区域可视情况数据集中的目标点,根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集;
在多个子进程内,读取区域可视情况数据集中的目标点,根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析。
上述基于并行计算的卫星对地通视分析方法、装置和设备,在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集;在多个子进程内,读取区域可视情况数据集中的目标点,根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析。采用本方法的有益效果在于:
(1)针对于卫星对地二维通视分析较大规模的数据情况下,使用MPI和OpenMP混合模式实现卫星对地二维通视分析的并行快速计算,缩短分析运行时间,提高分析效率。
(2)本发明的扩展性好,并行优化简易可,设计了多进程与多线程结合的并行优化方案,任务划分合理,进程间不存在数据依赖,能够更好地利用当前常见的多机多核硬件环境,极大地提高了算法处理效率和通视分析的性能。
附图说明
图1为一个实施例中基于并行计算的卫星对地通视分析方法的流程示意图;
图2为一个实施例中在每一个子进程内,获取区域可视情况数据集中的8个目标点的示意图;
图3为一个实施例中精确计算目标点是否可视的流程示意图;
图4为一个实施例中本发明进程级和线程级结合的并行可视域设计示意图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种基于并行计算的卫星对地通视分析方法,包括以下步骤:
步骤S1,在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集。
步骤S2,在多个子进程内,读取区域可视情况数据集中的目标点,根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析。
上述基于并行计算的卫星对地通视分析方法中,根据MPI控制通视分析的主进程,根据OpenMP控制通视分析的子进程来进行多线程计算,不同线程同时处理数据,提高了卫星对地二维通视分析的效率。并且,通过调整观测点的地理坐标和观测范围,可以快速获取以任意一个观测点为中心的观测范围内的目标可视情况。
在其中一个实施例中,在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集,包括:
在一个主进程内,首先,获取给定观测点地理坐标(x、y)和观测范围r,根据MPI通信协议中的Redis(Remote Dictionary Server,远程字典服务)数据库对给定观测点地理坐标和观测范围进行第一次转换,并将转换得到的字符形式的给定观测点地理坐标和字符形式的观测范围存储在Redis数据库的目标(task)数组中。具体地,根据Redis数据库中的名称为HiVisibilitytasklist的列表对给定观测点地理坐标和观测范围进行第一次转换,转换得到字符形式的给定观测点坐标(x、、y、)和字符形式的观测范围r、,当转换后的字符数组长度大于0代表有数据输入,则进行可视化区域的生成。
然后,根据目标数组读取并对字符形式的给定观测点坐标(x、、y、)和字符形式的观测范围r、进行第二次转换,转换得到数组矩阵形式的给定观测点坐标(x、、、y、、)和数组矩阵形式的观测范围r、、。具体地,根据目标数组将字符形式的给定观测点坐标转换为正方形数组矩阵中的坐标,得到数组矩阵形式的给定观测点坐标(x、、、y、、);将字符形式的观测范围转换为正方形数组矩阵的边长,根据正方形数组矩阵的边长框定的正方形数组矩阵的大小,确定数组矩阵形式的观测范围r、、。
最后,以数组矩阵形式的给定观测点坐标(x、、、y、、)为圆心,数组矩阵形式的观测范围r、、为半径,根据光栅线生成算法(Bresenham)绘制布雷森汉姆圆,即圆形可视域,并根据圆形可视域上所有点的坐标创建观测范围内的区域可视情况数据集B0,并调用Redis数据库中的圆形(circle)数组对圆形可视域上所有点的坐标进行存储。
可以理解,Bresenham算法是一种精确而有效的光栅线生成算法,可用于显示线、圆和其他曲线的整数增量运算。
在其中一个实施例中,在多个子进程内,获取区域可视情况数据集中的目标点,根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析,包括:
如图2和图3所示,图3中N表示否,Y表示是。首先,在主进程中将获取的地理参数进行两次转换为数组矩阵,并根据数组矩阵的地理参数绘制圆形可视域,并且获取圆形可视域上的所有点的坐标之后。在任意一个子进程i中,根据光栅线生成算法,以数组矩阵形式的给定观测点坐标为起点,以数组矩阵形式的观测范围划定的正方形数组矩阵的四周为终点,从正方形数组矩阵的左上角开始,按顺时针方向在每个子进程中依次绘制一条布雷森汉姆直线,即可视直线,并调用Redis数据库中的缓冲区(buffer_area)数组对可视直线上的所有点的坐标进行存储。其中,可视直线的条数与子进程的个数保持一致。
然后,在每个子进程中,读取区域可视情况数据集中圆形可视域上所有点的坐标,当可视直线上点的坐标位于圆形可视域上时,判断该点以及该点关于所述给定观测点对称的7个对称点为目标点。
再在每一个子进程中,根据OpenMP通信协议中的8条线程并行计算8个目标点和卫星的连线与给定观测点和卫星的连线构成的目标点夹角,并计算每个目标点与给定观测点的连线上,任意点和卫星之间连线与给定观测点和卫星之间的连线构成的任意点夹角,当在任意一个目标点与给定观测点的连线上,目标点夹角大于前面所有点对应的任意点夹角时,判断目标点可视;否则,判断目标点不可视;
最后,通过Redis数据库整合所有子进程中所有可视的目标点,并将所有可视目标点的数据存入目标有序集合中,设置目标过期时间为1秒,并将目标发布到名称为HiVisibilitytiles的列表中,得到观测范围内的最终可视情况数据集B1,完成一个主进程内的通视分析。
在其中一个实施例中,当存在多个给定观测点时,在一个主进程内的通视分析完成前,使用新的主进程对新的给定观测点进行通视分析;在一个主进程内的通视分析完成后,继续使用原有的主进程对新的给定观测点进行通视分析。
进一步地,本发明提供的基于并行计算的卫星对地通视分析方法中的进程级和线程级结合的并行可视域设计示意图如图4所示。首先在主进程中进行MPI初始化和任务分配,将通视分析中目标点的可视情况分析任务分配给不同子进程中。然后,每个子进程根据对应的子进程序号,读取主进程数据中经过了数据转换的地理数据,并在每个子进程中根据OpenMP中的8条线程对主进程数据中的目标点进行并行单元计算,获取所有目标点与给定观测点之间的角度,并根据角度计算结果形成目标点可视域,最终在主进程中将所有目标点可视域进行整合,得到给定观测点的观测范围内的可视域分析情况。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种基于并行计算的卫星对地通视分析装置,包括:区域可视情况数据集模块和最终可视情况数据集模块,其中:
区域可视情况数据集创建模块,用于在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集;
最终可视情况数据集创建模块,用于在多个子进程内,获取区域可视情况数据集中的目标点,根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析。
关于基于并行计算的卫星对地通视分析装置的具体限定可以参见上文中对于基于并行计算的卫星对地通视分析方法的限定,在此不再赘述。上述基于并行计算的卫星对地通视分析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于并行计算的卫星对地通视分析数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于并行计算的卫星对地通视分析方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集;
在多个子进程内,读取区域可视情况数据集中的目标点,根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (5)
1.一种基于并行计算的卫星对地通视分析方法,其特征在于,所述方法包括:
在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对所述给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集;
在多个子进程内,获取所述区域可视情况数据集中的目标点,根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有所述目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析;
在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对所述给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集,包括:
在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议中的Redis数据库对所述给定观测点地理坐标和观测范围进行第一次转换,并将转换得到的字符形式的给定观测点坐标和字符形式的观测范围存储在所述Redis数据库的目标数组中;
根据所述目标数组读取并对所述字符形式的给定观测点坐标和字符形式的观测范围进行第二次转换,转换得到数组矩阵形式的给定观测点坐标和数组矩阵形式的观测范围;
以所述数组矩阵形式的给定观测点坐标为圆心,所述数组矩阵形式的观测范围为半径,根据光栅线生成算法绘制圆形可视域,并根据所述圆形可视域上所有点的坐标创建并存储观测范围内的区域可视情况数据集;
根据所述圆形可视域上所有点的坐标创建并存储观测范围内的区域可视情况数据集,包括:
根据所述圆形可视域上所有点的坐标创建观测范围内的区域可视情况数据集,并调用所述Redis数据库中的圆形数组对所述圆形可视域上所有点的坐标进行存储;
在多个子进程内,获取所述区域可视情况数据集中的目标点,包括:
根据光栅线生成算法,以所述数组矩阵形式的给定观测点坐标为起点,以所述数组矩阵形式的观测范围划定的正方形数组矩阵的四周为终点,从所述正方形数组矩阵的左上角开始,按顺时针方向在每个子进程中依次绘制一条可视直线,并调用所述Redis数据库中的缓冲区数组存储所述可视直线上所有点的目标;其中,所述可视直线的条数与子进程的个数保持一致;
在每个子进程中,读取所述区域可视情况数据集中圆形可视域上所有点的坐标,当所述可视直线上点的坐标位于所述圆形可视域上时,判断该点以及该点关于所述给定观测点对称的7个对称点为目标点;
根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有所述目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析,包括:
在每一个子进程中,根据OpenMP通信协议中的8条线程并行计算8个目标点和卫星的连线与所述给定观测点和卫星的连线构成的目标点夹角,并计算每个目标点与所述给定观测点的连线上,任意点和卫星之间连线与所述给定观测点和卫星之间的连线构成的任意点夹角,当任意一个目标点夹角大于在该目标点与所述给定观测点的连线上的所有任意点夹角时,判断所述目标点可视;否则,判断所述目标点不可视;
通过Redis数据库整合每个子进程中所有可视的目标点,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析。
2.根据权利要求1所述的方法,其特征在于,根据所述目标数组读取并对所述字符形式的给定观测点坐标和字符形式的观测范围进行第二次转换,转换得到数组矩阵形式的给定观测点坐标和数组矩阵形式的观测范围,包括:
根据所述目标数组读取并对所述字符形式的给定观测点坐标和字符形式的观测范围进行第二次转换,将字符形式的给定观测点坐标转换为正方形数组矩阵中的坐标,得到数组矩阵形式的给定观测点坐标;将字符形式的观测范围转换为正方形数组矩阵的边长,根据正方形数组矩阵的边长框定的正方形数组矩阵的大小,确定数组矩阵形式的观测范围。
3.根据权利要求1所述的方法,其特征在于,当存在多个给定观测点时,在一个主进程内的通视分析完成前,使用新的主进程对新的给定观测点进行通视分析;在一个主进程内的通视分析完成后,继续使用原有的主进程对新的给定观测点进行通视分析。
4.一种基于并行计算的卫星对地通视分析装置,其特征在于,所述装置包括:
区域可视情况数据集创建模块,用于在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对所述给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集;
最终可视情况数据集创建模块,用于在多个子进程内,获取所述区域可视情况数据集中的目标点,根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有所述目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析;
在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议对所述给定观测点地理坐标和观测范围进行转换,创建并存储观测范围内的区域可视情况数据集,包括:
在一个主进程内,获取任意一个给定观测点地理坐标和观测范围,根据MPI通信协议中的Redis数据库对所述给定观测点地理坐标和观测范围进行第一次转换,并将转换得到的字符形式的给定观测点坐标和字符形式的观测范围存储在所述Redis数据库的目标数组中;
根据所述目标数组读取并对所述字符形式的给定观测点坐标和字符形式的观测范围进行第二次转换,转换得到数组矩阵形式的给定观测点坐标和数组矩阵形式的观测范围;
以所述数组矩阵形式的给定观测点坐标为圆心,所述数组矩阵形式的观测范围为半径,根据光栅线生成算法绘制圆形可视域,并根据所述圆形可视域上所有点的坐标创建并存储观测范围内的区域可视情况数据集;
根据所述圆形可视域上所有点的坐标创建并存储观测范围内的区域可视情况数据集,包括:
根据所述圆形可视域上所有点的坐标创建观测范围内的区域可视情况数据集,并调用所述Redis数据库中的圆形数组对所述圆形可视域上所有点的坐标进行存储;
在多个子进程内,获取所述区域可视情况数据集中的目标点,包括:
根据光栅线生成算法,以所述数组矩阵形式的给定观测点坐标为起点,以所述数组矩阵形式的观测范围划定的正方形数组矩阵的四周为终点,从所述正方形数组矩阵的左上角开始,按顺时针方向在每个子进程中依次绘制一条可视直线,并调用所述Redis数据库中的缓冲区数组存储所述可视直线上所有点的目标;其中,所述可视直线的条数与子进程的个数保持一致;
在每个子进程中,读取所述区域可视情况数据集中圆形可视域上所有点的坐标,当所述可视直线上点的坐标位于所述圆形可视域上时,判断该点以及该点关于所述给定观测点对称的7个对称点为目标点;
根据OpenMP通信协议并行计算所有目标点与给定观测点之间的角度,并根据角度计算结果对所有所述目标点的可视情况进行判断整合,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析,包括:
在每一个子进程中,根据OpenMP通信协议中的8条线程并行计算8个目标点和卫星的连线与所述给定观测点和卫星的连线构成的目标点夹角,并计算每个目标点与所述给定观测点的连线上,任意点和卫星之间连线与所述给定观测点和卫星之间的连线构成的任意点夹角,当任意一个目标点夹角大于在该目标点与所述给定观测点的连线上的所有任意点夹角时,判断所述目标点可视;否则,判断所述目标点不可视;
通过Redis数据库整合每个子进程中所有可视的目标点,得到观测范围内的最终可视情况数据集,完成一个主进程内的通视分析。
5.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042703.XA CN115794414B (zh) | 2023-01-28 | 2023-01-28 | 基于并行计算的卫星对地通视分析方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042703.XA CN115794414B (zh) | 2023-01-28 | 2023-01-28 | 基于并行计算的卫星对地通视分析方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115794414A CN115794414A (zh) | 2023-03-14 |
CN115794414B true CN115794414B (zh) | 2023-05-05 |
Family
ID=85428992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310042703.XA Active CN115794414B (zh) | 2023-01-28 | 2023-01-28 | 基于并行计算的卫星对地通视分析方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794414B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116170093B (zh) * | 2023-04-06 | 2023-06-27 | 中国人民解放军国防科技大学 | 无线电通视判定方法、系统、电子设备和存储介质 |
CN117576333B (zh) * | 2024-01-15 | 2024-05-07 | 苍穹数码技术股份有限公司 | 可视域的确定方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112288842A (zh) * | 2020-12-29 | 2021-01-29 | 中国人民解放军国防科技大学 | 基于阴影图算法的地形可视域定量分析方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103292784B (zh) * | 2013-05-14 | 2015-02-25 | 哈尔滨工程大学 | 一种基于声线轨迹的水下地表地形可视性分析方法 |
CN103809937B (zh) * | 2014-01-26 | 2016-09-21 | 北京仿真中心 | 一种基于gpu的通视并行处理方法 |
CN107168825A (zh) * | 2017-05-22 | 2017-09-15 | 南京师范大学 | 一种面向Xdraw可视性分析并行计算的容错方法 |
CN110378834A (zh) * | 2019-07-24 | 2019-10-25 | 重庆大学 | 一种基于异构并行架构的快速通视分析方法 |
CN113313826B (zh) * | 2021-05-27 | 2022-08-30 | 南京邮电大学 | 一种尺度自适应可视域分析方法 |
CN115015969A (zh) * | 2022-06-02 | 2022-09-06 | 长安大学 | 一种山区遮挡环境下的gnss卫星可视性预报方法 |
-
2023
- 2023-01-28 CN CN202310042703.XA patent/CN115794414B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112288842A (zh) * | 2020-12-29 | 2021-01-29 | 中国人民解放军国防科技大学 | 基于阴影图算法的地形可视域定量分析方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115794414A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115794414B (zh) | 基于并行计算的卫星对地通视分析方法、装置和设备 | |
CN102542035B (zh) | 基于扫描线法的多边形栅格化并行转换方法 | |
CN110285754B (zh) | 基于激光扫描的工件定位方法、装置、系统和存储介质 | |
CN108038897A (zh) | 阴影贴图生成方法及装置 | |
CN111539997B (zh) | 基于gpu计算平台的图像并行配准方法、系统、装置 | |
CN112148774B (zh) | 一种高分辨率空间多区域气象数据处理系统及方法 | |
CN104978743A (zh) | 一种多核并行sar图像变化信息实时提取方法及装置 | |
CN104408055A (zh) | 一种激光雷达点云数据的存储方法及装置 | |
CN112329789B (zh) | 点云的提取方法、装置、计算机设备和存储介质 | |
CN114677494A (zh) | 基于剖分网格的雷达探测能力计算方法、装置及设备 | |
CN113850917B (zh) | 三维模型体素化方法、装置、电子设备及存储介质 | |
CN106971369B (zh) | 一种基于gpu的地形可视域分析的数据调度与分发方法 | |
CN114549671A (zh) | 一种网格编码方法及计算机系统 | |
Singla et al. | Raptor zonal statistics: fully distributed zonal statistics of big raster+ vector data | |
CN112614207B (zh) | 等值线绘制方法、装置和设备 | |
CN114329854A (zh) | 一种基于多目标约束的二维空间视觉传感器布局优化方法 | |
CN109405834B (zh) | 一种基于数字地图的遮蔽角实时解算方法以及系统 | |
Lee et al. | Parallel computation of the Euclidean distance transform on a three-dimensional image array | |
CN111325812A (zh) | 军标符号标绘中钳击箭标的动态计算及绘制方法及装置 | |
CN110887490A (zh) | 一种激光定位导航的关键帧选取方法、介质、终端和装置 | |
CN116466369A (zh) | 高低轨卫星可见时间窗口确定方法及装置 | |
CN113421190B (zh) | 一种超分辨率方法、装置、计算机设备及存储介质 | |
KR102571513B1 (ko) | 이미지를 처리하는 방법, 장치, 기기, 저장 매체 및 프로그램 | |
CN113157806B (zh) | 网格数据分布式存储服务系统、方法、装置、设备及介质 | |
CN109754449B (zh) | 一种二维网格图形的三角化确定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |