-g 选项

在处理多段数据时,GMT提供了三种机制来决定文件中数据的分段情况:

  1. 使用数据段头记录来标记一段数据的开始,详见 ASCII 表

  2. 若输入数据中,某个记录的某个关键列的值为NaN,则也可以用于将该记录作为数据段的开始标识

    • IO_NAN_RECORDSskip 时,这些包含NaN值的记录会被自动跳过

    • IO_NAN_RECORDSpass 时,这些包含NaN值的记录会被当做数据段的开始标识

  3. 也可以使用 -g 选项,通过判断两个相邻的数据点是否符合某个准则来决定数据分段

-g 选项的完整语法为:

-gx|y|z|d|X|Y|Dgap[u][+a][+ccol][+n|p]

该选项可重复多次,以指定多个分段准则。一次使用 x|y|z|d|X|Y|D 中的其中一个指定一个准则。 有些模块可以进行地图投影计算投影坐标(例如 mapproject)。大写字母表示的准则会应用到计算出的投影坐标中。

  • x|X 表示相邻两点间的X坐标跳变超过 gap 则定义为一个分段

  • y|Y 表示相邻两点间的Y坐标跳变超过 gap 则定义为一个分段

  • z 表示相邻两点间的Z值跳变超过 gap 则定义为一个分段。默认数据中的第三列为Z值,用户可以使用 +ccol 自行规定哪一列为Z值(默认 col 为2即第三列)。

  • d|D 表示相邻两点间的距离超过 gap 则分段

用户可以设置 u 用于指定 gap 的单位:

  • 对于地理坐标 (x|y|d),u 可以取 d(egree), m(inute), s(econd), 或 (m)e(ter), f(eet), k(ilometer), M(iles), 或 n(autical miles) [默认为(m)e(ter)]

  • 对于投影坐标 (X|Y|D),u 可以取 i(nch), c(entimeter), p(oint) [默认值由 PROJ_LENGTH_UNIT控制]

  • 对于 x|y|z,若输入是时间数据,则单位由 TIME_UNIT 控制

默认情况下,只要符合任意一个准则就对数据进行分段。用户可以使用 +a 表示所有准则都满足时才进行分段。

默认使用两点间的X坐标、Y坐标或距离差的绝对值作为 gap ,进行分段。

  • +n 表示用前一数据减去当前数据作为 gap

  • +p 表示用当前数据减去前一数据作为 gap