✍️ 田冬冬 , 陈箫翰  •  📅 2026-01-11

segy2grd

官方文档:

segy2grd

简介:

将 SEGY 文件转换为网格文件

segy2grd 用于读取 IEEE SEGY 文件并创建二进制网格文件。它可以执行简单的映射(相当于 xyz2grd -Z),或者在单个网格单元包含 SEGY 文件中多个样本值的情况下进行更复杂的平均值计算。

如果某些节点没有填充数据,segy2grd 会进行报告。这些未被约束的节点会被设置为用户指定的值[默认值为 NaN]。对于包含多个值的节点,将被设为这些值的平均值。

语法

gmt segy2grd segyfile -Ggrdfile -Iincrement -Rregion [ -A[n|z] ] [ -Dparas ] [ -L[nsamp] ] [ -M[ntraces] ] [ -Qx|yvalue ] [ -S[header] ] [ -V[level] ] [ -bibinary ] [ -dinodata[+ccol] ] [ -rreg ] [ --PAR=value ]

输入数据

segyfile

segyfile 是一个 IEEE 浮点数格式的 SEGY 文件。所有的道集都假定从 0 时间/深度域开始。

必须选项

-G

-Goutgrid[=ID][+ddivisor][+ninvalid][+ooffset|a][+sscale|a][:driver[dataType][+coptions]]

输出网格文件名。通过追加 =ID 可指定 网格格式。 参数详细介绍请参考 写 netCDF 文件

-I
-Ix_inc/[y_inc]

x_inc [以及可选的 y_inc] 是网格间距。可以在数值后添加 m 表示分钟,或添加 s 表示秒。

-R
-Rxmin/xmax/ymin/ymax[+r][+uunit]

指定数据范围。 (参数详细介绍)

可选选项

-A
-A[n|z]

将属于同一节点(相同坐标)的多个值相加(等同于 -Az)。 添加 n 则仅统计分配到每个节点的数据点数量。 [默认情况下(不使用 -A 选项)会计算平均值]。该选项不用于简单映射。

-D
-D[+xxname][+yyname][+zzname][+c[-|cpt]][+ddname][+sscale][+ooffset][+ninvalid][+ttitle][+rremark][+vvarname]

给定网格文件头段中的基本信息:

  • +c[-|cpt] - 设置 cpt 为该网格的默认 CPT [turbo],或使用 - 移除已设置的默认 CPT

  • +ddname - 设置数据值名称 dname

  • +ninvalid - 设置 invalid 值用于表示该节点处无有效值 [NaN]

  • +ooffset - 设置读入数据后并乘以因子后要加的常数 [0]

  • +rremark - 设置网格文件的注释信息

  • +sscale - 设置读入网格数据后要乘以的因子 [1]

  • +ttitle - 设置网格文件的标题

  • +vvarname - 指定数据集变量名称 varname

  • +xxname - 指定 X 坐标名及其单位,格式为 varname [unit],比如 "distance [km]"

  • +yyname - 指定 Y 坐标名及其单位,格式同 xname

  • +zzname - 针对 3D 网格: 指定 Z 坐标名及其单位,格式同 xname

其它说明:

  • 未指定的项其值保持不变

  • 可以给一个空值以重置某一项,比如使用 +t 而不指定标题则设置标题为空

  • 若字符串中包含空格则需要用引号括起来

  • 若字符串中包含加号 +,需要使用 + 对其进行转义。 或者可以使用单引号套双引号的方式,例如 '"title with + inside"'

  • 若字符串中使用了shell变量,且变量值中包含加号,则需要使用 ${variable/+/\\+}

  • 对于地理数据(比如 -fg )和 3D 网格,xnameyname 会自动设置。 通常 netCDF 数据变量名为 "z"(2D 网格)或 "cube"(3D 网格), 可通过 +v 重命名该 netCDF 变量。

-L
-L[nsamp]

使用 nsamp 覆盖每道的采样点数

-M
-M[ntraces]

设定要读取的道数。默认尝试读取10000道。 -M0 将读取二进制头中指定的道数, -Mntraces 将尝试仅读取 n 道。

-Q
-Qx|yvalue

根据不同指令可用于更改两种不同的设置:

  • -Qxx-scale :对道头中的坐标应用缩放因子 x-scale ,使其匹配 -R 中指定的坐标范围

  • -Qys_int :当 SEGY 文件中的采样间隔不正确时,指定采样间隔为 s_int 。可重复使用。

-S
-S[header]

设置可变间距。 header 可以是 c 表示 CDP(共同深度点),o 表示偏移量, 或 bnumber 表示从第 number 字节开始的4字节浮点数。 如果未设置 -S,则假定样本按照 -I 提供的 x_inc , y_inc 进行均匀间隔。

-V
-V[level]

设置 verbose 等级 [w]。 (参数详细介绍)

-bi
-bi[ncols][type][w][+l|b]

控制二进制文件的输入格式。 (参数详细介绍)

-di
-dinodata

将输入数据某些特定值当作NaN。 (参数详细介绍)

同时将没有输入 SEGY 覆盖的节点设置为该值 [默认值为 NaN]。

-r
-r[g|p]

设置网格配置方式 [默认为网格线配准]。 (参数详细介绍)

-^-

显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -

-++

显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明

-? 或无参数

显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明

--PAR=value

临时修改GMT参数的值,可重复多次使用。参数列表见 配置参数

示例

从一个等间距的 SEGY 文件 test.segy 创建网格文件,读取每道上 18-25 秒时间域(或千米深度域)的数据,第一道会被假定位于 X=198 的位置:

gmt segy2grd test.segy -I0.1/0.1 -Gtest.nc -R198/208/18/25

从 SEGY 文件 test.segy 创建网格文件,根据 CDP 编号定位道集,其中每千米有 10 个 CDP,采样间隔为 0.1。由于网格间隔大于 SEGY 文件的采样间隔,因此单个样本将在网格单元内进行平均:

gmt segy2grd test.segy -Gtest.nc -R0/100/0/10 -I0.5/0.2 -Qx0.1 -Qy0.1

相关模块

grd2xyz, segy, xyz2grd