Skip to content

Commit

Permalink
Add segy (#1427)
Browse files Browse the repository at this point in the history
  • Loading branch information
CovMat authored Jan 20, 2025
1 parent f8d9744 commit e0fc3bf
Show file tree
Hide file tree
Showing 4 changed files with 154 additions and 2 deletions.
7 changes: 5 additions & 2 deletions source/module/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@
- :doc:`rose`
- :doc:`sac`
- :doc:`sample1d`
- :doc:`segy`
- :doc:`solar`
- :doc:`spectrum1d`
- :doc:`sph2grd`
Expand Down Expand Up @@ -159,7 +160,6 @@
- :doc:`gmt:movie`
- :doc:`gmt:plot3d`
- :doc:`gmt:supplements/segy/segy2grd`
- :doc:`gmt:supplements/segy/segy`
- :doc:`gmt:supplements/segy/segyz`
- :doc:`gmt:supplements/spotter/backtracker`
- :doc:`gmt:supplements/spotter/gmtpmodeler`
Expand Down Expand Up @@ -239,7 +239,7 @@
:doc:`mask` 将没有数据覆盖的区域裁剪或覆盖住
:doc:`contour` 使用直接三角化法对数据进行等值线绘制
:doc:`wiggle` 沿着测线绘制 z = f(x,y) 数据
:doc:`gmt:supplements/segy/segy` 在图上绘制 SEGY 文件
:doc:`segy` 在图上绘制 SEGY 文件
:doc:`gmt:supplements/segy/segyz` 在 3D 图上绘制 SEGYZ 文件
:doc:`gmtlogo` 在图上绘制 GMT 图形 logo
:doc:`grdvector` 根据两个网格文件绘制矢量场
Expand Down Expand Up @@ -459,11 +459,13 @@
grdproject
grdsample
grdselect
grdshake
grdtrack
grdtrend
grdvector
grdview
grdvolume
grdvs30
gshhg
histogram
image
Expand All @@ -484,6 +486,7 @@
rose
sac
sample1d
segy
solar
spectrum1d
sph2grd
Expand Down
144 changes: 144 additions & 0 deletions source/module/segy.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
.. index:: ! segy
.. include:: common_SYN_OPTs.rst_

segy
======

:官方文档: :doc:`gmt:supplements/segy/segy`
:简介:

读取一个原生(IEEE)格式的 SEGY 文件,并生成地震数据的绘图。使用 **imagemask** 操作符将地震数据以单色或灰度(由用户指定)1-bit 深度位图的形式绘制,背景为透明。位图分辨率取自当前的 GMT 默认设置。通过使用道头中的信息,可以在真实位置绘制地震道(此时,文件中道的顺序无关紧要)。标准的 GMT 几何处理方法被用于绘制,因此原则上可以采用任何地图投影。然而,地理投影可能会导致意外的结果。另外需注意,某些参数具有非标准含义。

需要注意的是,在绘制地震数据之前,处理操作顺序为:**deviation*[clip]([bias]+[normalize](sample value))**。
其中,**deviation** 决定了在绘图坐标系中,经过 **[normalized][biased][clipped]** 处理后的样本值为 1 时,与道位置的偏移距离。可以理解为对采样值进行进一步缩放。

SEGY 文件应包含 3200 字节的文本头部(将被忽略)、400 字节的二进制卷头、以及每道 240 字节的头部

语法
------

**gmt segy** *SEGYfile* |-J|\ *parameters*
|SYN_OPT-R|
|-D|\ *deviation*
|-F|\ [*color*] |-W|
[ |-C|\ *clip* ]
[ |-E|\ *error* ] [ |-I| ] [ |-L|\ *nsamp* ]
[ |-M|\ *ntrace* ] [ |-N| ]
[ |-Q|\ **b**\|\ **i**\|\ **u**\|\ **x**\|\ **y**\ *value* ]
[ |-S|\ *header* ]
[ |-T|\ *filename* ]

必须选项
------------------

*SEGYfile*
地震 SEGY 数据文件

.. _-D:

**-D**\ *deviation*
**deviation** 决定了在绘图坐标系中,
经过 **[normalized][biased][clipped]** 处理后的样本值为 1 时,
与道位置的偏移距离。可以理解为对采样值进行进一步缩放。

.. _-F:

**-F**\ [*color*]
填充地震道(可变面积,默认填充正值)。指定用于填充 **imagemask** 的颜色 *color* 。

.. _-W:

**-W**
绘制波形道。

注意: *必须* 在 |-W| 和 |-F| 之中指定至少一个选项。

可选选项
------------------

.. _-A:

**-A**
切换默认的字节顺序状态(默认假设数据为大端字节序)。

.. _-C:

**-C**\ *clip*
设置进行数据裁剪的采样值(裁剪同时应用于正值和负值)。

.. _-E:

**-E**\ *error*
使用 |-T| 选项时,允许请求的道位置与实际道位置之间存在误差范围 *error* 。

.. _-I:

**-I**
填充负偏移而非正偏移

.. _-L:

**-L**
覆盖卷头中每道的样本数量(程序会尝试根据每道头部确定样本数量,以支持变长道)

.. _-M:

**-M**
覆盖卷头中指定的道数。程序会相对优雅地检测文件结束,但此参数限制了程序尝试读取的道数。

.. _-N:

**-N**
通过全道长度上的均方根振幅(rms amplitude)归一化地震道

.. _-Q:

**-Q**\ **b**\|\ **i**\|\ **u**\|\ **x**\|\ **y**\ *value*
可以通过指令修改五种不同的设置(可重复使用):
**-Qb**\ *bias* 为缩放后的地震道添加偏移 (-**Qb**\ -0.1 从值中减去0.1).

**-Qi**\ *dpi* 设置图像的每英寸像素点分辨率 [默认值300].

**-Qu**\ *redvel* 应用减速速度(负值移除已有的减速)。

**-Qx**\ *mult* 将道位置乘以 *mult* 倍。

**-Qy**\ *dy* 覆盖 SEGY 卷头中的采样间隔。

.. _-S:

**-S**\ *header*
从道头headers读取道位置 : header 设置为 **c** 表示 CDP,
**o** 表示偏移, 设置为 **b**\ *num* 表示从头部的第 *num* 字节(第一个字节对应 num = 0)读取一个长整型数。
默认情况下,道位置由道编号决定。

.. _-T:

**-T**\ *filename*
仅绘制其位置对应于 *filename* 中列出位置的道。道的列出顺序无关紧要——程序会在整个空间中检查每个道。

.. _-Z:

**-Z**
不绘制 rms amplitude 为0的道。

示例
--------

绘制 SEGY 文件 **wa1.segy**,其中归一化的地震道按照真实偏移位置绘制,
振幅限制在 ±3,并以黑色显示振幅曲线和正值区域填充

::

gmt segy wa1.segy -JX5i/-5i -R0/100/0/10 -D1 -C3 -N -So -W -Fblack -pdf segy

绘制 SEGY 文件 **wa1.segy**,其中地震道按照真实的 CDP*0.1 绘制,
振幅限制在 ±3,偏移值为 -1,并以红色填充负值区域

::

gmt segy wa1.segy -JX5i/-5i -R0/100/0/10 -D1 -C3 -Sc -Qx0.1 -Fred -Qb-1 -I -pdf segy

绘制一个3秒,32道的 SEGY 文件。示例数据::download:`segy/XB1-Z.sgy`

.. gmtplot:: segy/segy_ex.sh
Binary file added source/module/segy/XB1-Z.sgy
Binary file not shown.
5 changes: 5 additions & 0 deletions source/module/segy/segy_ex.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash
gmt begin segy1
gmt basemap -JX5i/-5i -R0/33/0/3 -Bxaf+ltraces -Byaf+l"t (s)"
gmt segy XB1-Z.sgy -D0.1 -N -W
gmt end show

0 comments on commit e0fc3bf

Please sign in to comment.