1.endian介绍

字节存储格式 big endian 大端 和 little endian 小端 两种

MSB:最重要的位或字节,通常是一个bit序列或byte序列中对其影响最大的bit和byte

LSB:最不重要的位或字节,影响最小

在消息序列传输过程中支持先传输MSB的为big endian,支持LSB的为little endian.

big endian:在计算机中,MSB存放在最低端的地址上,高位数据存放于低地址,数据bit位编号从最高位开始为0,最低位最大

通常在TCP/IP协议栈所说的网络序(Network Order)就是遵循 Big-Endian规则。

JAVA编写的程序是唯一采用bigendian方式存储数据的。所有网络协议也都是采用bigendian的方式来传输数据的

little endian:LSB在最低位,低位数据在低地址,数据bit位编号从最低位开始为0,最高位最大。通常说的主机序(host order)就是这个,

则2个主机之间通过TCP/IP协议进行通信时需要相应程序完成little endian到big endian的转换。

C/C++都是little endian 方式。

2.相关概念

子程序:在源程序内反复出现的程序段

子程序库:c/c++里面有很多标准库文件,库文件可以看做子程序的集合,库文件中有子程序名,子程序的目标代码,以及连接需要的重定位信息,当某目标文件与库文件相连接时,LINK程序只把目标文件所用到的子程序从库文件中找出来,并合并到最终的可执行文件中,而不是把库中所含的全部子程序都纳入最后的可执行文件。

子程序库的介绍:

RSAC1读取等间隔文件,RSAC2读取非等间隔文件和频谱文件;WSAC1写入等间隔文件,WSAC2写入非等间隔数据,

WSAC0写入比另外两个包含更多头段信息的SAC文件(如果是新文件,那么它首先需要使用一个新的子程序NEWHDR来定义头段变量。如果是写入一个已经存在的文件则不应该调用NEWHDR,在写入这样一个文件之前,它要更新如DEPMAX和BAZ这样的头段变量)

儒略日的计算:年月日分别为I、J、K

儒略日= K - 32075 + 1461 * (I + 4800 + (J-14)/12)/4+367*(J-2-(J-14)/12*12)/12-3*((I+4900+(J-14)/12)/100)/4

3.SAC数据格式

sac可以操作任意的endian数据,也就是big endian 的系统可以读取 little endian 系统(Linux、Mac、i686、Cygwin)的sac文件, sac在各个系统中是通用的。

数据组成:头段区(固定长度)+ 数据区(1或2个)

头段区包含浮点型、整型、逻辑型以及字符型变量。

等采样间隔的数据文件:在头段中包含了自变量的最小值、最大值以及采样间隔,因而只需要一个包含因变量的数据区。

非等间隔数据或者频谱数据则包含两个数据区,非等间隔数据的两个数据区分别为因变量和自变量(注意顺序),频谱数据的两个数据区包含振幅和相位或者实部和虚部。

sac二进制数据格式:最常用,可以被sac(read/write)以及子程序库(RSAC1,RSAC2,WSAC1,WSAC2,WSAC0)使用。整个头段长度为152个字,1个字为32位,之后是数据区。

头段区 第一数据区 第二数据区(可选)

============= =========== ===================

起始字: 0 158 158+NPTS

长度(字): 158 NPTS NPTS

因变量 自变量-------非等间隔数据

振幅 相位 --------频谱数据

sac头段区:

变量类型说明如下:

类型 数据类型 未定义值 描述

==== ======== ======== ==================================

F 浮点型 -12345.0 单精度

N 整型 -12345 变量名以N开头

I 枚举型 -12345 变量名以I开头,在有限个整数值中取值,每个值有特定的名字,代表特定的情形,

子程序使用与之等价的字母数据型名称

L 逻辑型 FALSE 变量名以L开头,值取TRUE或FALSE.

K 字符型 "-12345.." 变量名以K开头,长为8或16个字符

