earth_mask: 地球掩膜数据

Source Code

../../_images/earth-mask-gmtplot-0.png

地球掩膜数据

数据介绍

地球掩膜数据指明了地表的水陆地理特征。该网格数据的Z值只有5个值。这5个值从0到4依次指代海洋(ocean)、陆地(land)、湖泊(lake)、湖中岛(island-in-lake)和岛中湖(pond-in-island-in-lake)。

该数据的主要作用是对网格数据进行掩膜操作,以孤立出仅位于陆地或海洋的数据。该掩膜数据可以用 grdlandmask 模块生成,但对于高分辨率、全精度 GSHHG数据而言,这一过程通常非常耗时。因而GMT官方提供了计算好的掩膜数据供用户使用。该数据也分不同的分辨率,从15弧秒到1弧度不等。

下表列出了GMT提供的地球掩膜数据 earth_mask 的代码、配准方式、分辨率以及文件大小。

代码

配准方式

分辨率

大小

01d

g,p

1 弧度

20 KB

30m

g,p

30 弧分

24 KB

20m

g,p

20 弧分

30 KB

15m

g,p

15 弧分

35 KB

10m

g,p

10 弧分

57 KB

06m

g,p

6 弧分

106 KB

05m

g,p

5 弧分

117 KB

04m

g,p

4 弧分

149 KB

03m

g,p

3 弧分

209 KB

02m

g,p

2 弧分

393 KB

01m

g,p

1 弧分

998 KB

30s

g,p

30 弧秒

2.6 MB

15s

g,p

15 弧秒

7.5 MB

  • 代码中 dms 表示弧度、弧分和弧秒

  • 配准方式中 gp 分别表示网格线配准和像素配准

使用方法

当需要使用地球掩膜数据时,可以通过 @earth_mask_rru[_reg] 的形式调用。其中 rru 是网格文件的分辨率代码(上表第一列),reg 是要使用的配准方式代码(上表第二列)。配准方式代码是可选的,若不指定,则默认返回像素配准的网格数据。如果命令中使用了 -R 选项,则只会读取该区域内的掩膜数据。

查看30弧分的地球掩膜数据的信息:

gmt grdinfo @earth_mask_30m

如果用户希望仅仅获得海洋或者水陆的掩膜,需要使用 grdmath 模块对掩膜数据进行调整。下面给出一些例子。

利用 grdmath 将掩膜数据 earth_mask_01m_g 中大于(GT)0 的为 1, 其余为 0。这就意味着海洋部分改为0,其余均为1:

gmt grdmath @earth_mask_01m_g 0 GT = ocean_land.grd

生成一个像素配准的掩膜数据,其陆地上为NaN,海洋中为1,可以用:

gmt grdmath @earth_mask_01m_p 0 LE 0 NAN = land_NaN.grd

生成一个像素配准的掩膜数据,其湖泊中值为1,其余地方均为NaN:

gmt grdmath @earth_mask_01m 2 EQ 0 NAN = lakes_and_NaN.grd

技术细节

  • 数据会自动下载并保存到 ~/.gmt/server/earth/earth_mask 目录下