GMT - surface / xyz2grd

surface

官方文档:   surface

简介: 使用可调节张量连续曲率样条插值法对数据进行网格化

语法

gmt surface [ table ] -Goutputfile.nc -Iincrement -Rregion [ -Aaspect_ratio|m ] [ -Cconvergence_limit[%] ] [ -Jparameters ] [ -Dbreakline_file[+z[level]] ] [ -Lllower ] [ -Luupper ] [ -Mmax_radius ] [ -Nmax_iterations ] [ -Q ] [ -Ssearch_radius[m|s] ] [ -T[i|b]tension_factor ] [ -V[level] ] [ -Zover-relaxation_factor ] [ -aflags ] [ -bibinary ] [ -dinodata[+ccol] ] [ -eregexp ] [ -fflags ] [ -hheaders ] [ -iflags ] [ -qiflags ] [ -rreg ] [ -:[i|o] ] [ --PAR=value ]

描述

surface 从标准输入或ASCII格式的文件 table 中读取离散的数据点 (x,y,z),通过解微分方程,得到网格化的数据 z(x,y) 并生成grid网格文件

(1-t)\bigtriangledown ^{2}(z)+t\bigtriangledown (z)=0

其中 t 是0到1之间的张量因子, ∇ 是拉普拉斯算子。对于势能场数据,建议 t ~ 0.25 。对于陡峭的地形数据,则建议 t ~ 0.35。建议用户事先使用 blockmean, blockmedian,或 blockmode 预处理数据,以避免空间假频与消除冗余数据。解微分方程时,采用自然边界条件。对于经度范围是360度的地理数据,将会采用周期边界条件。

警告

在每个维度上至少必须有4个点,否则无法使用 surface 。

如果你的数据是等间隔的 (x,y,z) 数据,请不要使用 surface 生成网格文件。正确的做法是使用 xyz2grd 生成网格文件。

必选选项

table

一个或多个ASCII或二进制表数据。若不提供表数据,则会从标准输入中读取。

-Goutputfile.nc

输出的文件名。输出文件的格式参见《 网格文件格式 》。

-Ixinc[+e|n][/yinc[+e|n]]

指定X和Y方向的网格间隔

  • xinc 和 yinc 为 X 和 Y 方向的网格间隔。对于地理坐标,可以指定网格间隔单位 [默认单位为度]

  • +e 微调X和Y方向范围的最大值,使得其是网格间隔的整数倍(默认会微调网格间隔以适应给定的数据范围)

  • +n 表明 xinc 和 yinc 不是网格间隔,而是X和Y方向的节点数。此时会根据节点数、网格区域范围以及网格配准方式重新计算网格间隔。

注意:

  • 若 yinc 设置为0,则表示其与 xinc 相同

  • 若使用 -Rgrdfile 选项,则网格间隔和配准方式已经根据网格文件自动初始化,此时依然可以使用 -I 和 -r 覆盖相应的值