A 辅助型 头段中不存在,由其他变量导出

变量名为INTERNAL时,该变量为SAC内部变量,用户不需要对其操作;变量名为UNUSED代表这个变量暂时没有使用(为以后占位),这些变量值目前没有任何意义,可称之为未定义变量。对于某一类型的变量,以上表中类似于-12345之类的数据表明该变量未定义。

sac头段中一般来说每行有5个字,word为那一行头段变量的起始字,type为变量类型

二进制格式:

Word Type NAMES

======= ======= ======== ======== ======== ======= ========

0 F DELTA DEPMIN DEPMAX SCALE ODELTA

5 F B E O A INTERNAL

10 F T0 T1 T2 T3 T4

15 F T5 T6 T7 T8 T9

20 F F RESP0 RESP1 RESP2 RESP3

25 F RESP4 RESP5 RESP6 RESP7 RESP8

30 F RESP9 STLA STLO STEL STDP

35 F EVLA EVLO EVEL EVDP MAG

40 F USER0 USER1 USER2 USER3 USER4

45 F USER5 USER6 USER7 USER8 USER9

50 F DIST AZ BAZ GCARC INTERNAL

55 F INTERNAL DEPMEN CMPAZ CMPINC XMINIMUM

60 F XMAXIMUM YMINIMUM YMAXIMUM UNUSED UNUSED

65 F UNUSED UNUSED UNUSED UNUSED UNUSED

70 I NZYEAR NZJDAY NZHOUR NZMIN NZSEC

75 I NZMSEC NVHDR NORID NEVID NPTS

80 I INTERNAL NWFID NXSIZE NYSIZE UNUSED

85 I IFTYPE IDEP IZTYPE UNUSED IINST

90 I ISTREG IEVREG IEVTYP IQUAL ISYNTH

95 I IMAGTYP IMAGSRC UNUSED UNUSED UNUSED

100 I UNUSED UNUSED UNUSED UNUSED UNUSED

105 L LEVEN LPSPOL LOVROK LCALDA UNUSED

110 K KSTNM KEVNM*

116 K KHOLE KO KA

122 K KT0 KT1 KT2

128 K KT3 KT4 KT5

134 K KT6 KT7 KT8

140 K KT9 KF KUSER0

146 K KUSER1 KUSER2 KCMPNM

152 K KNETWK KDATRD KINST

其中KEVNM为16字符(4字)长,其他K类型的变量为8字符(2字)长。

ASCII格式:

行号 格式 NAMES

======= ======= ======== ======== ======== ======= ========

01 (5G15.7) DELTA DEPMIN DEPMAX SCALE ODELTA

02 (5G15.7) B E O A INTERNAL

03 (5G15.7) T0 T1 T2 T3 T4

04 (5G15.7) T5 T6 T7 T8 T9

05 (5G15.7) F RESP0 RESP1 RESP2 RESP3

06 (5G15.7) RESP4 RESP5 RESP6 RESP7 RESP8

07 (5G15.7) RESP9 STLA STLO STEL STDP

08 (5G15.7) EVLA EVLO EVEL EVDP MAG

09 (5G15.7) USER0 USER1 USER2 USER3 USER4

10 (5G15.7) USER5 USER6 USER7 USER8 USER9

11 (5G15.7) DIST AZ BAZ GCARC INTERNAL

12 (5G15.7) INTERNAL DEPMEN CMPAZ CMPINC XMINIMUM

13 (5G15.7) XMAXIMUM YMINIMUM YMAXIMUM ADJTM UNUSED

14 (5G15.7) UNUSED UNUSED UNUSED UNUSED UNUSED

15 (5I10) NZYEAR NZJDAY NZHOUR NZMIN NZSEC

16 (5I10) NZMSEC NVHDR NORID NEVID NPTS

17 (5I10) NSPTS NWFID NXSIZE NYSIZE UNUSED

