8.1 -R 选项

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

8.1.1 五种方式

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

  1. -R<xmin>/<xmax>/<ymin>/<ymax>

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

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

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

  3. -R<gridfile>

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

  4. -R<code1>,<code2>,...[+r|R[<incs>]]

    通过直接指定区域代码 <code1><code2> 等间接指定研究区域范围。

    区域代码可以表示某个大洲、某个国家、某个州或省,详情见 DCW: 世界数字图表 一节。

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

    1. <inc>:四个边具有相同的增量
    2. <xinc>/<yinc>:X和Y方向具有不同的增量
    3. <winc>/<einc>/<sinc>/<ninc>:上下左右四个边具有不同的增量

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

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

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

Source Code

../../_images/R-gmtplot-0.png

-R 选项指定数据范围

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

8.1.2 六种坐标

GMT的坐标轴可以是多种类型,比如地图的经纬度轴、一般的笛卡尔轴、时间轴等等。不同类型的轴需要用不同类型的数据来指定数据的范围。 -R 选项可以使用五种不同的方式来指定数据范围:

  1. 一般浮点坐标
  2. 地理坐标
  3. 绝对时间坐标
  4. 相对时间坐标
  5. 投影后坐标
  6. 弧度坐标

其中地理坐标、浮点坐标、绝对时间坐标和相对时间坐标在 数据类型 中已经介绍过,此处不再赘述。

地理坐标

对于常用的地图范围,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 的矩形区域。这些坐标在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\)