-Rxmin/xmax/ymin/ymax[+r][+uunit(more …)

指定数据范围

可选选项

-Aaspect_ratio|m

设置网格纵横比 aspect_ratio ,其中 dy = dx / aspect_ratio 。对于地理数据,可以使用 -Am 设置网格纵横比为纬度平均值的余弦。不设置本项时,默认网格纵横比为1,即各向同性网格。

-Lllower and -Luupper

对微分方程的解加上限制。 -Lllower 设置下限,其中 lower 可以是一个grid网格文件的文件名、或一个固定值。 -Luupper 设置上限,同样 upper 可以是一个grid网格文件的文件名、或一个固定值。

-T[i|b]tension_factor

设置张量因子,必须在0到1之间。 不设置时默认为0。

-V

显示多项式系数等详细信息。

示例

将ASCII数据 hawaii_5x5.xyg 网格化为5分,设置 tension_factor = 0.25 :

gmt surface hawaii_5x5.xyg -R198/208/18/25 -I5m -Ghawaii_grd.nc -T0.25

参考文献:References

Smith, W. H. F, and P. Wessel, 1990, Gridding with continuous curvature splines in tension, Geophysics, 55, 293-305, Chooser.

surface — GMT 中文手册

xyz2grd

官方文档:xyz2grd

简介:将XYZ数据或Z数据转换成网格文件

xyz2grd 读取一个或多个Z数据或XYZ数据,并将其转换成二进制网格文件。若某些节点没有数据值,则这些节点会被赋值为NaN;若某个节点由多个数据值,则该节点的值为所有数据点的平均值。

注意,该模块只是将已存在的数据转换为网格数据,并不具备网格化/插值功能。若需要网格化功能,可以使用模块 surface、 greenspline、 nearneighbor 或 triangulate

语法

gmt xyz2grd [ table ] -Ggrdfile -Iincrement -Rregion [ -A[d|f|l|m|n|r|S|s|u|z] ] [ -D[+xxname][+yyname][+zzname][+sscale][+ooffset][+ninvalid][+ttitle][+rremark] ] [ -Jparameters ] [ -S[zfile] ] [ -V[level] ] [ -Z[flags] ] [ -bibinary ] [ -dinodata[+ccol] ] [ -eregexp ] [ -fflags ] [ -hheaders ] [ -iflags ] [ -qiflags ] [ -rreg ] [ -:[i|o] ] [ --PAR=value ]

必选选项

table

输入表数据。可以只包含Z值,也可以包含 (x,y,z) 值。可以是ASCII格式,也可以是二进制格式。XYZ数据不要求排序。如果只包含Z值,则必须使用 -Z 选项。

-Ggrdfile

生成的网格文件名

-Ixinc[+e|n][/yinc[+e|n]]

指定X和Y方向的网格间隔

  • xinc 和 yinc 为 X 和 Y 方向的网格间隔。对于地理坐标,可以指定网格间隔单位 [默认单位为度]

  • +e 微调X和Y方向范围的最大值,使得其是网格间隔的整数倍(默认会微调网格间隔以适应给定的数据范围)

  • +n 表明 xinc 和 yinc 不是网格间隔,而是X和Y方向的节点数。此时会根据节点数、网格区域范围以及网格配准方式重新计算网格间隔。

注意:

  • 若 yinc 设置为0,则表示其与 xinc 相同

  • 若使用 -Rgrdfile 选项,则网格间隔和配准方式已经根据网格文件自动初始化,此时依然可以使用 -I 和 -r 覆盖相应的值

-Rxmin/xmax/ymin/ymax[+r][+uunit(more …)

指定数据范围

可选选项

-A[d|f|l|m|n|r|S|s|u|z]

多个数据落在同一个网格节点内时的处理方式。

默认情况下,若有多个数据落在同一个网格节点内,会将这些数据的均值作为该节点的值。使用该选项可以修改这一行为(当使用 -Z 选项时,该选项会被忽略):

  • -Af 将第一个落在该节点内的数据值作为节点值

  • -As 将最后一个落在该节点内的数据值作为节点值

  • -Al 将落在该节点内的所有值的最小值作为节点值

  • -Au 将落在该节点内的所有值的最大值作为节点值

  • -Ad 将落在该节点内的所有值的最大值和最小值的差作为节点值

  • -Am 将落在该节点内的所有值的均值作为节点值

  • -Ar 将落在该节点内的所有值的RMS值作为节点值

  • -AS 将落在该节点内的所有值的标准差作为节点值

  • -An 将落在该节点内的数据数目作为该节点值,该选项仅要求输入数据中有XY值

  • -Az 将落在该节点内的所有值的和作为节点值

-D[+xxname][+yyname][+zzname][+sscale][+ooffset][+ninvalid][+ttitle][+rremark]

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

  • +xxname X变量名及其单位,格式为 varname [unit],比如 “distance [km]”

  • +sscale 读入网格数据后要乘以的因子,默认值为 1

  • +ooffset 读入数据后并乘以因子后要加的常数,默认值为 0

  • +ninvalid 指定值 invalid 用于表示该节点处无有效值,默认为NaN

  • +ttitle 网格文件的标题

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

其它说明:

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

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

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

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

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

  • 对于地理数据(比如 -fg ),xname 和 yname 会自动设置

-Jparameters

指定投影方式。将投影方式信息保存到netCDF网格文件中。

-S[zfile]

对输入的Z文件做字节序转换并输出到标准输出或保存到文件 zfile 中。该选项只做字节序转换,不生成网格文件。该选项必须与 -Z 选项一起使用。

-V[level(more …)

设置 verbose 等级 [w]

-Z[flags]

指定Z数据的格式。

对于Z数据而言,由于没有XY坐标信息,因而Z数据中必须提供所有节点处的值且按照一定的顺序排列。输入Z值的顺序由 flags 决定。在确定数据的排列顺序时,需要指定数据的起点以及数据排序的方向。

  • 数据起点:可以取网格的四个顶点中的任意一个作为起点,四个顶点分别用 TLTRBL和 BR 表示,其中 T 代表 Top,B 代表Bottom,L 代表Left,R 代表Right。

  • 排序方式:选取数据顶点之后,数据可以是行优先也可以是列优先,所以有两种排序方式。若是行优先,则 T|B 位于 L|R 的前面;若列优先,则 L|R 位于 T|B 的前面。

对于网格线配准的数据,若数据在X方向是周期性的但输入数据中并不包含x=xmax处的冗余列,则加上 x;若数据在Y方向是周期性的但输入数据中并不包含y=ymax处的冗余行,则加上 y;加上 sn 用于跳过数据中最前面的 n 个字节;若需要转换数据的字节序,则加上 w

除此之外,还需要再加上一个字符表征数据类型:

  • A: ASCII表示,每行一个或多个浮点数

  • a: ASCII表示,每行一项,不仅可以处理浮点数还可以处理日期时间数据和经纬度数据

  • c: int8_t,有符号单字节字符

  • u: uint8_t,无符号单字节字符

  • h: int16_t,有符号双字节整型

  • H: uint16_t,无符号双字节整型

  • i: int32_t,有符号四字节整型

  • I: uint32_t,无符号四字节整型

  • l: int64_t,长整型(8字节)

  • L: uint64_t,无符号长整型(8字节)

  • f: 4字节单精度浮点型

  • d: 8字节双精度浮点型

默认的输入数据格式为 -ZTLa。需要注意,-Z 选项仅对Z数据有效。

-bi[ncols][type][w][+l|b(more …)

设置二进制输入数据的格式

该选项仅适用于XYZ数据。对于Z数据,应使用 -Z 选项。

-dinodata (more …)

将输入数据中值为 nodata 的列替换为 NaN

-e[~]“pattern” | -e[~]/regexp/[i(more …)

筛选或剔除匹配指定模式的数据记录

-f[i|o]colinfo (more …)

指定输入或输出列的数据类型

-h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle(more …)

跳过或生成指定数目的头段记录

该选项不适用于二进制数据。

-icols[+l][+sscale][+ooffset][,][,t[word]] (more …)

设置输入数据列及简单变换(0表示第一列,t 表示文本列)

-qi[~]rows[+ccol][+a|f|s(more …)

筛选输入的行或数据范围

-r[g|p(more …)

设置网格配置方式 [默认为网格线配准]

-:[i|o(more …)

交换输入或输出中的第一和第二列

-^ 或 -

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

-+ 或 +

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

-? 或无参数

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

--PAR=value

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

示例

将ASCII文件转换为网格数据:

gmt xyz2grd hawaii_grv.xyz -D+xdegree+ydegree+zGal+t"Hawaiian Gravity"+r"GRS-80 Ellipsoid used" \
    -Ghawaii_grv_new.nc -R198/208/18/25 -I5m -V

将二进制格式的XYZ文件(单精度)转换为网格文件:

gmt xyz2grd raw.b -D+xm+ym+zm -Graw.nc -R0/100/0/100 -I1 -V -Z -bi3f

将USGS DEM数据转换为网格数据:

gmt xyz2grd topo30.b -D+xm+ym+zm -Gustopo.nc -R234/294/24/50 -I30s -di-9999 -ZTLhw

xyz2grd — GMT 中文手册

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值