18 (5I10) IFTYPE IDEP IZTYPE UNUSED IINST

19 (5I10) ISTREG IEVREG IEVTYP IQUAL ISYNTH

20 (5I10) IMAGTYP IMAGSRC UNUSED UNUSED UNUSED

21 (5I10) UNUSED UNUSED UNUSED UNUSED UNUSED

22 (5I10) LEVEN LPSPOL LOVROK LCALDA UNUSED

23 (A8,A16) KSTNM KEVNM

24 (3A8) KHOLE KO KA

25 (3A8) KT0 KT1 KT2

26 (3A8) KT3 KT4 KT5

27 (3A8) KT6 KT7 KT8

28 (3A8) KT9 KF KUSER0

29 (3A8) KUSER1 KUSER2 KCMPNM

30 (3A8) KNETWK KDATRD KINST

头段变量说明:

========= ===== =============================================================

Name Type Description

========= ===== =============================================================

NPTS N 每个数据分量的点数。[必须]

DEPMIN F 因变量最小值。

DEPMAX F 因变量最大值。

DEPMEN F 因变量平均值。

DELTA F 等间隔采样点之间的增量(标称值)。[必须]

ODELTA F 观测到的采样点增量,如果其不等于DELTA则有值

NZYEAR N GMT年,文件基准时间,GMT即格林尼治平时

NZJDAY N GMT儒略日,此处儒略日大致相当于该日一年中的第多少天,比月、日少用一个变量

NZHOUR N GMT时

NZMIN N GMT分

NZSEC N GMT秒

NZMSEC N GMT毫秒

NZDTTM N GMT时间数组,不在头段中,用于子程序读取SAC文件.该数据包含了上面6个变量,年、日、时、分、秒、毫秒

KZDATE A 不在头段中,字母数字格式的GMT基准日期,由NZYEAR和NZJDAY导出

KZTIME A 不在头段中,字母数字格式的GMT基准时间,由NZHOUR, NZMIN, NZSEC和NZMSEC导出

B F 自变量起始值(相对参考时间的秒数)。[必须]

E F 自变量结束值(相对参考时间的秒数)。[必须]

O F 事件发生时间(相对参考时间的秒数)*

KO A 事件发生时间标志

IZTYPE I 等效基准时间,可选值如下

- IUNKN (未知)

- IB (文件开始时间)

- IDAY (基准GMT的午夜)

- IO (事件发生时间)

- IA (初动到时)

- ITn (用户自定义的读取时间Tn, n=0-9)

IDEP I 因变量类型

- IUNKN (未知)

- IDISP (位移:nm)

- IVEL (速度:nm/sec)

- IVOLTS (速度:volts)

- IACC (加速度:nm/sec/sec)

SCALE F 因变量比例因子放大系数[目前未使用]

NVHDR N 头段版本号,目前为6,对于老的SAC文件(NVHDR>6)在读入SAC时会自动更新。[必须]

IFTYPE I 文件类型[必须]:

- ITIME {时间序列文件}

- IRLIM {频谱文件--实虚部格式}

- IAMPH {频谱文件--振幅相位格式}

- IXY {一般的x-y数据}

- IXYZ {一般的XYZ(3-D)文件}

LEVEN L 若为等间隔则为真。[必须]

关于SAC时间的说明:

SAC头段中与时间有关的变量很多,NZYEAR, NZJDAY, NZHOUR, NZMIN, NZSEC,NZMSEC六个变量定义了某年某日的某个时刻,一般用 等效的KZDATE和KZTIME来表示,这个时间只是一个参考(基准)时间,你可以任意设置,通常其为第一个数据点所对应的时间,但是也可以为事件的发生时间、某个午夜或你的生日。所有的其他时间(如B、E、O等等)都是相对于这个时间的秒数,根据基准时间以及各个时间变量的相对值即可以确定该数据中任意时刻的绝对时间。

与震相有关的变量:

