基于多线程并行的海量观测系统炮检点数据绘制显示方法技术方案

技术编号:15572020 阅读:41 留言:0更新日期:2017-06-10 10:11
本发明专利技术公开了一种基于多线程并行的海量观测系统炮检点数据绘制显示方法,包含:根据炮点和检波点总数计算并分配需要的内存;计算观测系统炮线和检波线数量,将炮线、检波线进行编号;根据显示窗口大小创建绘图画布;根据绘图画布大小和实际观测系统数据范围,建立大地坐标和像素坐标间的坐标转换;根据炮线、检波线编号,生成要绘制数据线编号列表;根据CPU核数创建绘图线程,并对绘图线程进行编号;绘图线程获取要绘制的观测系统数据线编号,并通过编号获得观测系统数据线进行绘图;完成所有炮线、检波线绘图后,将画布显示在绘图窗口中。采用多核多线程的绘图方式,能够大幅提升绘图速度,实现海量观测系统炮检点数据快速绘图显示。

Method for drawing and displaying gun detection data in mass observation system based on Multithreading parallel

The invention discloses a rendering method, multi thread parallel mass observation system based on the data of shot points include: according to the total number of shot points and receiver points to calculate and allocate required memory; calculating the number of gun line observation system and the detection line, the gun line, line number detection; according to the size of the window to create a drawing canvas; according to the drawing canvas size and actual data, to establish the coordinate geodetic coordinates and pixel coordinates of the conversion; according to the gun line, detection line number, generated to draw a numbered list of data lines; the number of CPU cores to create threads according to the drawing, and number of drawing thread; thread drawing number acquisition observation system data to draw the line the observation system and data line number obtained by drawing; all the gun line, detection line drawing is completed, will display the canvas in the drawing window . Using multi core and multi thread drawing mode can greatly improve the drawing speed, and realize the rapid drawing and display of gun observation data of mass observation system.

【技术实现步骤摘要】

