-R 选项

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

五种方式

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

  1. -Rxmin/xmax/ymin/ymax

    通过给定X方向和Y方向的最大最小值来指定数据范围,是最常见的指定数据范围的方式。常用于指定笛卡尔数据的范围以及经线和纬线是直线的投影方式下的地理区域。例如 -R0/360/-90/90 表示X方向范围是0到360,Y方向范围是-90到90。

  2. -Rxlleft/ylleft/xuright/yuright+r

    通过给定矩形区域的左下角坐标 (xlleft, ylleft) 和右上角坐标 (xuright, yuright) 来指定数据范围。例如 -R-90/20/-65/30+r。这种形式通常用于倾斜的地图投影中,此时不适合将经线和纬线作为地图边界。使用这种形式可以保证底图为矩形,尽管经线和纬线可能不是直线。

  3. -Rgridfile

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

  4. -Rcode1,code2,[+e|r|R[incs]]

    通过直接指定区域代码 code1code2 等间接指定研究区域范围。区域代码可以表示某个大洲、某个国家、某个州或省,详情见 DCW: 世界数字图表 一节。

    +e|+r|+Rincs 用于对通过区域代码得到的研究区域范围进一步扩张或缩减。其中 +r 表示调整区域范围使得范围是 incs 的整数倍, +e+r 类似,但其保证了至少向外扩展0.25倍的 incs+R 表示 incs 被解释为区域范围向外扩展的增量。其中 incs 有三种形式:

    1. inc:四个边具有相同的增量

    2. xinc/yinc:X和Y方向具有不同的增量

    3. winc/einc/sinc/ninc:上下左右四个边具有不同的增量

    例如 -RFR+r1 表示取法国国界对应的区域范围并将其调整到最近的整数度数。

  5. -Ranchorx0/y0/nx/ny

    该方法仅可用于创建新的网格文件。通过指定网格文件中某个特定点(由 anchor 决定,见 锚点 一节)的坐标(由 x0/y0 决定),X和Y方向的网格点数(由 nx/ny 决定),以及X和Y方向的网格间隔(通常由 -Ixinc/yinc 选项决定),即可指定网格文件的区域范围。

Source Code

../../_images/5012b6db983413eec9c8ebfa9fbb6958.png

-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. 使用 -Rgxmin/xmax/ymin/ymax 表明是某个有限范围的地理区域

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

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

备注

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

投影后坐标

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

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

弧度坐标

对于以弧度为单位的数据而言,通常会需要指定数据范围是 \(\pi\) 的倍数或分数,此时可以使用 [+|-][s]pi[f] 形式,其中 sf 可以是任意整数或浮点数, 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\)