Name Type Description

------ ------- -------------------

A F 初动到时(相对参考时间的秒数)

KA K 初动到时标志

F F 事件结束时间(相对参考时间的描述,注意与文件结束时间的区别)

KF A 事件结束标志

Tn F 用户定义的时间,在拾取震相时使用,n = 0-9(相对参考时间的秒数),T0-T9

KT{n} K 用户定义的时间标志, n为变量可取 0-9,KT0到KT9

与仪器有关的变量:

Name Type Description

------ ------- -------------------

KINST K 记录仪器名称

IINST I 记录仪器类型[未使用]

RESPn F 仪器响应参数,n=0-99. [未使用]

与台站有关的变量:

Name Type Description

------ ------- -------------------

KNETWK K 地震台网名

KSTNM K 台站名

ISTREG I 台站地理区域[未使用]

STLA F 台站纬度(度,北为正)

STLO F 台站经度(度,东为正).

STEL F 台站高程(m). [未使用]

STDP F 台站相对地表深度(m). [未使用]

CMPAZ F 分量方位角(从北开始顺时针度数).

CMPINC F 分量入射角(从垂直开始的度数).

KCMPNM K 分量名称

KSTCMP A 台站分量,由KSTNM, CMPAZ和CMPINC导出

LPSPOL L 如果台站分量为正极性则为真(左手规则)

与事件有关的变量:

Name Type Description

------ ------- -------------------

KEVNM K 事件名

IEVREG I 事件地理区域[未使用]

EVLA F 事件纬度(度,北为正)

EVLO F 事件经度(度,东为正)

EVEL F 事件高程(m). [未使用]

EVDP F 事件相对地表深度(m). [未使用]

MAG F 事件震级

IMAGTYP I 震级类型:

- IMB (Bodywave Magnitude)

- IMS (Surfacewave Magnitude)

- IML (Local Magnitude)

- IMW (Moment Magnitude)

- IMD (Duration Magnitude)

- IMX (User Defined Magnitude)

IMAGSRC I 震级来源信息:

- INEIC (National Earthquake Information Center)

- IPDE (Preliminary Determination of Epicenter)

- IISC (Internation Seismological Centre)

- IREB (Reviewed Event Bulletin)

- IUSGS (US Geological Survey)

- IBRK (UC Berkeley)

- ICALTECH (California Institute of Technology)

- ILLNL (Lawrence Livermore National Laboratory)

- IEVLOC (Event Location (computer program) )

- IJSOP (Joint Seismic Observation Program)

- IUSER (The individual using SAC2000)

- IUNKNOWN (unknown)

IEVTYP I 事件类型:

- IUNKN (未知)

- INUCL (核爆事件)

- IPREN (核爆前事件)

- IPOSTN (核爆后事件)

- IQUAKE (地震)

- IPREQ (前震)

- IPOSTQ (余震)

- ICHEM (化学爆炸)

- IQB (Quarry or mine blast confirmed by quarry)

- IQB1 (Quarry/mine blast with designed shot

info-ripple fired)

- IQB2 (Quarry/mine blast with observed shot

info-ripple fired)

- IQBX (Quarry or mine blast - single shot)

- IQMT (Quarry/mining-induced events: tremors

and rockbursts)

- IEQ (Earthquake)

- IEQ1 (Earthquakes in a swarm or aftershock sequence)

- IEQ2 (Felt earthquake)

- IME (Marine explosion)

- IEX (Other explosion)

- INU (Nuclear explosion)

- INC (Nuclear cavity collapse)

- IO (Other source of known origin)

- IL (Local event of unknown origin)

- IR (Regional event of unknown origin)

- IT (Teleseismic event of unknown origin)

- IU (Undetermined or conflicting information)

- IOTHER (Other)

NEVID N Event ID (CSS 3.0)

NORID N Origin ID (CSS 3.0)

NWFID N Waveform ID (CSS 3.0)

