---
author: 田冬冬
date: 2025-05-23
---

# -f 选项

**-f** 选项用于显式指定当前输入或输出数据中每一列的数据类型。其基本语法为：

> **-f**\[**i**|**o**\]*colinfo*

默认情况下，该选项对输入输出同时有效，**-fi** 表明该选项仅对输入数据有效，
**-fo** 表明该选项仅对输出数据有效。

*colinfo* 是一系列用逗号分隔的字符串。每个字符串包含两个部分：列号和
数据类型，其指定了输入/输出数据中每一列的含义。

列号是一个从零开始起算的整数（比如第6列的列号为5）；当多个连续的列有相同的
数据类型时，也可以指定一个列号的范围。列号范围的格式为 *start*\[:*inc*\]:*stop*，
若未给定 *inc* 则默认为 1。比如 **0:2:5** 表示第1、3、5列数据；**1:5**
表示第2至6列数据。

数据类型可以取 ：

- **x** 表示这一列是经度
- **y** 表示这一列是纬度
- **f** 表示这一列是一般的浮点数
- **T** 表示这一列是绝对时间
- **t** 表示这一列是相对时间（相对时间由 {term}`TIME_UNIT` 和 {term}`TIME_EPOCH` 控制）
- **p**[*unit*] 表示这一列是投影后坐标 [默认单位为 m]，在读入数据时投影后坐标值会
  自动转换为经纬度值

对于两种常见的数据类型，GMT提供了缩写形式：

- **-f**\[**i**|**o**\]**g** 等效于 **-f**\[**i**|**o**\]0**x**,1**y**，
  表明输入/输出是地理坐标。如果都是地理坐标可以简单写成 **-fg** 。
- **-f**\[**i**|**o**\]**c** 等效于 **-f**\[**i**|**o**\]0:1**f**，
  表明输入/输出是笛卡尔坐标。如果都是笛卡尔坐标可以简单写成 **-fc** 。

例如，**-fi0y,1x,3:4T** 表明输入数据中第一列是纬度，第二列是经度，第4、5列是
绝对时间，其他列数据则假定是默认的浮点数类型。
