xyz2grd

官方文档:

xyz2grd

简介:

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

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

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

语法

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方向的网格间隔

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

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

  • +n 表明 xincyinc 不是网格间隔,而是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 ),xnameyname 会自动设置

-Jparameters

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

-S[zfile]

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

-V[level] (more …)

设置 verbose 等级 [w]

-Z[flags]

指定Z数据的格式。

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

  • 数据起点:可以取网格的四个顶点中的任意一个作为起点,四个顶点分别用 TLTRBLBR 表示, 其中 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

相关模块

grd2xyz, grdedit, grdconvert, greenspline, nearneighbor, surface, triangulate