KHOLE K 核爆事件的孔眼标志

DIST F 事件台站距离,即震中距(km).

AZ F 事件到台站的方位角(度).

BAZ F 台站到事件的方位角(度).

GCARC F 台站到事件的大园弧长,即另一种震中距(度).

其他变量:

Name Type Description

------ ------- -------------------

LCALDA L 如果DIST, AZ, BAZ 和 GCARC可以由台站和事件的坐标计算出来则为真

IQUAL I 数据质量[未使用]:

- IGOOD (Good data)

- IGLCH (Glitches)

- IDROP (Dropouts)

- ILOWSN (Low signal to noise ratio)

- IOTHER (Other)

ISYNTH I 合成数据标志[未使用]:

- IRLDTA (Real data)

- ????? (Flags for various synthetic seismogram codes)

KDATRD K 数据被读入计算机的日期

USER{n} F 用户定义变量存储区, n = 0-9.

KUSER{n} K 用户定义变量存储区, n = 0-2.

LOVROK L 如果文件可覆盖则为真,类似于写权限

NXSIZE N 频谱长度(限于谱文件)

NYSIZE N 频谱宽度(限于谱文件)

XMINIMUM F X的最小值(限于谱文件)

XMAXIMUM F X的最大值(限于谱文件)

YMINIMUM F Y的最小值(限于谱文件)

YMAXIMUM F Y的最大值(限于谱文件)

枚举类型头段取值:这些枚举头段值在头段中以整型存储,如下表所示

Name ID

======== =====

itime 01

irlim 02

iamph 03

ixy 04

iunkn 05

idisp 06

ivel 07

iacc 08

ib 09

iday 10

io 11

ia 12

it0 13

it1 14

it2 15

it3 16

it4 17

it5 18

it6 19

it7 20

it8 21

it9 22

iradnv 23

itannv 24

iradev 25

itanev 26

inorth 27

ieast 28

ihorza 29

idown 30

iup 31

illlbb 32

iwwsn1 33

iwwsn2 34

ihglp 35

isro 36

inucl 37

ipren 38

ipostn 39

iquake 40

ipreq 41

ipostq 42

ichem 43

iother 44

igood 45

iglch 46

idrop 47

ilowsn 48

irldta 49

ivolts 50

ixyz 51

imb 52

ims 53

iml 54

imw 55

imd 56

imx 57

ineic 58

ipde 59

iisc 60

ireb 61

iusgs 62

ibrk 63

icaltech 64

illnl 65

ievloc 66

ijsop 67

iuser 68

iunknown 69

iqb 70

iqb1 71

iqb2 72

iqbx 73

iqmt 74

ieq 75

ieq1 76

ieq2 77

ime 78

iex 79

inu 80

inc 81

io 82

il 83

ir 84

it 85

iu 86