本专利技术属于野外地震采集
,具体地涉及一种用于野外地震采集设计及实际生产过程中的基于多线程并行的海量观测系统炮检点数据绘制显示方法
技术介绍
随着地震采集技术和装备的不断发展,地震勘探采集向着高精度、高密度、高分辨率的方向发展。随着高密度采集的应用,采集产生的观测系统的数据量成倍增长,达到几十个GB。由于数据量的增长,采用通用的应用单线程的绘图方式已经不能满足海量观测系统数据实时显示的需求。单线程的绘图方式数据处理慢,数据的显示存在延迟。目前,普通计算机的CPU的核数不断增加,4核、8核、16核的CPU已成为计算机标准配置,因此,多核多线程并行进行图形绘制的方法成为可能。本专利技术因此而来。
技术实现思路
针对上述存在的技术问题,本专利技术旨在提供一种基于多线程并行的海量观测系统炮检点数据绘制显示方法,采用多核多线程的绘图方式,能够大幅提升绘图速度,实现海量观测系统炮检点数据快速绘图显示的目的,达到野外采集设计中观测系统数据实时显示的需求。为达到上述目的,本专利技术的技术方案是:一种基于多线程并行的海量观测系统炮检点数据绘制显示方法,包含以下步骤:S01:计算海量观测系统中炮点个数和检波点个数,根据炮点和检波点总数计算需要内存,并进行分配;S02:获取当前计算机CPU信息;S03:计算海量观测系统炮线和检波线数量,将炮线、检波线进行编号;S04:根据显示窗口大小创建绘图画布;S05:根据绘图画布大小和实际海量观测系统数据范围,建立大地坐标和像素坐标间的坐标转换;S06:根据炮线、检波线编号,生成要绘制数据线编号列表;S07:根据CPU核数创建绘图线程,并对绘图线程进行编号;S08:绘图线程获取要绘制的观测系统数据线编号,并通过编号获得海量观测系统数据线进行绘图;S09:完成所有炮线、检波线绘图后,将画布显示在绘图窗口中,完成图形绘制。优选的,所述步骤S02中CPU信息包括CPU核数。优选的,所述步骤S03中将所有的炮线和检波线依次排列,并从0开始统一编号。优选的,所述步骤S05包括:计算海量观测系统数据坐标范围,得到X方向最小值为Minx、最大值为Maxx,Y方向最小值Miny、最大值Maxy,获得绘图画布大小W、H(单位:像素);根据观测系统数据范围和画布大小,计算X向和Y向坐标转换因子,HI=(Maxx–Minx)/W(单位:米/像素),VI=(Maxy–Miny)/H(单位:米/像素);在绘图过程中,通过炮点、检波点的坐标(x,y)和坐标转换因子,计算出点的像素坐标(PX,PY),其中,PX=(x–Minx)/VI(单位:像素),PY=(y–Miny)/HI(单位:像素)。优选的,所述步骤S06包括,按炮线、检波线的顺序,提取炮线、检波线的编号,形成要绘制观测系统数据线编号列表,并将编号初始状态标志设为“等待”。优选的,所述步骤S07中绘图线程从0开始编号。优选的,所述步骤S08包括:绘图线程从数据线编号表中,选取标志位“等待”的线编号,然后将该线编号标记为已“选取”;根据编号从海量观测系统数据中获得实际要绘制线数据进行绘图,一条线绘制完成后,将数据线号标记为“完成”,线程完成一条线绘制后,重新选取标志位“等待”的线编号进行绘图,直到所有观测系统数据线绘制完成。与现有技术相比,本专利技术的有益效果是:本专利技术可以实现多线程并行方式绘制海量观测系统炮检点数据,该方法利用CPU多核特性,实现多线程并行的方式绘制观测系统炮检点数据,提高图形绘制速度。该方法绘图线程数量与CPU核数相等,充分利用CPU资源,最大限度提高CPU使用率。绘图过程中,每个绘图线程采用主动的方式获得要绘制的数据,所有数据绘制完成后,图形在显示窗口中显示。该方法适应性强,适用于地震采集前理论设计的观测系统数据和地震采集施工过程中实际观测系统数据实时显示。附图说明图1为本专利技术基于多线程并行的海量观测系统炮检点数据绘制显示方法的功能示意图;图2为本专利技术基基于多线程并行的海量观测系统炮检点数据绘制显示方法的流程图;图3为本专利技术的炮线、检波线统一线编号示意图;图4为本专利技术需要绘制观测系统数据线编号列表示意图;图5为本专利技术绘图线程主动选取线编号和观测系统数据线编号列表“等待”、“选取”状态示意图;图6为本专利技术绘图线程主动选取线编号和观测系统数据线编号列表“等待”、“选取”、“完成”状态示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实施方式以及附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。实施例:如图1所示,基于多线程并行的海量观测系统炮检点数据绘制显示方法,主要是实现多线程并行绘制观测系统数据以提高绘图效率,达到实时地显示海量观测系统数据的目的,该方法充分利用CPU多核特性实现多线程并行绘图。在绘图过程中,创建与CPU核数相等的绘图线程,每个绘图线程一次绘制一条观测系统数据线,所有观测系统数据绘制完成后,观测系统图显示在窗口中。该方法具体的流程如图2所示,包括:计算炮检点需要的内存S01,获取计算机当前资源状态S02,炮线、检波线统一线编号S03,创建绘图画布S04,建立图形绘制坐标转换S05,计算要进行绘制的炮线、检波线的线编号列表S06,创建绘图线程S07,绘图线程绘图S08,图形显示S09。计算炮检点需要的内存S01计算观测系统中炮点个数和检波点个数,根据炮点和检波点总数和每个点需要内存大小,计算出观测系统数据需要的内存大小,内存大小=(炮点数+检波点数)*点(炮点、检波点)占用内存大小(单位:字节),根据计算的内存大小分配相应的物理内存,保存炮检点数据。获取计算机当前资源状态S02获取当前计算机CPU信息,主要包括CPU核数N。炮线、检波线统一编号S03根据炮线数和检波线数,对炮线和检波线进行统一编号,如果炮线和检波线总数为N,编号从第一个炮线开始,其编号为0,第二个炮线为1,最后一个检波线为N-1,如图3所示。创建绘图画布S04根据显示窗口的大小W*H(单位:像素)(W为显示窗口宽,H为显示窗口高),创建等大小的绘图画布用于图形绘制。建立图形绘制坐标转换S05计算观测系统数据坐标范围,既X(横向)、Y(纵向)方向的数据范围(单位:米),得到X方向最小值为Minx、最大值为Maxx,Y方向最小值Miny、最大值Maxy,获得绘图画布大小W、H(单位:像素),根据观测系统数据范围和画布大小,计算横向和纵向坐标转换因子,HI=(Maxx–Minx)/W(单位:米/像素),VI=(Maxy–Miny)/H(单位:米/像素)。在绘图过程中,通过炮点、检波点的坐标(x,y)和坐标转换因子,计算出点的像素坐标(PX,PY),其中,PX=(x–Minx)/VI(单位:像素),PY=(y–Miny)/HI(单位:像素)。生成要进行绘制的炮线、检波线列表S06按炮线、检波线的顺序,提取炮线、检波线的编号,形成要绘制观测系统数据线编号列表(以下简称数据线编号表),并将编号初始状态标志设为“等待”,如图4。创建绘图线程S07根据CPU核数N,创建N个绘图线程,并对绘图线程从0开本文档来自技高网...
基于多线程并行的海量观测系统炮检点数据绘制显示方法

【技术保护点】
基于多线程并行的海量观测系统炮检点数据绘制显示方法,其特征在于,包含以下步骤:S01:计算海量观测系统中炮点个数和检波点个数,根据炮点和检波点总数计算需要内存,并进行分配;S02:获取当前计算机CPU信息;S03:计算海量观测系统炮线和检波线数量,将炮线、检波线进行编号;S04:根据显示窗口大小创建绘图画布;S05:根据绘图画布大小和实际海量观测系统数据范围,建立大地坐标和像素坐标间的坐标转换;S06:根据炮线、检波线编号,生成要绘制数据线编号列表;S07:根据CPU核数创建绘图线程,并对绘图线程进行编号;S08:绘图线程获取要绘制的观测系统数据线编号,并通过编号获得海量观测系统数据线进行绘图;S09:完成所有炮线、检波线绘图后,将画布显示在绘图窗口中,完成图形绘制。

【技术特征摘要】
1.基于多线程并行的海量观测系统炮检点数据绘制显示方法,其特征在于,包含以下步骤:S01:计算海量观测系统中炮点个数和检波点个数,根据炮点和检波点总数计算需要内存,并进行分配;S02:获取当前计算机CPU信息;S03:计算海量观测系统炮线和检波线数量,将炮线、检波线进行编号;S04:根据显示窗口大小创建绘图画布;S05:根据绘图画布大小和实际海量观测系统数据范围,建立大地坐标和像素坐标间的坐标转换;S06:根据炮线、检波线编号,生成要绘制数据线编号列表;S07:根据CPU核数创建绘图线程,并对绘图线程进行编号;S08:绘图线程获取要绘制的观测系统数据线编号,并通过编号获得海量观测系统数据线进行绘图;S09:完成所有炮线、检波线绘图后,将画布显示在绘图窗口中,完成图形绘制。2.根据权利要求1所述的基于多线程并行的海量观测系统炮检点数据绘制显示方法,其特征在于,所述步骤S02中CPU信息包括CPU核数。3.根据权利要求1所述的基于多线程并行的海量观测系统炮检点数据绘制显示方法,其特征在于,所述步骤S03中将所有的炮线和检波线依次排列,并从0开始统一编号。4.根据权利要求1所述的基于多线程并行的海量观测系统炮检点数据绘制显示方法,其特征在于,所述步骤S05包括:计算海量观测系统数据坐标范围,得到X方向最小值为Minx、最大值为Maxx,Y方向最小值Mi...

【专利技术属性】
技术研发人员:冷传波侯建全彭祖峰
申请(专利权)人:北京科胜永昌软件有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1