-b 选项

-b 选项用于控制二进制文件的输入/输出格式。

表数据 一章中已经介绍过,表数据可以是ASCII格式、二进制格式 或netCDF格式。ASCII格式很直观,可以直接看到有多少列数据。 而二进制格式的数据,GMT在读入数据时无法数据有多少列,也无法知道每一列的格式。 因而需要使用 -b 选项告诉GMT输入或输出数据的具体格式。

-b 的语法是:

-b[i|o][ncols][type][w][+l|b]

-bi 表示对输入有效,-bo 表示对输出有效。 后面紧跟着指定有 ncols 列个 type 类型的数据,多个 ncols type 之间可以 用逗号分隔。w 表示对这些列数据强制做字节序转换。 +l+b 表示整个数据按照little-endian或big-endian字节序读入。

GMT支持的数据类型 type 可以取:

  • c:即 int8_t,字符型

  • u:即 uint8_t,无符号字符型

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

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

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

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

  • l:即 int64_t,八字节有符号整型

  • L:即 uint64_t,八字节无符号整型

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

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

  • x:不代表某种数据类型,表示跳过 ncols 个字节

若未指定 ncols,则假定 ncols 为程序所期望的数据列数, 所有列均为 type 所指定的数据类型。

还可以使用 -h 选项 跳过二进制文件开头的若干个字节。

举几个例子:

  1. -bi2f,1i 表示要读入的二进制数据中有3列,前两列是单精度浮点型, 最后一列为四字节有符号整型