-g 选项¶
在处理多段数据时,GMT提供了三种机制来决定文件中数据的分段情况:
- 使用数据段头记录来标记一段数据的开始,详见 ASCII表
- 若输入数据中,某个记录的某个关键列的值为NaN,则也可以用于将该记录作为数据段的开始标识
- 当 IO_NAN_RECORDS 为
skip
时,这些包含NaN值的记录会被自动跳过 - 当 IO_NAN_RECORDS 为
pass
时,这些包含NaN值的记录会被当做数据段的开始标识
- 当 IO_NAN_RECORDS 为
- 也可以使用 -g 选项,通过判断两个相邻的数据点是否符合某个准则来决定数据分段
-g 选项的完整语法为:
-g[a]x|y|d|X|Y|D|[col]zgap[u][+n|p]
- -gx 表示两点的X坐标跳变超过 gap 则分段
- -gy 表示两点的Y坐标跳变超过 gap 则分段
- -gd 表示两点的距离超过 gap 则分段
- -gX、-gY、-gD类似,表示数据投影到纸上后X坐标、Y坐标和纸上距离的跳变。
若想要检查特定列是否满足分段准则,可以用 colz指定具体的列,col 的默认值为 2,即第三列
u 用于指定 gap 的单位:
- 对于 -gx|y|d,u 可以取距离单位 [默认为 m]
- 对于 -gX|Y|D,u 可以取长度单位 [默认为 PROJ_LENGTH_UNIT]
- 对于 -gx|y,若输入是时间数据,则单位由 TIME_UNIT 控制
一般而言,当两点间的X坐标、Y坐标或距离的绝对值超过 gap 即分段。可以进一步控制两点的差的计算方式。 gap+n 表示用前一数据减去当前数据作为 gap; gap+n 表示用当前数据减去前一数据作为 gap。
该选项可重复多次,以指定多个分段准则。默认情况下,若符合任意一个准则则分段,可以使用 -ga 选项,表明仅当所有准则都满足时才分段。