📄 segy.h
字号:
short hour; /* hour of day (24 hour clock) */
short minute; /* minute of hour */
short sec; /* second of minute */
short timbas; /* time basis code:
1 = local
2 = GMT
3 = other */
short trwf; /* trace weighting factor, defined as 1/2^N
volts for the least sigificant bit */
short grnors; /* geophone group number of roll switch
position one */
short grnofr; /* geophone group number of trace one within
original field record */
short grnlof; /* geophone group number of last trace within
original field record */
short gaps; /* gap size (total number of groups dropped) */
short otrav; /* overtravel taper code:
1 = down (or behind)
2 = up (or ahead) */
/* local assignments */
float wxx; /* sample spacing for non-seismic data */
float wxy; /* first sample location for non-seismic data */
float wxmx; /* sample spacing between traces */
float wxmy; /* first trace location */
float wxpx; /* negative of power used for dynamic
range compression */
float wxpy; /* reciprocal of scaling factor to normalize
range */
short station;//接受点桩号
short sdis;
short ntr; /* number of traces */
short vellow; /* mark selected traces */
short veldec;
short mdis;
short numstation;
short pnum;
short shotrscorrect;
short receiverrsc;
short totalrsc;
short lowvelheig;
short reclowvel;
short wxtrrownum;
short wxtrcolnum;
// short wxduannum;
short tsort; //和卷头的定义一样
int totaltr; //总的道数
} ;
struct bhed { /* bhed - binary header */
int jobid; /* job identification number */
int lino; /* line number (only one line per reel) */
int reno; /* reel number */
short ntrpr; /* number of data traces per record */
short nart; /* number of auxiliary traces per record */
unsigned short hdt; /* sample interval in micro secs for this reel */
unsigned short dto; /* same for original field recording */
unsigned short hns; /* number of samples per trace for this reel */
unsigned short nso; /* same for original field recording */
short format; /* data sample format code:
1 = floating point (4 bytes)
2 = fixed point (4 bytes)
3 = fixed point (2 bytes)
4 = fixed point w/gain code (4 bytes) */
short fold; /* CDP fold expected per CDP ensemble */
short tsort; /* trace sorting code:
1 = as recorded (no sorting)
2 = CDP ensemble
3 = single fold continuous profile
4 = horizontally stacked */
short vscode; /* vertical sum code:
1 = no sum
2 = two sum ...
N = N sum (N = 32,767) */
short hsfs; /* sweep frequency at start */
short hsfe; /* sweep frequency at end */
short hslen; /* sweep length (ms) */
short hstyp; /* sweep type code:
1 = linear
2 = parabolic
3 = exponential
4 = other */
short schn; /* trace number of sweep channel */
short hstas; /* sweep trace taper length at start if
tapered (the taper starts at zero time
and is effective for this length) */
short hstae; /* sweep trace taper length at end (the ending
taper starts at sweep length minus the taper
length at end) */
short htatyp; /* sweep trace taper type code:
1 = linear
2 = cos-squared
3 = other */
short hcorr; /* correlated data traces code:
1 = no
2 = yes */
short bgrcv; /* binary gain recovered code:
1 = yes
2 = no */
short rcvm; /* amplitude recovery method code:
1 = none
2 = spherical divergence
3 = AGC
4 = other */
short mfeet; /* measurement system code:
1 = meters
2 = feet */
short polyt; /* impulse signal polarity code:
1 = increase in pressure or upward
geophone case movement gives
negative number on tape
2 = increase in pressure or upward
geophone case movement gives
positive number on tape */
short vpol; /* vibratory polarity code:
code seismic signal lags pilot by
1 337.5 to 22.5 degrees
2 22.5 to 67.5 degrees
3 67.5 to 112.5 degrees
4 112.5 to 157.5 degrees
5 157.5 to 202.5 degrees
6 202.5 to 247.5 degrees
7 247.5 to 292.5 degrees
8 293.5 to 337.5 degrees */
short hunass[170]; /* unassigned */
} ;
void ChangeReelHead(bhed *b);
void ChangeSegyHead(segy *s);
void ChangeData(unsigned char *data,int length,int WordLength);
////////////////////////////////CSP
struct csp {
short FmtCd; // 格式编码=$CCCC
short RcdNbr; // 记录号-炮号
// int RcdNbr;
short NCH; // 道数/每炮
short SOF; // 偏移距
short SPC; // 道间距
short LNH; // 样点数/每道
short DLT; // 延迟时间(MS)
// short dd;
float SRT; // 采样率
short FLOATSOF; // 实型浮点数
short TSG; // 道开始段地址
short TSS; // 道段地址的步进值
short TSZ; // 以字计的道长度
short DLS; // 以样值数计的延迟时间
short rsv1; // 未定义
short BPK; // 带通类型-带通滤波-带平衡滤波
short LPF; // 低通频
short HPF; // 高通频
short BRU; // 带阻滤波否
short LRF; // 低截频
short HRF; // 高截频
short FLOATSPC; // 未定义
short GCK; // 增益控制种类
short LBW; // 低平衡控制窗口
short HBW; // 高平衡控制窗口
short rsv3; // 未定义
int BLG; // 公共增益
int EXG; // 指数增益
short rsv4[4]; //未定义
short cspumass[220]; // unassigned
} ;
typedef struct {
short int fmtcd; //0xdddd--格式编码-------------------------(0-1)
short int trcnbr; //--------记录号-炮号---------------------(2-3)
short int nch; //number of channels-道数/每炮--------------(4-5)
short int sof; //offset------------------------------------(6-7)
short int spc; //space between channels---------------------(8-9)
short int lnh; //length per channel-------------------------(10-11)
short int dlt; //delaytime----------------------------------(12-13)
float srt; //sample rate '子针参数占用4个字节--------------(14-17)
float floatsof; //offset in float-----------------------------(18-21)
short int tsg;//----------------------------------------------(22-23)
short int tss;//-----------------------------------------------(24-25)
short int tsz;//-----------------------------------------------(26-27)
short int dls;//-----------------------------------------------(28-29)
short int rsv1;//----------------------------------------------(30-31)
short int bpk;//-----------------------------------------------(32-33)
short int lpf; //low pass filter--------------------------(34-35)
short int hpf; //high pass filter-------------------------(36-37)
short int bru;//-----------------------------------------------(38-39)
short int lrf;//-----------------------------------------------(40-41)
short int hrf;//-----------------------------------------------(42-43)
float floatspc; //space between channels in float--------------(44-47)
short int gck;//-----------------------------------------------(48-49)
short int lbw;//-----------------------------------------------(50-51)
short int hbw;//-----------------------------------------------(52-53)
short int rsv3;//----------------------------------------------(54-55)
short int *blg;//----------------------------------------------(56-59)
short int *exg;//----------------------------------------------(60-63)
float rsv4;//--------------------------------------------------(64-67)
float rsv;//---------------------------------------------------(68-71)
short int nmk;//----------------------------------------------(72-73)
short int cnv;//-----------------------------------------------(74-75)
short int vtb[16][2];//----------------------------------------(76-139)
short int gtk;//-----------------------------------------------(140-141)
short int rsv5;//----------------------------------------------(142-143)
short int rsv6[56];//------------------------------------------(144-255)
short int tmpm[126]; // '存变道间距离(可能乘一个数量)-------(256-507)
long int lsrt; //sample rate in microsecond---------------(508-511)
} CSPrecord;
//////////////////////////
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -