✍️ 田冬冬 , 姚家园 , 朱邓达 , 陈箫翰 , 何星辰 • 📅 2026-01-08

# -R 选项

-R 选项用于指定要绘制的数据范围或地图区域。该选项的参数可以用多种方式指定， 同时支持六种不同类型的数据坐标。

## -R 选项的多种方式

可以用以下多种方式指定数据范围。

### 通用方式

1. -R xmin/xmax/ymin/ymax

   通过给定 X 方向和 Y 方向的最大最小值来指定数据范围。这是最常用的方式，适用于笛卡尔坐标系以及经纬线为直线的地图投影。 例如 -R0/360/-90/90。

2. -R xlleft/ylleft/xuright/yuright+r

   通过给定矩形区域的左下角坐标 (xlleft, ylleft) 和右上角坐标 (xuright, yuright) 来指定数据范围。 该方式适用于笛卡尔坐标系，以及由于地图投影导致经纬线不是直线的地理区域。使用这种形式可以保证输出的区域是矩形。

3. -R gridfile

   直接从 2D 网格文件 gridfile 中提取范围信息。 对于某些模块，该方式不仅会从网格中读取范围信息， 还会读入网格间隔和网格配准信息（见 -r 选项）。

4. -Ra[uto] 或 -Re[xact]

   在现代模式下，绘图模块可以根据输入数据自动确定区域。 -Re（默认值）指定确切的数据范围，-Ra 则会稍微向外扩展到合适的增量倍数。

5. -R anchor x0/y0/nx/ny

   常用于创建网格。由参考点 anchor（见 锚点）、其坐标 x0/y0、点数 nx/ny 以及网格间隔（通常由 -I 指定）共同决定范围。

### 地理/地图专用方式

6. -Rg 或 -Rd

   指定全球范围。-Rg 表示 0/360/-90/90，-Rd 表示 -180/180/-90/90。

7. -R xmin/xmax/ymin/ymax\ +u unit

   在投影后的单位（如 UTM 米）下指定区域。xmin/xmax/ymin/ymax 为投影坐标， unit 为距离单位（见 单位）。GMT 会根据 -J 选项 设定的投影方式反算出地理范围。 对于中心为 (0,0) 的区域，可简写为 -R halfwidth[/halfheight]+u unit。

8. -R code1,code2,…[+e|r|R[incs]]

   通过国家或地区代码（如 `CN`、`US.TX`）间接指定区域，详情见 DCW: 世界数字图表 一节。 可用 +e|r|R 修饰符对范围进行扩展或取整。

`Source Code`

-R 选项指定数据范围。

(左) 指定每个维度的极值；(右) 指定左下角和右上角的坐标。

## 支持六种坐标

GMT 支持绘制多种类型的坐标轴，如地理坐标轴（即经纬度轴）、时间轴（绝对时间轴和相对时间轴） 以及笛卡尔轴等，具体请参考 -B 选项。不同的坐标轴需要的数据类型也不同，主要分为以下四大类：

1. 地理坐标

2. 绝对时间坐标

3. 相对时间坐标

4. 一般浮点坐标

以上四种数据类型都可以用在 -R 选项中，用来指定数据范围。 数据类型中已经详细介绍过这四种数据类型，本节不再赘述， 但会简要介绍 -R 选项中指定地理坐标数据范围的一些特殊方式。

除了以上四种方式，-R 选项还支持使用以下两种方式来指定数据范围：

1. 投影后坐标

2. 弧度坐标

### 地理坐标

对于常用的地图范围，GMT 提供了两个简化写法：

- -Rg 等效于 -R0/360/-90/90

- -Rd 等效于 -R-180/180/-90/90

GMT 对于地理投影和线性投影的默认设置有很大区别。有些时候数据是地理坐标， 但是因为某些原因不能选择地理投影，只能选择线性投影（-JX 或 -Jx）， 此时可以通过如下几种方式表明当前数据是地理坐标下的数据，而不是简单的笛卡尔坐标：

1. 使用 -Rg 而不是 0/360/-90/90

2. 使用 -Rd 而不是 -180/180/-90/90

3. 使用 -Rg xmin/xmax/ymin/ymax 表明是某个有限范围的地理区域

4. 在范围后加后缀 W|E|S|N 或更通用的 D|G，如 -R0/360G/-90/90N

5. 使用 -fg 选项表明输入数据是地理坐标，见 -f 选项

备注

推荐使用 -fg 这种方式来指定输入数据的类型。

### 投影后坐标

地理坐标可以通过选择投影方式投影成笛卡尔坐标，通过在区域范围后加上 +u unit 来表明这是一个经过投影的地理坐标。

例如 -R-200/200/-300/300+uk 表示位于投影中心 (0,0) 处的一个 400km x 600km 的矩形区域，也可简写为 -R200/300+uk。 这些坐标在GMT内部会被转换成区域左下角和右上角的地理坐标。 当你想要用投影单位指定区域时用这种方式会比较方便（例如UTM meters）。

### 弧度坐标

对于以弧度为单位的数据而言，通常会需要指定数据范围是 \(\pi\) 的倍数或分数， 此时可以使用 [+|-][s]pi[f] 形式， 其中 s 和 f 可以是任意整数或浮点数， s 表示 scale 即倍数，f 表示 fraction 即分数。

例如 -2pi/2pi3/0/1 表示X轴的数据范围是 \(-2\pi\) 到 \(2/3\pi\)， 即相当于-360度到120度。

当使用这种形式时，程序只在 \(\pi\) 相关的值处进行标注，即 n 倍的 \(\pi\)， \(1.5\pi\) 以及 3/4，2/3，1/2，1/3，1/4倍的 \(\pi\)。