✍️ 田冬冬 , 周茂 , 姚家园 • 📅 2024-09-13

# -a 选项

语法

-a[[col=]name][,...]

该选项用于控制输入或输出为 OGR/GMT 格式时对非空间元数据的处理方式。

描述

GMT 内部依赖 GDAL 将地理空间文件转换为 GMT 可读的格式，因此，通常情况下， 可直接在 GMT 命令中使用 GDAL 所支持的文件格式，格式转换在 GMT 内部实施， 是不被用户感知的。除此外，GDAL 提供的 ogr2ogr 命令同样可以将 GMT 不支持地理空间数据格式转换为 GMT 可识别的 OGR/GMT 格式，详见 OGR/GMT矢量数据格式。 转换过程中保留了地理空间数据的非空间元数据。 对于这些非空间数据，即可使用 -a 选项控制。

-a 选项后接一个或多个用逗号分隔的 col=name，其作用在于将 OGR/GMT 格式的数据文件中非空间元数据 name 字段作为输入/输出数据的第 col 列。 如果 col 列已被赋值，则会被本选项覆盖。col 从 0 开始起算。

## 以 OGR/GMT 为输入时使用 -a 选项

使用非空间数据的字段填充 GMT 的数据列， 例如: `-a2=depth` 会从数据文件中读取 X 和 Y 列信息，并从非空间数据的 depth 字段中读取值作为输入的第三列。 也可以通过将 col 设置成如下值将非空间数据与其它属性联系起来：

- D: 距离

- G: 填充色

- I: ID

- L: 标签

- T: 文字

- W: 画笔属性

- Z: Z 值，例如用于根据 CPT 确定颜色

该机制与在多段数据的段头记录中加上参数是等效的。 若不给定 col= ，则默认列数从第二列开始。若只使用 -a 而不加任何参数， 则所有非空间记录都会被读入。

## 以 OGR/GMT 为输出时使用 -a 选项

GMT 也可以输出 OGR/GMT 格式的数据文件，此时可以使用 col=name[:type] 来指定将输出数据的第 col 列以 type 数据类型保存到非空间字段 name 中。 type 可以是 double, float, integer, char, string, logical, byte 或者 datetime [默认为 double]。

与输入类似，col 也可以取 D|G|L|T|W|Z 中的一个， 表示将头段记录中的对应信息（例如 -W pen）保存到非空间字段， 对于这些字段，GMT 会自动设置合适的数据类型。 对于输出而言，还需要加上 +g geometry 来指定数据的几何类型， geometry 可以取 [M]POINT|LINE|POLY， 三种类型即如字面含义，M 表示输出中含有上面三个类型中的多个。 若加上 +G，则程序会自动将跨越国际日期变更线的线段或多边形分成多段。