python处理地震sac数据_地震数据SAC格式相关推荐

  1. 海量数据寻找最频繁的数据_寻找数据科学家的“原因”

    海量数据寻找最频繁的数据 Start with "Why" - Why do we do the work we do? 从"为什么"开始-我们为什么要做我们所 ...

  2. python架构师工作职责_大数据架构师岗位的工作职责

    大数据架构师需要负责深入理解业务需求,对业务建模,设计系统架构,满足业务需求.以下是学习啦小编整理的大数据架构师岗位的工作职责. 大数据架构师岗位的工作职责1 职责: 1.负责数据仓库建设,基于数据驱 ...

  3. python架构师工作职责_大数据架构师工作的岗位职责

    大数据架构师负责研发技术发展方向,新技术领域的探索,将新技术应用到公司大数据平台,提升公司效能.下面是学习啦小编整理的大数据架构师工作的岗位职责. 大数据架构师工作的岗位职责1 职责: 1.负责大数据 ...

  4. 数字经济的核心是对大数据_大数据崛起为数字世界的核心润滑剂

    数字经济的核心是对大数据 "Information is the oil of the 21st century, and analytics is the combustion engin ...

  5. hive 导入hdfs数据_将数据加载或导入运行在基于HDFS的数据湖之上的Hive表中的另一种方法。

    hive 导入hdfs数据 Preceding pen down the article, might want to stretch out appreciation to all the well ...

  6. 管道过滤模式 大数据_大数据管道配方

    管道过滤模式 大数据 介绍 (Introduction) If you are starting with Big Data it is common to feel overwhelmed by t ...

  7. 海量数据寻找最频繁的数据_在数据中寻找什么

    海量数据寻找最频繁的数据 Some activities are instinctive. A baby doesn't need to be taught how to suckle. Most p ...

  8. kaggle比赛数据_表格数据二进制分类:来自5个Kaggle比赛的所有技巧和窍门

    kaggle比赛数据 This article was originally written by Shahul ES and posted on the Neptune blog. 本文最初由 Sh ...

  9. 同时删除两张表的数据_把数据表中对应工作表的数据首先删除,然后导入数据...

    大家好,我们今日继续讲解VBA数据库解决方案的第28讲内容:利用VBA,把数据表中对应工作表的数据首先删除,然后向数据表中导入工作表数据.数据库的讲解已经持续一段时间了,从对简单数据库的认识到利用VB ...

  10. print的describe的展示全部数据_大数据项目中的QA需要迎接新的挑战

    根据IDC全球半年度大数据和分析支出指南的最新预测,到2022年全球大数据和业务分析解决方案的收入将达到2600亿美元.在大数据和业务分析解决方案上投资增长最快的行业包括银行(复合年增长率13.3%) ...

最新文章

  1. UML用例图概要(转)
  2. python3爬虫(2)下载有固定链接的视频
  3. Linux kernel 本地拒绝服务漏洞
  4. Study to Innovation 的一般步骤总结
  5. JS 中 call()、apply()、bind() 的用法
  6. [Qt]用QItemDelegate的来修改QStandardItem字体颜色
  7. 2019年的流水账和总结
  8. 部署系统到linux服务器,若依管理系统部署到linux(上)
  9. 讯飞输入法(原讯飞语音输入法) V2.1.1708 官方版-完美软件下载
  10. [C#]关于逆变与协变的基本概念和修饰符in与out的意义
  11. 对js运算符“||”和“”的总结
  12. EXCEL——处理大批量数据
  13. 银河麒麟ARM64 飞腾FT2000 linuxdeployqt linux打包qt
  14. (ZT)中国姓氏韦氏拼音拼法
  15. 多肽细胞穿膜肽TAT修饰牛血清白蛋白BSA/人血清白蛋白HSA/卵清白蛋白OVA纳米粒(实验要求)
  16. 安卓双摄像头录像_USB双摄像头app手机版下载-USB双摄像头apk安卓版下载 - 口袋手机站...
  17. angular Tabs (ui.bootstrap.tabs)
  18. 无穷小进课堂,历史在召唤
  19. 小数除以整数在c语言,小数除法竖式计算的错因分析
  20. 第7章 嵌入式uClinux及其应用开发(1)

热门文章

  1. error:LNK2005 已经在*.obj中定义
  2. Qt_qDebug 原理详解
  3. python多元线性回归_多元线性回归模型精度提升 虚拟变量
  4. 元素内容必须由格式正确的字符数据或标记组成_字符编码是什么?html5如何设置字符编码?...
  5. html遮罩水印,CSS滤镜遮罩,图片水印效果
  6. 学生宿舍管理系统HTML代码,学生宿舍管理系统源代码.doc
  7. Dynamics AX2012 保留上一次操作记录
  8. 转载Prince_vegeta制作的VC知识库1-53期合订本索引文件。
  9. python自动交易 缠论_缠论自动交易系统实现了
  10. 微服务 订单交易支付系统架构演进