本发明涉及的是地震数据采集,具体涉及一种双线程地震采集数据加权面元分析方法。
背景技术:
1、随着地震采集硬件设备的不断升级,地震数据采集的接收道数越来越多。单炮道集超过万道,炮间距也越来越大,覆盖次数越来越高。随着炮间距的增大,通过振动采集的数据对面元点叠加数据的贡献会越来越小,常规的面元属性计算不区分炮间距的大小,一个炮检对计算一次覆盖次数,在地震资料处理的过程中有针对炮间距大小对地震数据进行加权的处理模块,在采集观测系统的面元属性分析软件,还没有这方面的技术应用。
技术实现思路
1、针对现有技术上存在的不足,本发明目的是在于提供一种双线程地震采集数据加权面元分析方法,在计算常规面元属性的同时,对大炮间距进行加权覆盖次数计算,获得地震采集数据的综合性面元分析数据,供后期的面元属性对比分析使用。
2、为了实现上述目的,本发明是通过如下的技术方案来实现:双线程地震采集数据加权面元分析方法,扩充了地震采集面元计算的方法,在编程实现上采用观测系统关系片数据驱动的双线程方法,包括以下步骤:
3、s01:读取地震采集观测系统数据,获得观测系统参数,建立炮检点对应关系;
4、s02:获取最大、最小炮间距;
5、s03:设置合理的炮间距加权基数,设计了2种方法,一种是根据获得的最大、最小炮间距计算一个缺省值p0=(offset_max+offset_min)/2),一种是交互输入加权基数,通过这2种方法获得炮间距的加权基数p0,用于计算有效覆盖次数;
6、s04:开启第1个线程从地震采集观测系统数据文件读取一个观测系统关系片数据;设置有效数据信号或者数据读取完成信号,然后,等待线程2的计算结果;
7、s05:开启第2个线程,当收到第一个线程的数据信号后,初始化面元点数据,开始计算;
8、s06:计算面元点的面元属性数据,包括:炮间距、方位角、覆盖次数、有效覆盖次数;
9、计算方法:炮间距(炮点到检波点的距离)、方位角(炮点与检波点的夹角)、覆盖次数(一个炮检对累计一次覆盖);
10、有效覆盖次数的计算方法:当前炮间距offset_current小于等于加权基数时,覆盖次数为1;当前炮间距大于加权基数时,首先计算覆盖次数的衰减系数,计算方法:c1 =(offsetcurrent - p0) / (offset_max - p0),比较c1的值,最大为0.9,如果大于0.9设置为0.9;有效覆盖次数:fp = 1 – c1。
11、s07:为了保证程序的运行效率,面元属性数据达到8mb时,把当前的数据体保存到二进制文件,清空缓存;
12、s08:循环计算,当读取完整个地震采集数据时,线程1输出结束信号,线程2保存当前数据,结束程序运行。
13、作为优选,所述步骤s01中对地震采集观测系统数据文件浏览一遍,建立炮检点关系。
14、作为优选,所述步骤s02中根据观测系统对应的炮检关系,获得全局的最大、最小炮间距。
15、作为优选,所述步骤s03中设置合理的炮间距加权基数,根据最大、最小炮间距对计算出的炮间距加权基数,进行合理调整。
16、作为优选,所述步骤s03关于有效覆盖次数的计算方法,通过该算法实现面元点有效覆盖次数的计算及常规面元属性的计算。
17、作为优选,所述步骤s04、s05双线程的数据驱动编程实现方法,通过该方法可以准确、高效的计算面元点的常规面元属性及有效覆盖次数。
18、本发明具有以下有益效果:
19、1、本发明在计算常规面元属性(炮间距、方位角、覆盖次数)的基础上,实现了一种有效覆盖次数的分析方法,可以与常规的覆盖次数做对比分析,从实际接收效果的角度分析覆盖次数的强弱;
20、2、本发明设计双线程的编码实现,提供程序的运行效率;
21、3、本发明设计当计算的面元属性数据达到8mb时,把当前的数据体保存到二进制文件,减少i/o的操作,提供程序的运行效率。
1.双线程地震采集数据加权面元分析方法,其特征在于,扩充了地震采集面元计算的方法,在编程实现上采用观测系统关系片数据驱动的双线程方法,包括以下步骤:
2.根据权利要求1所述的双线程地震采集数据加权面元分析方法,其特征在于,所述步骤(s01)中对地震采集观测系统数据文件浏览一遍,建立炮检点关系。
3.根据权利要求1所述的双线程地震采集数据加权面元分析方法,其特征在于,所述步骤(s02)中根据观测系统对应的炮检关系,获得全局的最大、最小炮间距。
4.根据权利要求1所述的双线程地震采集数据加权面元分析方法,其特征在于,所述步骤(s03)中设置合理的炮间距加权基数,根据最大、最小炮间距对计算出的炮间距加权基数,进行合理调整。
5.根据权利要求1所述的双线程地震采集数据加权面元分析方法,其特征在于,所述步骤(s03)关于有效覆盖次数的计算方法,通过该算法实现面元点有效覆盖次数的计算及常规面元属性的计算。
6.根据权利要求1所述的双线程地震采集数据加权面元分析方法,其特征在于,所述步骤(s04)、步骤(s05)双线程的数据驱动编程实现方法,通过该方法可以准确、高效的计算面元点的常规面元属性及有效覆盖次数。