SegY地震体数据可视化分析工具 开发笔记 5 数据切割和抽取

经过几天时间的整理,简单讲一下自己对SegY数据切割和提取的理解。有错误或不妥只处,求大神指点。

简单按道提取,在前文中已经介绍过,笔者在此处说一些自以为高级的。

数据提取的依据是扫描信息,根据扫描结果,提取方式也分为:单炮记录、CMP/CRP、叠后3D(叠后2D的比较简单,可以用基本的方法)

先介绍一下笔者对扫描信息的理解:

1、单炮记录:炮号、每炮的道数, 这样可以炮号提取

2、CMP/CRP:CMP号、线号、这样可以按线提取

3、叠后3D:Inline号,CDP号,这样可以按inline、cdp进行提取

基本的流程如下图, 简要画了一下,勿喷

扫描结果的基类如下

/**************************************************************************
*                       SlSegYScanResult 类声明                                *
**************************************************************************/

/** @brief SegY扫描结果
*
*  @details 
*/ 
class SLSEGY_EXPORT SlSegYScanResult
{
public:
    SlSegYScanResult();
    ~SlSegYScanResult();

    /** @brief   从二进制序列获取取参数
    *
    *  @details  从二进制序列获取取参数
    *  @param    binary 二进制序列
    *  @return 
    */
    virtual void load(QDataStream& dataStream);
    /** @brief   将参数写入二进制序列
    *
    *  @details  将参数写入二进制序列
    *  @param    binary 二进制序列
    *  @return 
    */
    virtual void save(QDataStream& dataStream);


public:
    // 文件名
    string m_segyFilename;
    // 道头字段对应
    SlSegYTraceHeaderIndex m_segyHeaderIndex;
    // 数据格式 400字节卷头25-26字段
    int m_dataFormat;
    // 数据的最大最小值
    float m_minimumn, m_maximumn; // 最小、最大值

    // SegY的类型: 2D 3D, CMP/CRP ...
    SegYDataType m_dataType;
    ... ...
    };

单炮记录提取为按炮提取

CMP、CRP为按线提取

叠后3D为按Inline CDP范围提取

猜你喜欢

转载自blog.csdn.net/sdust_dx/article/details/9446967
今日推荐