-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 选项 跳过二进制文件开头的若干个字节。
举几个例子:
-bi2f,1i 表示要读入的二进制数据中有3列,前两列是单精度浮点型, 最后一列为四字节有符号整型