GSHHG: 全球高分辨率海岸线数据

../../_images/gshhg.jpg

GSHHG: 全球高分辨率海岸线数据

GSHHG数据主页http://www.soest.hawaii.edu/wessel/gshhg/

GSHHG,全称为 A Global Self-consistent, Hierarchical, High-resolution Geography Database。GMT提供的GSHHG数据中包含了海岸线、河流和国界等数据。

警告

GSHHG提供的中国国界数据不符合中国的领土主张,在正式刊物中发表使用此类国界数据的图件时都可能存在问题。

GMT的 coast 模块可以直接绘制GSHHG中的数据,也可以使用 coast-M 选项将数据导出为纯文本文件供其它程序使用。这一节将利用 coast 模块介绍GSHHG数据。关于 coast 模块的详细用法,见 coast 模块的说明文档。

数据分辨率

GSHHG提供了五种不同分辨率的数据,以满足不同的需求。五种分辨率从高到低分别为:

full > high > intermediate > low > crude

coast 模块的 -D 选项加上每种分辨率的单词首字母即可指定使用何种分辨率的数据。在绘制全球地图时,可以用 -Dc 指定使用最低分辨率的数据,以避免绘制了大量细节而导致绘图速度慢且文件太大;在绘制几度范围的小区域地图时,则可以使用 -Df 指定使用最高分辨率的数据。GMT现代模式下,默认使用 -Da 选项,a 表示 auto,即GMT会根据当前绘图区域的大小自动选择合适的数据分辨率。

下面的示例绘制了一个小区域的海岸线边界,可以看到 -D 取不同分辨率时边界精细程度的差异:

Source Code

../../_images/gshhg-gmtplot-0.png

数据内容

GSHHG数据中包含了海岸线数据、河流数据和国界数据。

海岸线

海岸线数据可以进一步细分为4个不同的等级:

  • 1: 陆地和海洋的分界线,即真正意义上的海岸线
  • 2: 陆地与湖泊的分界线
  • 3: 湖泊中的岛屿与湖泊的分界线
  • 4: 湖泊中的岛屿里的池塘与岛屿的分界线

coast 模块中有如下几个与海岸线相关的选项:

  • -W[level/]pen 绘制不同等级的海岸线
  • -Gfill 设置陆地、岛屿等陆区的填充色
  • -Sfill 设置海洋、湖泊等水区的填充色
  • -Cl/fill 设置湖泊的填充色
  • -Cr/fill 设置河流湖的填充色

河流

河流进一步可以细分为10个等级:

  • 0: Double-lined rivers (river-lakes).
  • 1: Permanent major rivers.
  • 2: Additional major rivers.
  • 3: Additional rivers.
  • 4: Minor rivers.
  • 5: Intermittent rivers - major.
  • 6: Intermittent rivers - additional.
  • 7: Intermittent rivers - minor.
  • 8: Major canals.
  • 9: Minor canals.
  • 10: Irrigation canals.

coast 模块的 -I 选项可以用于绘制不同等级的河流,其基本语法为 -Ilevel/pen。其中 level 除了可以取1至10之外,还可以取:

  • a: 所有河流和运河,即包含0-10等级的所有河流
  • A: 除了河流湖之外的所有河流和运河,即包含1-10等级的河流
  • r: 所有永久河流,即0-4等级
  • R: 除了河流湖之外的永久河流,即1-4等级
  • i: 所有间歇性河流,即5-7等级
  • c: 所有运河,即8-10等级

该选项可以重复多次使用,为不同等级的河流设置不同的画笔属性。

国界线

国界线进一步细分为三个等级

  • 1: 国界
  • 2: 美国州界
  • 3: 海洋边界

coast 模块的 -N 选项可以用于绘制不同等级的国界线,其基本语法为 -Nlevel/pen。其中 level 可以取1至3,也可以取 a (表示所有边界)。该选项可以重复多次使用,为不同等级的国界设置不同的画笔属性。

使用示例

绘制1级海岸线:

gmt coast -R-130/-70/24/52 -JL-100/35/33/45/15c -Ba -A1000 -W1/0.5p -png map
../../_images/gshhg-gmtplot-1.png

同时绘制1-3级海岸线,黑色的为1级海岸线,红色的为2级湖泊线(图中的大面积红色区域为五大湖),蓝色的为3级岛屿线(即五大湖内部的岛屿):

gmt coast -R-130/-70/24/52 -JL-100/35/33/45/15c -Ba -A1000 -W1/0.5p -W2/0.3p,red -W3/0.2p,blue -png map
../../_images/gshhg-gmtplot-2.png

绘制1-3级海岸线,并为陆地、还有、湖泊填充不同的颜色:

gmt coast -R-130/-70/24/52 -JL-100/35/33/45/15c -Ba -A1000 -W1/0.5p -W2/0.3p,red -W3/0.2p,blue \
     -Gtan -Slightblue -Cl/royalblue -png map
../../_images/gshhg-gmtplot-3.png

绘制海岸线、国界和美国州界:

gmt coast -R-130/-70/24/52 -JL-100/35/33/45/15c -Ba -Dh -A1000 -W1/0.5p -N1/thick,red -N2/thinner \
    -Gtan -Slightblue -Cl/royalblue -png map
../../_images/gshhg-gmtplot-4.png