grd2xyz

官方文件:grd2xyz
簡介:將網格檔轉換成表數據

grd2xyz 讀取一個或多個二進制2D網格檔,並將XYZ數據以ASCII或二進制格式寫到標準輸出中。ASCII輸出的格式由參數 FORMAT_FLOAT_OUT 控制,也可以以單精度或雙精度浮點數的形式儲存爲二進制格式,還可以只輸出Z值而不包含 XY座標數據。

語法

gmt grd2xyz grid [ -C[f|i] ] [ -Rregion ] [ -V[level] ] [ -W[a|weight] ] [ -Z[flags] ] [ -bobinary ] [ -dnodata ] [ -fflags ] [ -ho[n] ] [ -oflags ] [ -sflags ] [ --PAR=value ]

必選選項

grid
要轉換的2D網格檔

可選選項

-C[f|i]

輸出的XY座標值用對應的列、行號替代

默認輸出的三列數據是:X座標、Y座標和Z值。使用該選項,則輸出的三列數據爲:列號、行號和Z值。其中,行號和列號從0開始算起。使用 -Cf 則行號和列號從1開始算起。若使用 -Ci 會輸出兩列數據:索引值和Z值。索引值相當於是將二維數組用一維數組表示

-Rxmin/xmax/ymin/ymax[+r][+uunit] (more …)
指定数据范围
使用 -R 選項指定只對網格數據的一個子區域進行操作。若該子區域超過網格邊界,則只輸出二者共同的區域
-V[level] (more …)
设置 verbose 等级 [c]
-W[a|weight]

輸出四列數據XYZW,其中W爲 weight [weight默認值爲1]

若使用 -Wa 則權重爲每個節點所佔據的面積。

-Z[flags]

以 ASCII 或二進制形式輸出表數據

使用該選項,則輸出時只有Z值,沒有XY信息。輸出Z值的順序由 flags 決定。若是行優先,flags 的第一個字符可以取:

  • T 表示第一行是y=ymax
  • B 表示第一行是y=ynin

flags 的第二個字符可以取:

  • L 表示每一行的第一個元素是x=xmin
  • R 表示每一行的第一個元素是x=xmax

若是列優先,則 L|R 爲第一個字符,B|T 爲第二個字符。

對於網格線配準的網格檔而言:

  • 若網格在X方向是週期的,輸出數據時不需要包含x=xmax所在的列,則加上 x
  • 若網格在Y方向是週期的,輸出數據時不需要包含y=ymax所在的行,則加上 y

若數據需要做字節交換,則加上 w。最後需要指定數據以何種數據類型保存:

  • a ASCII表,每行輸出一個Z值
  • c int8_t, signed 1-byte character
  • u uint8_t, unsigned 1-byte character
  • h int16_t, short 2-byte integer
  • H uint16_t, unsigned short 2-byte integer
  • i int32_t, 4-byte integer
  • I uint32_t, unsigned 4-byte integer
  • l int64_t, long (8-byte) integer
  • L uint64_t, unsigned long (8-byte) integer
  • f 4-byte floating point single precision
  • d 8-byte floating point double precision

默認值爲 -ZTLa

-bo[ncols][type] (more …)
设置二进制输出的数据格式
該選項只適用於XYZ輸出。若只輸出Z值,參考 -Z 選項指定只對網格數據的一個子區域進行操作。若該子區域超過網格邊界,
-d[i|o]nodata (more …)
将输入数据中等于 nodata 的记录替换为 NaN,或将输出数据中值为 NaN 的记录替换为 nodata
-f[i|o]colinfo (more …)
指定输入或输出列的数据类型
-ocols[,…][,t[word]] (more …)
设置输出数据列(0表示第一列,t 表示文本列)
-s[cols][+a|+r] (more …)
设置 NaN 记录的处理方式
-^-
显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -
-++
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
-? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
--PAR=value
临时修改GMT参数的值,可重复多次使用。参数列表见 gmt.conf

時間座標

GMT可以識別netCDF網格檔中的時間座標。netCDF變量的 unit 屬性會被解析以確定網格檔中時間座標的起算點和單位。這些時間座標值會被進一步根據 TIME_UNITTIME_EPOCH 轉換爲GMT內部時間值。輸出時,默認以相對時間的形式輸出,也可以使用 -f 選項指定以絕對時間方式輸出。

示例

將一個netCDF網格檔轉換爲XYZ文件:

gmt grd2xyz @AFR.nc > AFR.xyz

將一個netCDF文件以單精度二進制格式輸出其Z值:

gmt grd2xyz @AFR.nc -ZTLf > AFR.b

相關模塊

grdedit, grdconvert, xyz2grd