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<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. 投影后坐标

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

地理坐标

对于常用的地图范围,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)。