地震仪数据存储格式
地震仪数据存储格式
|
1. SAC
SAC波形数据是以数据处理为目的的格式,这种格式一般只包含单个台站单个分量或多分量的数据。
在SAC用户指南中描述了SAC波形数据输入格式,利用读入的数据,可以进一步做其他处理,如绘制波形图。
2. SEED
SEED波形数据是以归档和交换为目的的格式,这种格式要求一个文件中包含足够多的数据信息。
SEED格式的地震波形数据文件包括两个部分:第一部分是文件的头段,以ASCII码写成,其中包含了生成该段波形数据的台网信息、地震信息和波形数据本身的信息,为波形数据的元数据;第二部分是波形数据本身,以二进制编码写成,通常是按一定算法生成的压缩数据。
掌握至少一种SEED格式数据的读出工具软件,从而能用它读出关于该段波形数据的元数据信息和把SEED格式波形数据转换成可由自己的程序读入的格式,例如SAC二进制或ASCII格式。
SEED 手册参考链接:https://www.fdsn.org/pdf/SEEDManual_V2.4.pdf
3. miniSEED
miniSEED 格式是 SEED 格式的一个子集,其只包含时间序列和极少量的其他信息。
国际数字地震仪网络联合会(FDSN)将miniSEED定义为数字数据和相关信息的格式。主要用途是数据收集、存档和交换地震数据。
该格式也适用于时间序列数据从其他地球物理测量,如压力,温度,倾斜等。除时间序列外,存储的相关状态为健康状态支持记录系统状态的参数。
与miniSEED对应的FDSN元数据是StationXML用于描述解释数据所需的特征,如位置、仪器响应等。
参考链接
名称 | 链接 |
---|---|
miniSEED3 格式记录定义 | Record definition — FDSN miniSEED 3 |
miniSEED3 的重大改动 | Background — FDSN miniSEED 3 |
开源SEED-StationXML数据转换工具(python,Java) | 4. StationXML Tools — FDSN StationXML |
ObsPy是一个开源项目,致力于提供处理地震数据的Python框架。 | https://github.com/obspy?language=javascript |
libmseed是一个比较友好的c函数库,可以用于读写 miniSEED 文件。 | https://github.com/EarthScope/libmseed |
miniSEED3数据格式
Field |
Description |
描述 |
Type |
Length |
Offset |
Content |
备注 |
---|---|---|---|---|---|---|---|
1 |
Record header indicator |
记录头指示器 |
CHAR |
2 |
0 |
ASCII ‘MS’ |
ASC11"77"和"83" |
2 |
Format version |
版本格式 |
UINT8 |
1 |
2 |
Value of 3 |
当前使用的miniSEED版本:3 |
3 |
Flags |
标志 |
UINT8 |
1 |
3 |
位字段标志:0-7;0效正信号存在,1时间标签有问题,2时钟锁定,3-7备用 | |
4 |
Record start time |
记录开始时间 | 以下4a-4f的开始时间使用UTC时间;如果记录中不包含时间序列数据,则时间改成其他任何标志头 | ||||
4a |
Nanosecond (0 - 999999999) |
纳秒 |
UINT32 |
4 |
4 |
无符号 32 位整数(小端字节顺序) | |
4b |
Year (0-65535) |
年 |
UINT16 |
2 |
8 |
无符号 16 位整数(小端字节顺序) | |
4c |
Day-of-year (1 - 366) |
天 |
UINT16 |
2 |
10 |
无符号 16 位整数(小端字节顺序) | |
4d |
Hour (0 - 23) |
小时 |
UINT8 |
1 |
12 |
无符号 8 位整数 | |
4e |
Minute (0 - 59) |
分钟 |
UINT8 |
1 |
13 |
无符号 8 位整数 | |
4f |
Second (0 - 60) |
秒 |
UINT8 |
1 |
14 |
60秒值用于表示正闰秒期间的时间值 | |
5 |
Data payload encoding |
数据有效载荷编码 |
UINT8 |
1 |
15 |
编码格式的代码,如果不包含数据负载,则将此值设置为0;详见下表:数据有效载荷编码 | |
6 |
Sample rate/period |
采样率 |
FLOAT64 |
8 |
16 |
64-bit IEEE-754 浮点格式编码的采样率(小端字节顺序)。如果不包含时间序列数据,则设置为0.0 | |
7 |
Number of samples |
样本数量 |
UINT32 |
4 |
24 |
无符号 32 位整数(小端字节顺序);没有样本数量或者数量未知,则设置为0 | |
8 |
CRC of the record |
CRC效验 |
UINT32 |
4 |
28 |
无符号 32 位整数(小端字节顺序) | |
9 |
Data publication version |
数据发布版本 |
UINT8 |
1 |
32 |
0表示未知版本;1表示原始数据;2表示修订版本,2+n 表示后续修订(n大于等于1) | |
10 |
Length of identifier |
标识符长度 |
UINT8 |
1 |
33 |
字段 13 中源标识符的长度(以字节为单位) | |
11 |
Length of extra headers |
额外标头的长度 |
UINT16 |
2 |
34 |
字段 14 中额外标头的长度(以字节为单位)。如果没有额外标头,请将此值设置为 0。 | |
12 |
Length of data payload |
数据有效载荷长度 |
UINT32 |
4 |
36 |
无符号 32 位整数(小端字节顺序),从字段 15 开始的数据有效负载的长度(以字节为单位)。如果不存在数据有效负载,则将此值设置为 0。 | |
13 |
Source identifier |
源标识符 |
CHAR |
V |
40 |
URI identifier |
ASCII 编码的字符数据 |
14 |
Extra header fields |
额外的报头字段 |
JSON |
V |
40 + field 10 |
||
15 |
Data payload |
数据负载 |
encoded |
V |
40 + field 10 + field 11 |
数据总长度可变,报头固定长度40+额外报头长度10+有效载荷长度(可变),建议原始数据长度在256到4096字节之间。
数据有效载荷编码
Code |
Description |
描述 |
---|---|---|
0 |
Text, UTF-8 allowed, use ASCII for maximum portability, no structure defined |
文本,允许UTF-8,使用ASCII以获得最大的可移植性,没有结构定义 |
1 |
16-bit integer (two’s complement), little endian byte order |
16位整数(二进制补码),小字节序 |
3 |
32-bit integer (two’s complement), little endian byte order |
32位整数(二进制补码),小字节序 |
4 |
32-bit floats (IEEE float), little endian byte order |
32位浮点数(IEEE浮点数),小端字节顺序 |
5 |
64-bit floats (IEEE double), little endian byte order |
64位浮点数(IEEE double),小端字节顺序 |
10 |
Steim-1 integer compression, big endian byte order |
Steim-1整数压缩,大端字节顺序;详见:SEED 2.4 manual , Appendix B. |
11 |
Steim-2 integer compression, big endian byte order |
Steim-2整数压缩,大端字节顺序;详见:SEED 2.4 manual , Appendix B. |
19 |
Steim-3 integer compression, big endian (not in common use in archives) |
Steim-3整数压缩,大端(在存档中不常用) |
100 |
Opaque data - only for use in special scenarios, not intended for archiving |
不透明数据——仅用于特殊场景,不打算归档 |
miniSEED2数据格式
[1000] Data Only SEED Blockette(8字节)
Field |
Field name |
描述 |
Length |
Offset |
备注 |
---|---|---|---|---|---|
1 |
Blockette type - 1000 |
块类型 |
2 |
0 |
固定值,为1000 |
2 |
Next blockette’s byte number |
下一个块的字节数 |
2 |
2 |
如果没有更多的块将跟随,则使用0 |
3 |
Encoding Format |
编码格式 |
1 |
4 |
0 字符串(ASCII text) 1 2字节整数 2 3字节整数 3 4字节整数 4 浮点数 5 双精度浮点数 |
4 |
Word order |
单词顺序 | 1 | 5 | 0 表示小端序,1表示大端序 |
5 |
Data Record Length |
数据记录长度的指数,值为2的幂 |
1 |
6 |
数据记录可以小到256字节,可以大到2的256次方。 |
6 |
Reserved |
保留字段 |
1 |
7 |
miniSEED2示例
假设文件里的字节数据为[3, -24, 0, 0, 5, 1, 0, 0, 64, -20, 19, 64, 0, 0, 0, 0]
参照下表可以获取到地震波形数据,数据为[57498.0]
字节数据说明
前面8字节为固定信息。详细请参考文档:https://www.fdsn.org/pdf/SEEDManual_V2.4.pdf 第200页。
Offset | Length | Byte | Description | 备注 |
---|---|---|---|---|
0 | 2 | [3, -24] | UWORD : Blockette type (1000): Data Only SEED | 数据块类型,固定值,该值为1000 |
2 | 2 | [0, 0] | UWORD : Byte number of next blockette. (Calculate this as the byte offset from the beginning of the logical record - including the fixed section of the data header; use 0 if no more blockettes will follow.) |
下一个块的字节数,如果没有更多的块则设置0 |
4 | 1 | 5 |
BYTE : A code indicating the encoding format. This number is assigned by the FDSN Data Exchange Working 0 ASCII text, byte order as specified in field 4 |
编码格式 0 字符串(ASCII text) 1 2字节整数 2 3字节整数 3 4字节整数 4 浮点数 5 双精度浮点数 |
5 | 1 | 1 | The byte swapping order for 16 bit and 32 bit words. A 0 indicates little endian order and a 1 indicates big endian word order. See fields 11 and 12 of blockette 50. |
单词顺序 0 表示小端序,1表示大端序 |
6 | 1 | 0 | The exponent (as a power of two) of the record length for these data. The data record can be as small as 256 bytes and, in Data Only SEED format as large as 2 raised to the 256 power |
数据记录长度,值为2的指数,例如数据长度为1,则该项值为0 |
7 | 1 | 0 | Reserved | 保留字段,暂设置为0 |
8 | V | 64, -20, 19, 64, 0, 0, 0, 0 |
Data load |
数据负载,解析为 [ 57498.0 ] |

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)